Table of Contents

젠킨스: Continuous Integration Tool


유닛 테스트 성공

http://donghee8.com:8080/job/ossi_blinky/3/console

성공했을때 콘솔창에 나오는 결과

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/ossi_blinky/workspace
[workspace] $ /bin/sh -xe /tmp/hudson8211951686732526962.sh
+ cd /home/donghee/work/embedded/ossi/spike
+ rake test:all
(in /home/donghee/Dropbox/work/embedded/ossi/spike)


Test 'test_light.c'
-------------------
Generating runner for test_light.c...
Compiling test_light_runner.c...
Compiling test_light.c...
Linking test_light.out...
Running test_light.out...

-------------------------
OVERALL UNIT TEST SUMMARY
-------------------------
TESTED:  4
PASSED:  4
FAILED:  0
IGNORED: 0

Finished: SUCCESS

유닛 테스트 실패

http://donghee8.com:8080/job/ossi_blinky/4/console

유닛 테스트 실패했을때 콘솔에 나오는 내용

Started by user anonymous
Building in workspace /var/lib/jenkins/jobs/ossi_blinky/workspace
[workspace] $ /bin/sh -xe /tmp/hudson1718203080667136732.sh
+ cd /home/donghee/work/embedded/ossi/spike
+ rake test:all
(in /home/donghee/Dropbox/work/embedded/ossi/spike)


Test 'test_light.c'
-------------------
Generating runner for test_light.c...
Compiling test_light_runner.c...
Compiling test_light.c...
Linking test_light.out...
Running test_light.out...

------------------------
FAILED UNIT TEST SUMMARY
------------------------
[test_light.c]
  Test: test_led_off_fail
  At line (39): "Expected 1 Was 0"

-------------------------
OVERALL UNIT TEST SUMMARY
-------------------------
TESTED:  4
PASSED:  3
FAILED:  1
IGNORED: 0

---------------------
BUILD FAILURE SUMMARY
---------------------
Unit test failures.

Build step 'Execute shell' marked build as failure
Finished: FAILURE

마지막 빌드 정보 가져오기

#!/usr/bin/python

import json
import sys
import urllib2

jenkinsUrl = "http://donghee8.com:8080/job/"
jobName = "ossi_blinky"

stream = urllib2.urlopen( jenkinsUrl + jobName + "/lastBuild/api/json" )

buildStatusJson = json.load(stream)

if buildStatusJson.has_key( "result" ):
    print "[" + jobName + "] build status: " + buildStatusJson["result"]
    if buildStatusJson["result"] != "SUCCESS" :
        # Build has problem. need to alert
        print 'Build failure'
    else:
        # Build Success.
        print 'Build success'

해보기

print 'Build faileure' 줄 아래에 시리얼포트를 이용하여 경광등을 켜는 명령을 추가해보자.