メモ2
Jenkins†
Jenkins内での環境変数の設定方法†
Make†
cppunit と Jenkins†
cppunit†
cppunit を Windows 7 + VS2012 にインストール†
- cppunit のtar.gz 版は2008年から更新されてないし、VS2005ぐらいを対象にしてるっぽいので、Win7+VS2012とかだと多少修正が必要
- SVN版では2013年12月1日に更新されていて、VS2010が対象に含められてるっぽい。¬e{cppunit-vs-2010-svn-confirmed:2014-08-20時点};
- ここでは、1.12.1 のtar.gzを対象に解説。
- 適当なディレクトリで電解
- examples/examples.dsw をVS2012で開く。適当にVS2012にアップグレード
- examples.slnに関連して、エラーが表示されたが、examples.slnのバックアップ生成に失敗しただけなので、レポート画面は閉じる
- この時点で、VCプロジェクトファイルで変換しくってる部分があるので、以下の2点を修正する。
- まずはソリューションを閉じる。
- srcディレクトリ以下に cppunit.vcxproj と cppunit_dll.vcxprojを修正
- cppunit.vcxprojでは下記を修正
- <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).lib</Command>
+ <Command>copy "$(TargetDir)$(MSBuildProjectName)d.lib" ..\..\lib\</Command>
- cppunit_dll.vcxprojでは下記を修正
- <Command>copy "$(TargetPath)" ..\..\lib\$(TargetName).dll
-copy "$(TargetDir)$(TargetName).lib" ..\..\lib\$(TargetName).lib</Command>
+ <Command>copy "$(TargetDir)cppunitd_dll.dll" ..\..\lib\
+copy "$(TargetDir)cppunitd_dll.lib" ..\..\lib\</Command>
- 上記の修正はそれぞれ、デバッグモードに置いて。
- ビルドできたlib や dll ファイルをlib ディレクトリにコピーしようとするのだが、
- デバッグ版のファイル名が cppunitd.lib cppunitd_dll.dll とdが含まれるので、それらを前述の用に修正する
- これで何とかビルド環境ができた。
- examples.slnを開き直す
- CppUnitTestMain プロジェクトを右クリックしてスタートアッププロジェクトに設定する
- バッチビルドで
- の4つにチェックを入れる。
- これでビルドされて、lib ディレクトリにファイルが6つできるはず。
- 参考サイト:Visual Studio C++でCppUnitをビルドできない、そんなとき | skmks¬e{when-you-fail-building-cppunit-using-vs-smks:Visual Studio C++でCppUnitをビルドできない、そんなとき | skmks, 2011-01-25発表, 2011-04-16更新, 2014-08-20閲覧};
cppunit の使い方(Windows 7)†
cppunit を Linux (Ubuntu 12.04)にインストール†
Jenkinsと連携させる(Windows)†
Jenkinsと連携させる(Ubuntu)†
- Jenkins に xunit プラグインをインストーする
- ビルドした際、xmlファイルを出力すると、そのxmlファイルをjenkins側で解析してくれる。
- 参考サイト:(xmlファイルで出力する方法)¬e{how-to-output-with-xml:skmk, CppUnitを使ってみる | skmks, 2010-09-07発表, 2014-08-20閲覧};
- 新規ジョブでフリースタイルプロジェクトを作成する
- Subversionでチェックアウトした後、ビルドするところまで設定する
- 再度「ビルド手順の追加」をクリックして、「Process xUnit test result report」をクリックする
- 出てきた画面から、cppunit を追加し、 CppUnit-1.12.1 (default) Pattern に、↑で設定したxmlフィアル名を指定する
- 参考サイト:Jenkinsとc++: furuyoshi¬e{how-to-relate-jenkins-and-cpp-furuyoshi:Jenkinsとc++: furuyoshi, 2012-07-08発表, 2014-08-20閲覧};
gcovr†
- Gcovr は、テストがどれぐらいカバーしてるか統計してくれるツール
- Jenkins で統計してくれる分と機能としては等価か?
Google Test†
Cppcheck†
Last-modified: 2015-01-13 (火) 15:37:38