Table of Contents
- Setup on Ubuntu
- Build and Execute
- Build and Execute, then Coverage
Setup on Ubuntu
CppUnitのセットアップ ~GUIからの方法
- CppUnitのインストール
- [Applications]->[Ubuntu Software Center]を選択
- Serch "CppUnit"
- 一覧から"Unit Testing LIbrary for C"で[Install]を選択
- Build環境設定
- Header Fileをgccのincludeパスが通っているフォルダへコピー
$ sudo cp -r headers /usr/local/include/CUnit
Note:
CUnitのライブラリ: /usr/lib/libcunit.so.1
Build and Execute
ソースコードのコンパイル
- コンパイル
$ gcc <source_code> <test_code> /usr/lib/libcunit.so.1
- CUnit実行
$ ./a.out
Note: CUnitの実行例
CUnit - A Unit testing framework for C - Version 2.1-0
http://cunit.sourceforge.net/
Suite: Suite_1
Test: suite1-test1 ... passed
Test: suite1-test2 ... passed
Suite: Suite_2
Test: suite2-test1 ... passed
--Run Summary: Type Total Ran Passed Failed
suites 2 2 n/a 0
tests 3 3 3 0
asserts 8 8 8 0
Build and Execute, then Coverage
ソースコードのコンパイル ~オプションを付けることでgcovによるcoverageがとれる
- コンパイル
$ gcc -ftest-coverage -fprofile-arcs <source_code> <test_code> /usr/lib/libcunit.so.1
- CUnit実行
$ ./a.out
- Coverageを取得
$ gcov <source_code>
Note: add.cファイルが<source_code>の場合の実行例
$ gcov add.c
File 'add.c'
Lines executed:100.00% of 2
add.c:creating 'add.c.gcov'
gcovの結果をhtmlで集計する場合
Note: カレントフォルダ配下のファイルのcoverageをとる場合の実行例
$ lcov -c -d . -o lcov-out-tmp.txt
$ lcov -r lcov-out-tmp.txt *.h -o lcov-out.txt
$ genhtml -o html lcov-out.txt
最終更新:2012年04月11日 00:18