10

CMake に C++ プロジェクトがあり、単体テスト (GoogleTest を使用) と統合テスト (アプリケーションの実行と正規表現を使用した結果のチェックなど) を実装しました。

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 ExperimentalMemCheck、ここでは、必要のないダッシュボード構成に関連していると思われるctest -T memcheckエラーが発生します。Cannot find file DartConfiguration.tcl

4

1 に答える 1

4

OK私は可能な解決策を見つけました。これらの行を my に追加しますCMakeLists.txt:

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

必要なものを生成してDartConfiguration.tclから、次を再呼び出しします。

ctest -T memcheck

すべてのテストを実行し、メモリ エラーもチェックします。

于 2013-10-23T12:56:42.800 に答える