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.
This commit is contained in:
Bill Hoffman 2012-05-02 10:45:06 -04:00
parent f5c5db0753
commit 62f6bce7a5
2 changed files with 24 additions and 8 deletions

View File

@ -1719,10 +1719,14 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
"${CMake_BINARY_DIR}/Testing/MumpsCoverage/gtm_coverage.mcov") "${CMake_BINARY_DIR}/Testing/MumpsCoverage/gtm_coverage.mcov")
file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA" file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA"
DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCoverage") DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCoverage")
add_test(NAME CTestGTMCoverage set(_MUMPS_TEST_DIR MumpsCoverage)
WORKING_DIRECTORY "${CMake_BINARY_DIR}/Testing/MumpsCoverage" configure_file(
COMMAND "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/RunTest.ctest.in"
${CMAKE_CTEST_COMMAND} -T Coverage --debug) "${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 set_tests_properties(CTestGTMCoverage PROPERTIES
PASS_REGULAR_EXPRESSION PASS_REGULAR_EXPRESSION
"Process file.*XINDEX.m.*Total LOC:.*127.*Percentage Coverage: 85.83.*") "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") "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage/cache_coverage.cmcov")
file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA" file(COPY "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/VistA-FOIA"
DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage") DESTINATION "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage")
add_test(NAME CTestCacheCoverage set(_MUMPS_TEST_DIR MumpsCacheCoverage)
WORKING_DIRECTORY "${CMake_BINARY_DIR}/Testing/MumpsCacheCoverage" configure_file(
COMMAND "${CMake_SOURCE_DIR}/Tests/MumpsCoverage/RunTest.ctest.in"
${CMAKE_CTEST_COMMAND} -T Coverage --debug) "${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 set_tests_properties(CTestCacheCoverage PROPERTIES
PASS_REGULAR_EXPRESSION PASS_REGULAR_EXPRESSION
"Process file.*XINDEX.m.*Total LOC:.*125.*Percentage Coverage: 85.60.*") "Process file.*XINDEX.m.*Total LOC:.*125.*Percentage Coverage: 85.60.*")

View File

@ -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()