Hi, I have some tests that need to be run as distinct commands, for example:
foo_test --crash test "$?" != "0" foo_test --recover Right now, I have shell scripts that do this, so I have something like add_test(foo_test run_foo_test.sh ${CMAKE_CFG_INTDIR}/foo_test) but this doesn't work with MemCheck. So I add add_test(foo_test_memcheck run_foo_test.sh ${CMAKE_CFG_INTDIR}/foo_test ${CMAKE_MEMORYCHECK_COMMAND} ${CMAKE_MEMORYCHECK_COMMAND_OPTIONS}) but now, if these tests run concurrently, the two concurrent invocations of foo_test may trample on each others' directories. One way to fix this is to give foo_test an option to specify the directory it will write into, but this is a large undertaking. There seems like there should be a better way. Is there another way to tell cmake that a test involves running multiple commands in succession as part of a single test? I see in http://stackoverflow.com/questions/3065220/ctest-with-multiple-commands that one suggestion is to have a cmake script (rather than my shell script) that gets invoked with add_test(NAME foo_test COMMAND ${CMAKE_COMMAND} -Dtestbin=$<TARGET_FILE:foo_test> -P run_foo_test.cmake) In this case, will the test be run with valgrind properly when run with -D ExperimentalMemCheck, or will valgrind just be run on the cmake binary? I expect the latter. -- Cheers, Leif -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake