From b0bd9af3cdfc85b79d7388c7dd4883226e49d877 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Tue, 3 Sep 2013 03:16:56 +0000 Subject: [PATCH] Next try git-svn-id: https://svn.dealii.org/branches/branch_port_the_testsuite@30568 0785d39b-7218-0410-832d-ea1e28bc413d --- .../cmake/macros/macro_deal_ii_add_test.cmake | 69 ++++++++++--------- 1 file changed, 36 insertions(+), 33 deletions(-) diff --git a/deal.II/cmake/macros/macro_deal_ii_add_test.cmake b/deal.II/cmake/macros/macro_deal_ii_add_test.cmake index dfbed27215..4223836a40 100644 --- a/deal.II/cmake/macros/macro_deal_ii_add_test.cmake +++ b/deal.II/cmake/macros/macro_deal_ii_add_test.cmake @@ -79,47 +79,46 @@ MACRO(DEAL_II_ADD_TEST _category _test_name) ${DEAL_II_BASE_NAME}${DEAL_II_${_build}_SUFFIX} ) - ADD_CUSTOM_TARGET(${_full_test}.build - COMMAND ${CMAKE_COMMAND} -E echo "${_full_test}: BUILD successful -------------------" - DEPENDS ${_full_test} - ) + + # + # Determine correct file for comparison: + # + + SET(_comparison ${CMAKE_CURRENT_SOURCE_DIR}/${_test_name}) + IF(EXISTS ${_comparison}.${_build_lowercase}.output) + SET(_comparison ${_comparison}.${_build_lowercase}.output) + ELSE() + SET(_comparison ${_comparison}.output) + ENDIF() # - # Add a top level target to run the test... + # Add a top level target to run and compare the test: # + ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_test}/output + COMMAND + # A this stage a build is always successful: :-) + ${CMAKE_COMMAND} -E echo "${_full_test}: BUILD successful" COMMAND ${_full_test} - || (echo "Running the test failed with the following partial output:" + || (echo "${_full_test}: RUN failed. Output:" && cat output && rm output && exit 1) COMMAND - ${PERL_EXECUTABLE} -pi - ${CMAKE_SOURCE_DIR}/cmake/scripts/normalize.pl - ${CMAKE_CURRENT_BINARY_DIR}/${_test}/output - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${_test} - DEPENDS ${_full_test} ${CMAKE_SOURCE_DIR}/cmake/scripts/normalize.pl - ) - - ADD_CUSTOM_TARGET(${_full_test}.run - COMMAND ${CMAKE_COMMAND} -E echo "${_full_test}: RUN successful -------------------" - DEPENDS ${_full_test}.build - ${CMAKE_CURRENT_BINARY_DIR}/${_test}/output + ${PERL_EXECUTABLE} -pi + ${CMAKE_SOURCE_DIR}/cmake/scripts/normalize.pl + ${CMAKE_CURRENT_BINARY_DIR}/${_test}/output + COMMAND + ${CMAKE_COMMAND} -E echo "${_full_test}: RUN successful" + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${_test} + DEPENDS + ${_full_test} + ${CMAKE_SOURCE_DIR}/cmake/scripts/normalize.pl ) - - # - # and compare the output: - # - SET(_comparison ${CMAKE_CURRENT_SOURCE_DIR}/${_test_name}) - IF(EXISTS ${_comparison}.${_build_lowercase}.output) - SET(_comparison ${_comparison}.${_build_lowercase}.output) - ELSE() - SET(_comparison ${_comparison}.output) - ENDIF() - ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_test}/diff COMMAND ${TEST_DIFF} @@ -128,22 +127,26 @@ MACRO(DEAL_II_ADD_TEST _category _test_name) > ${CMAKE_CURRENT_BINARY_DIR}/${_test}/diff || (mv ${CMAKE_CURRENT_BINARY_DIR}/${_test}/diff ${CMAKE_CURRENT_BINARY_DIR}/${_test}/failing_diff - && echo ${CMAKE_CURRENT_BINARY_DIR}/${_test}/failing_diff + && echo "${_full_test}: DIFF failed. Output:" + && cat ${CMAKE_CURRENT_BINARY_DIR}/${_test}/failing_diff && exit 1) + COMMAND + ${CMAKE_COMMAND} -E echo "${_full_test}: DIFF successful" + WORKING_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${_test} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_test}/output ${_comparison} ) + ADD_CUSTOM_TARGET(${_full_test}.diff - COMMAND ${CMAKE_COMMAND} -E echo "${_full_test}: DIFF successful -------------------" - DEPENDS ${_full_test}.run - ${CMAKE_CURRENT_BINARY_DIR}/${_test}/diff + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_test}/diff ) - # # And finally add the test: # + ADD_TEST(NAME ${_category}/${_test} COMMAND ${CMAKE_COMMAND} -DTEST=${_full_test} -- 2.39.5