Jenkins経由でQt GUIアプリケーションを構築しています。何らかの理由で、テストの実行ファイルを実行するためのシェルタスクについてgcovr Googleテストの実行後にJenkins Build Scriptが終了する
でカバレッジレポートをコンパイル、テスト実行
- :私は3つのビルド手順を追加しました実行後に停止します。簡単な
echo
さえ実行されません。テストはGoogle Testで書かれ、ビルド後に解析されるxUnit XMLファイルを出力します。 いくつかのテストではアプリケーションのユーザーインターフェイスが起動するため、jenkins xvncプラグインをインストールして実行させました。次のようにビルドタスクは以下のとおりです。
ビルド
cd $WORKSPACE/projectfiles/QMake sh createbin.sh
テスト
cd $WORKSPACE/bin ./Application --gtest_output=xml
カバレッジレポート
cd $WORKSPACE/projectfiles/QMake/out gcovr -x -o coverage.xml
ここでは、最初のビルドタスクの最後に
echo
が正しく表示されますが、2番目の末尾のecho
は正しく表示されません。したがって、Googleテストの出力は表示されますが、3番目のビルドタスクは実行されません。私はおそらく問題は、いくつかのGoogleテストが失敗するということだと思ったが、なぜテストが失敗したためにスクリプトが実行を停止するのか?誰かが2番目のタスクがなぜ停止するのかについてのヒントを教えてくれますか?
編集
コンソール出力は次のようになります。1つのビルドステップが失敗した場合
Updating svn://repo/ to revision '2012-11-15T06:43:15.228 -0800' At revision 2053 no change for svn://repo/ since the previous build Starting xvnc [VG5] $ vncserver :10 New 'ubuntu:10 (jenkins)' desktop is ubuntu:10 Starting applications specified in /var/lib/jenkins/.vnc/xstartup Log file is /var/lib/jenkins/.vnc/ubuntu:10.log [VG5] $ /bin/sh -xe /tmp/hudson7777833632767565513.sh + cd /var/lib/jenkins/workspace/projectfiles/QMake + sh createbin.sh ... Compiler output ... + echo Build Done Build Done [VG5] $ /bin/sh -xe /tmp/hudson4729703161621217344.sh + cd /var/lib/jenkins/workspace/VG5/bin + ./Application --gtest_output=xml Xlib: extension "XInputExtension" missing on display ":10". [==========] Running 29 tests from 8 test cases. ... Test output ... 3 FAILED TESTS Build step 'Execute shell' marked build as failure Terminating xvnc. $ vncserver -kill :10 Killing Xvnc4 process ID 1953 Recording test results Skipping Cobertura coverage report as build was not UNSTABLE or better ... Finished: FAILURE
素晴らしい答えです。私は実際には、それぞれの可能なコマンドがスクリプトを停止する可能性については考えていませんでした。ありがとうございました! – dasmaze
私はあなたに10回アップアップすることができます。これはたくさんのThks !!! – nolazybits
@zeflasher、あなたはいつも私に答えの恩恵を与えることができます;) – Slav