こんにちは
ソフトな道をほのぼのと今日も歩きます。
linux アプリを作る上でテストをどうしていこうかと考えてみました。
そのメモ書きになります。
[結論]
testディレクトリを作成する。
“#define TEST”をhファイルに作る。
test処理、呼び出し処理を”#ifdef TEST”でくくる。
[環境]
私の使用環境は VMware 上でUbuntu14.04を使用して、
ビルド環境は gcc(arm-linux-gnueabihf-gcc)です。
アプリのディレクトリ構成は、アプリトップディレクトリの直下に下記のディレクトリがある構成です。
bios(cソース格納用)、include(hファイル格納用)、lib(ライブラリファイル格納用)
まず、ここにtestディレクトリを作りました。
このtestディレクトリ内に”test_main.c”を追加しました。
次にincludeディレクトリにtest.hを追加します。
biosディレクトリにあるmain.cに呼び出し元を追加します。
makeファイルをごりごり変えてビルドを通るようにしました。
例えば以下のようなソースを作りました。
<div style="padding: 10px; margin-bottom: 10px; border: 1px dotted #333333;">
-------------------------------------------------
[main.c]
void main(void)
{
・・・
#ifdef TEST
TEST_main();
#endif
・・・
}
[test.h]
#define TEST
void TEST_main(void);
[test.c]
#ifdef TEST
void TEST_main(void)
{
TEST_test();
}
#endif
--------------------------------------------------
</div>
こうしておけば、#define TESTをコメントアウトするだけで、
テストコード全体がビルドされなくなり、
テストしたい時だけ復活させることができるので、
容量的にもこの方法で試していこうと思います。
他に良い方法あったら教えてくれませんか。