2013-10-23 10 views
8

CMakeにC++プロジェクトがあり、ユニットテスト(GoogleTestを使用)と統合テスト(アプリケーションの実行とregexpを使った結果の確認など)を実装しました。C++アプリケーションにメモリエラーがないことをCMakeを使ってテストするには?

add_test(NAME MyAppIntegration.testRefitRunMse COMMAND my_application "--refit=true") 
set_tests_properties(MyAppIntegration.testRefitRunMse PROPERTIES PASS_REGULAR_EXPRESSION "mse\\=1\\.53611e\\-05") 

私は上記と同じことをやっていますが、メモリエラーを検出するためにアプリケーションを実行します。単に./my_applicationを実行し、valgrindでメモリエラーをチェックしてください。どうやってやるの?私はctest -D ExperimentalMemCheckctest -T memcheckを認識していますが、ここではエラーCannot find file DartConfiguration.tclがあります。これは私が必要としないDashboard設定に関連しているようです。

答えて

4

OK可能な解決策が見つかりました。私CMakeLists.txtにこれらの行を追加:

ctest -T memcheck 

実行すべてのテストは、メモリエラーのチェック:

## valgrind 
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) 
INCLUDE(Dart) 

することは必要DartConfiguration.tclどんなものがあり、再度呼び出しを生成します。

関連する問題