[cig-commits] commit by bangerth to /var/svn/dealii/aspect

dealii.demon at gmail.com dealii.demon at gmail.com
Thu Aug 22 17:45:37 PDT 2013


Revision 1851

Finish conversion. This seems to work.

U   trunk/aspect/tests/CMakeLists.txt
A   trunk/aspect/tests/run_test.cmake


http://www.dealii.org/websvn/revision.php?repname=Aspect+Repository&path=%2F&rev=1851&peg=1851

Diff:
Modified: trunk/aspect/tests/CMakeLists.txt
===================================================================
--- trunk/aspect/tests/CMakeLists.txt	2013-08-23 00:26:12 UTC (rev 1850)
+++ trunk/aspect/tests/CMakeLists.txt	2013-08-23 00:44:36 UTC (rev 1851)
@@ -15,7 +15,7 @@
 SET_IF_EMPTY(DEAL_II_DIFF "numdiff -a 1e-6 -q -s \" \t\n:\"")
 
 
-FILE(GLOB _tests plugin.prm)
+FILE(GLOB _tests *.prm)
 FOREACH(_test ${_tests})
   GET_FILENAME_COMPONENT(_test ${_test} NAME_WE) 
 
@@ -52,7 +52,6 @@
   FILE(GLOB _outputs ${CMAKE_CURRENT_SOURCE_DIR}/${_test}/*)
   FOREACH(_output ${_outputs})
     GET_FILENAME_COMPONENT(_output ${_output} NAME_WE) 
-    MESSAGE("***** Adding output-${_test}/${_output}")
 
     # create the output.notime target
     ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.notime
@@ -66,9 +65,15 @@
     # create the target that compares the .notime with the saved file
     ADD_CUSTOM_COMMAND(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.diff
       COMMAND
-	diff ${CMAKE_CURRENT_SOURCE_DIR}/${_test}/${_output}
+	if (diff ${CMAKE_CURRENT_SOURCE_DIR}/${_test}/${_output}
               ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.notime
-            > ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.diff
+            > ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.diff) \; then
+          : \;
+        else
+	  mv ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.diff
+             ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.diff.failed \;
+	  false \;
+        fi
       DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_test}/${_output}
               ${CMAKE_CURRENT_BINARY_DIR}/output-${_test}/${_output}.notime
     )
@@ -82,6 +87,16 @@
   ENDFOREACH()
 
   # add this test to the dependencies of the overall 'tests' target
+  # and declare it to ctest
   ADD_DEPENDENCIES(tests tests.${_test})
+  ADD_TEST(NAME ${_test}
+    COMMAND
+       ${CMAKE_COMMAND}
+	  -DBINARY_DIR=${CMAKE_BINARY_DIR}
+          -DTESTNAME=tests.${_test}
+          -DERROR="Test ${_test} failed"
+          -P ${CMAKE_SOURCE_DIR}/tests/run_test.cmake
+        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    )
 ENDFOREACH()
 

Added: trunk/aspect/tests/run_test.cmake
===================================================================
--- trunk/aspect/tests/run_test.cmake	                        (rev 0)
+++ trunk/aspect/tests/run_test.cmake	2013-08-23 00:44:36 UTC (rev 1851)
@@ -0,0 +1,15 @@
+EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND}
+    --build ${BINARY_DIR} --target ${TESTNAME}
+    RESULT_VARIABLE _result_code
+    OUTPUT_VARIABLE _output
+    )
+
+IF("${_result_code}" STREQUAL "0")
+    MESSAGE("${TESTNAME}: success.")
+
+ELSE()
+
+    MESSAGE("*** ${ERROR}: ***")
+    MESSAGE(${_output})
+    MESSAGE(FATAL_ERROR "*** Test aborted.")
+ENDIF()


More information about the CIG-COMMITS mailing list