[WORK] Unit Test on debugger

Checkは、testをfork()して生成したchild processで実行します。
なので、SEGV*1が起きた場合は、それを報告してくれます。
他のtestを続けて実行することも可能で便利です。

ただし、child processを生成しまくるprogramはdebugが大変です。
その場合は、以下のAPIでfstatにCK_NOFORKを設定するとfork()なしで動作してくれます。

void srunner_set_fork_status (SRunner *sr, enum fork_status fstat);

こちらの内容 http://gdit.iiit.net/SoftEngg/Check/tutorial-4.html だと、
環境変数でも制御できるらしいのですが、こちらはうまく動作してくれませんでした。


*1 Segmentation Fault

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   Amazon.co.jp
Last-modified: Sat, 21 May 2005 09:57:51 JST (7623d)