From 62f6bce7a543a38965bfc2596afcd559e9fb7ee9 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Wed, 2 May 2012 10:45:06 -0400 Subject: Use a script to run the test because WORKING_DIRECTORY is not in 2.8.2. add_test with WORKING_DIRECTORY is too new to use in cmake. This change uses a configured script to run the command in the right directory. --- Tests/CMakeLists.txt | 24 ++++++++++++++++-------- Tests/MumpsCoverage/RunTest.ctest.in | 8 ++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 Tests/MumpsCoverage/RunTest.ctest.in diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 2cab695..fbcd97e 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1719,10 +1719,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ "${CMake_BINARY_DIR}/Testing/MumpsCoverage/gtm_coverage.mcov") file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA" DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCoverage") - add_test(NAME CTestGTMCoverage - WORKING_DIRECTORY "${CMake_BINARY_DIR}/Testing/MumpsCoverage" - COMMAND - ${CMAKE_CTEST_COMMAND} -T Coverage --debug) + set(_MUMPS_TEST_DIR MumpsCoverage) + configure_file( + "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/RunTest.ctest.in" + "${CMake_BINARY_DIR}/Testing/MumpsCoverage/RunTest.ctest" + @ONLY) + add_test(CTestGTMCoverage + ${CMAKE_CTEST_COMMAND} + -S ${CMake_BINARY_DIR}/Testing/MumpsCoverage/RunTest.ctest) set_tests_properties(CTestGTMCoverage PROPERTIES PASS_REGULAR_EXPRESSION "Process file.*XINDEX.m.*Total LOC:.*127.*Percentage Coverage: 85.83.*") @@ -1735,10 +1739,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/ "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage/cache_coverage.cmcov") file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA" DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage") - add_test(NAME CTestCacheCoverage - WORKING_DIRECTORY "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage" - COMMAND - ${CMAKE_CTEST_COMMAND} -T Coverage --debug) + set(_MUMPS_TEST_DIR MumpsCacheCoverage) + configure_file( + "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/RunTest.ctest.in" + "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage/RunTest.ctest" + @ONLY) + add_test(CTestCacheCoverage + ${CMAKE_CTEST_COMMAND} + -S ${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage/RunTest.ctest) set_tests_properties(CTestCacheCoverage PROPERTIES PASS_REGULAR_EXPRESSION "Process file.*XINDEX.m.*Total LOC:.*125.*Percentage Coverage: 85.60.*") diff --git a/Tests/MumpsCoverage/RunTest.ctest.in b/Tests/MumpsCoverage/RunTest.ctest.in new file mode 100644 index 0000000..3f9022a --- /dev/null +++ b/Tests/MumpsCoverage/RunTest.ctest.in @@ -0,0 +1,8 @@ +execute_process(COMMAND "@CMAKE_CTEST_COMMAND@" -T Coverage --debug + WORKING_DIRECTORY "@CMake_BINARY_DIR@/Testing/@_MUMPS_TEST_DIR@" + RESULT_VARIABLE RES) +if(${RES} EQUAL 0) + message("Test passed") +else() + message(FATAL_ERROR "Error code running ctest=${RES}") +endif() -- cgit v0.12