Valgrind 在 KDevelop 中使用 CTest 更改工作目录
Valgrind changes working directory with CTest in KDevelop
我正在使用 Ctest 开始对 Helgrind 进行测试:
find_program(VALGRIND_EXECUTABLE valgrind)
message(STATUS "Valgrind in ${VALGRIND_EXECUTABLE}")
configure_file(project.supp project.supp)
set(BOOST_TEST_ARGS --catch_system_errors=no)
set(VALGRIND_HELGRIND_OPTIONS --tool=helgrind --suppressions=${CMAKE_CURRENT_BINARY_DIR}/project.supp --xml=yes --read-var-info=yes)
add_test(NAME TestHelgrind COMMAND ${VALGRIND_EXECUTABLE} ${VALGRIND_HELGRIND_OPTIONS} --xml-file=${CMAKE_CURRENT_BINARY_DIR}/test.xml ${CMAKE_CURRENT_BINARY_DIR}/test ${BOOST_TEST_ARGS})
然而测试中的工作目录似乎是/usr/bin。
即使指定:
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
我猜这应该是默认值。
例如,如果我使用 memcheck,它会起作用。
测试从KDevelop启动。
好像是KDevelop的问题。 运行 来自控制台的测试没有更改工作目录。
我正在使用 Ctest 开始对 Helgrind 进行测试:
find_program(VALGRIND_EXECUTABLE valgrind)
message(STATUS "Valgrind in ${VALGRIND_EXECUTABLE}")
configure_file(project.supp project.supp)
set(BOOST_TEST_ARGS --catch_system_errors=no)
set(VALGRIND_HELGRIND_OPTIONS --tool=helgrind --suppressions=${CMAKE_CURRENT_BINARY_DIR}/project.supp --xml=yes --read-var-info=yes)
add_test(NAME TestHelgrind COMMAND ${VALGRIND_EXECUTABLE} ${VALGRIND_HELGRIND_OPTIONS} --xml-file=${CMAKE_CURRENT_BINARY_DIR}/test.xml ${CMAKE_CURRENT_BINARY_DIR}/test ${BOOST_TEST_ARGS})
然而测试中的工作目录似乎是/usr/bin。 即使指定:
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
我猜这应该是默认值。 例如,如果我使用 memcheck,它会起作用。
测试从KDevelop启动。
好像是KDevelop的问题。 运行 来自控制台的测试没有更改工作目录。