From 7cc8b93fd6f3af768225cc07a2a8ee8cdb3bc64a Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Sat, 26 Oct 2013 13:49:05 +0000 Subject: [PATCH] Testsuite: And finally get it right. git-svn-id: https://svn.dealii.org/trunk@31444 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/cmake/setup_custom_targets.cmake | 1 + deal.II/cmake/setup_testsuite.cmake | 4 ++-- deal.II/doc/developers/testsuite.html | 10 ++-------- deal.II/tests/CMakeLists.txt | 12 ++++++++++++ 4 files changed, 17 insertions(+), 10 deletions(-) diff --git a/deal.II/cmake/setup_custom_targets.cmake b/deal.II/cmake/setup_custom_targets.cmake index 65399c645b..02e242c08d 100644 --- a/deal.II/cmake/setup_custom_targets.cmake +++ b/deal.II/cmake/setup_custom_targets.cmake @@ -89,6 +89,7 @@ FILE(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/print_info.cmake # test - runs a minimal set of tests # # setup_tests - sets up the testsuite subprojects +# regen_tests - rerun configure stage in every testsuite subprojects # clean_tests - runs the 'clean' target in every testsuite subproject # prune_tests - removes all testsuite subprojects # diff --git a/deal.II/cmake/setup_testsuite.cmake b/deal.II/cmake/setup_testsuite.cmake index baa864f49f..5aa5eb2718 100644 --- a/deal.II/cmake/setup_testsuite.cmake +++ b/deal.II/cmake/setup_testsuite.cmake @@ -53,8 +53,8 @@ FOREACH(_var TEST_PICKUP_REGEX TEST_OVERRIDE_LOCATION ) - IF(NOT "$ENV{${_var}}" STREQUAL "") - # Environment always wins: + # Environment wins: + IF(DEFINED ENV{${_var}}) SET(${_var} $ENV{${_var}}) ENDIF() IF(NOT "${_var}" STREQUAL "") diff --git a/deal.II/doc/developers/testsuite.html b/deal.II/doc/developers/testsuite.html index fc2e429c10..d6307a695c 100644 --- a/deal.II/doc/developers/testsuite.html +++ b/deal.II/doc/developers/testsuite.html @@ -156,6 +156,8 @@ Setup can be fine-tuned using the following commands:
 
+    $ make regen_tests - reruns configure stage in every testsuite subproject
+
     $ make clean_tests - runs the 'clean' target in every testsuite subproject
 
     $ make prune_tests - removes all testsuite subprojects
@@ -187,14 +189,6 @@
       

-

- Note: The subprojects cache these options (regardless of set - via environment variables or as cmake variable). So, if you want to - disable an option again, you have to either explicitly set it to an - empty string or first remove the subprojects via - make prune_tests. -

-

Running the testsuite

diff --git a/deal.II/tests/CMakeLists.txt b/deal.II/tests/CMakeLists.txt index 0e193ebf69..4bd88c9a4b 100644 --- a/deal.II/tests/CMakeLists.txt +++ b/deal.II/tests/CMakeLists.txt @@ -32,6 +32,9 @@ ADD_SUBDIRECTORY(quick_tests) # Setup tests: ADD_CUSTOM_TARGET(setup_tests) +# Regenerate tests (run "make rebuild_cache" in subprojects): +ADD_CUSTOM_TARGET(regen_tests) + # Clean all tests ADD_CUSTOM_TARGET(clean_tests) @@ -60,6 +63,8 @@ FOREACH(_var TEST_PICKUP_REGEX TEST_TIME_LIMIT ) + # always undefine: + LIST(APPEND _options "-U${_var}") IF(DEFINED ${_var}) LIST(APPEND _options "-D${_var}=${${_var}}") ENDIF() @@ -104,6 +109,13 @@ FOREACH(_category ${_categories}) # depend on a valid build directory: ADD_DEPENDENCIES(setup_tests_${_category} setup_build_dir) + ADD_CUSTOM_TARGET(regen_tests_${_category} + COMMAND [ ! -d ${_category} ] || ${CMAKE_COMMAND} + --build ${CMAKE_CURRENT_BINARY_DIR}/${_category} --target regenerate + > /dev/null # Shoo! + ) + ADD_DEPENDENCIES(regen_tests regen_tests_${_category}) + ADD_CUSTOM_TARGET(clean_tests_${_category} COMMAND [ ! -d ${_category} ] || ${CMAKE_COMMAND} --build ${CMAKE_CURRENT_BINARY_DIR}/${_category} --target clean -- 2.39.5