如何使用CMake测试一个C++;应用程序没有内存错误? CMake中有一个C++项目,我已经实现了单元测试(使用GoogleTest)以及集成测试,即执行应用程序并使用ReGEXP检查结果(例如)。 add_test(NAME MyAppIntegration.testRefitRunMse COMMAND my_application "--refit=true") set_tests_properties(MyAppIntegration.testRefitRunMse PROPERTIES PASS_REGULAR_EXPRESSION "mse\\=1\\.53611e\\-05")
现在,我想执行与上面相同的操作,但运行应用程序以检测内存错误,例如,只需运行如何使用CMake测试一个C++;应用程序没有内存错误? CMake中有一个C++项目,我已经实现了单元测试(使用GoogleTest)以及集成测试,即执行应用程序并使用ReGEXP检查结果(例如)。 add_test(NAME MyAppIntegration.testRefitRunMse COMMAND my_application "--refit=true") set_tests_properties(MyAppIntegration.testRefitRunMse PROPERTIES PASS_REGULAR_EXPRESSION "mse\\=1\\.53611e\\-05"),c++,cmake,ctest,C++,Cmake,Ctest,现在,我想执行与上面相同的操作,但运行应用程序以检测内存错误,例如,只需运行/my_应用程序,然后使用valgrind检查内存错误。我该怎么做?请注意,我知道ctest-D ExperimentalMemCheck和ctest-T memcheck,但在这里我遇到了一个错误找不到文件DartConfiguration.tcl,它似乎与我不需要的仪表板配置有关。好,我找到了一个可能的解决方案。将这些行添加到myCMakeLists.txt: ## valgrind find_program(CTE
/my_应用程序
,然后使用valgrind检查内存错误。我该怎么做?请注意,我知道ctest-D ExperimentalMemCheck
和ctest-T memcheck
,但在这里我遇到了一个错误找不到文件DartConfiguration.tcl
,它似乎与我不需要的仪表板配置有关。好,我找到了一个可能的解决方案。将这些行添加到myCMakeLists.txt
:
## valgrind
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
INCLUDE(Dart)
生成所需的DartConfiguration.tcl
,然后重新调用:
ctest -T memcheck
运行所有测试并检查内存错误