Boost UTF グローバル フィクスチャで実行中のサーバー プロセスを確認しようとしています。私はこのように私のフィクスチャコンストラクタでシステムへの呼び出しでこれをやっています...
class MyTestFixture
{
public:
MyTestFixture();
~MyTestFixture() ;
};
MyTestFixture::MyTestFixture()
{
int rc = system("pidof myserver > /dev/null");
if ( rc != 0 )
{
cout << "myserver not running so cannot continue" << endl;
fflush (stdout) ;
sleep(10);
exit(4) ;
}
cout << "fixture setup ok!" << endl ;
}
BOOST_GLOBAL_FIXTURE( MyTestFixture );
BOOST_AUTO_TEST_CASE( pgmiia_main_test1 )
{
// some test code...
}
「myserver」が正常に実行されている場合はすべて問題ありませんが、そうでない場合はクラッシュします。ifセクションに入って終了しません。奇妙なことに、myserver が実行されていない状態で gdb で実行すると、期待どおりに出口ブランチに入ります。
私はBoost UTFに少し慣れていません。私はダイナミックリンクでこれをやっています。何か案は?
ジョン