Skip to content
Snippets Groups Projects
Commit fb867246 authored by Simon Praetorius's avatar Simon Praetorius
Browse files

Merge branch 'issue/remove-add-all-flags-from-tests' into 'master'

Remove add_dune_all_flags from dune_add_test

See merge request !1207
parents 6c054a7b efffb029
No related branches found
No related tags found
1 merge request!1207Remove add_dune_all_flags from dune_add_test
Pipeline #77277 waiting for manual action
......@@ -23,6 +23,9 @@ SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
`LABEL` property to all tests created with `dune_add_tests` in that module. This
allows to run these tests with `ctest -L <module>`.
- Change the behavior of `dune_add_test`: Do not add all package flags automatically. This new behavior
can be controlled by the new Dune policy `DP_TEST_ADD_ALL_FLAGS`.
## C++: Changelog
- Add preprocessor macro `DUNE_FORCE_INLINE` as a portable attribute to force inlining of functions (if supported).
......
......@@ -20,6 +20,9 @@ include(DuneMacros)
# deactivate global include-directories for dune-common
dune_policy(SET DP_DEFAULT_INCLUDE_DIRS NEW)
# deactivate global calls to add_dune_all_flags in tests
dune_policy(SET DP_TEST_ADD_ALL_FLAGS NEW)
# start a dune project with information from dune.module
dune_project()
......
......@@ -220,6 +220,10 @@ include_guard(GLOBAL)
enable_testing()
include(CTest)
include(DunePolicy)
dune_define_policy(DP_TEST_ADD_ALL_FLAGS dune-common 2.13
"OLD behavior: Automatically call add_dune_all_flags on all test targets. NEW behavior: flags must be set for each test target separately, e.g., using add_dune_pkg_flags, or in directory scope using dune_enable_all_packages.")
# Introduce a target that triggers the building of all tests
add_custom_target(build_tests)
......@@ -350,8 +354,14 @@ function(dune_add_test)
# Add the executable if it is not already present
if(ADDTEST_SOURCES)
add_executable(${ADDTEST_NAME} ${ADDTEST_SOURCES})
# add all flags to the target!
add_dune_all_flags(${ADDTEST_NAME})
# add all flags to the target if corresponding policy is OLD and not explicitly disabled.
dune_policy(GET DP_TEST_ADD_ALL_FLAGS _add_all_flags)
if(_add_all_flags STREQUAL "OLD")
add_dune_all_flags(${ADDTEST_NAME})
endif()
unset(_add_all_flags)
# This is just a placeholder
target_compile_definitions(${ADDTEST_NAME} PUBLIC ${ADDTEST_COMPILE_DEFINITIONS})
target_compile_options(${ADDTEST_NAME} PUBLIC ${ADDTEST_COMPILE_FLAGS})
......
......@@ -216,6 +216,12 @@ Policies Introduced by Dune 2.10
If the module follows a common directory layout, a default set of include directories
can be set on a target at once using the CMake function ``dune_default_include_directories(<target> <scope>)``.
Policies Introduced by Dune 2.11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``DP_TEST_ADD_ALL_FLAGS`` (dune-common, set to NEW by default in version 2.13)
*OLD behavior:* Automatically call ``add_dune_all_flags`` on all test targets inside of ``dune_add_test``.
*NEW behavior:* Flags must be set for each test target separately, e.g., by using ``add_dune_pkg_flags``, or in directory scope using ``dune_enable_all_packages``.
.. _faq:
......
......@@ -9,6 +9,7 @@ dune_add_test(SOURCES communicationtest.cc
TIMEOUT 300
CMAKE_GUARD MPI_FOUND
LABELS quick)
add_dune_mpi_flags(communicationtest)
dune_add_test(SOURCES indexsettest.cc
LABELS quick)
......@@ -26,41 +27,49 @@ dune_add_test(SOURCES remoteindicestest.cc
TIMEOUT 300
CMAKE_GUARD HAVE_MPI
LABELS quick)
add_dune_mpi_flags(remoteindicestest)
dune_add_test(SOURCES selectiontest.cc
LABELS quick)
add_dune_mpi_flags(selectiontest)
dune_add_test(SOURCES syncertest.cc
MPI_RANKS 1 2 4
TIMEOUT 300
CMAKE_GUARD HAVE_MPI
LABELS quick)
add_dune_mpi_flags(syncertest)
dune_add_test(SOURCES variablesizecommunicatortest.cc
MPI_RANKS 1 2 4
TIMEOUT 300
CMAKE_GUARD HAVE_MPI
LABELS quick)
add_dune_mpi_flags(variablesizecommunicatortest)
dune_add_test(SOURCES mpidatatest.cc
MPI_RANKS 2
TIMEOUT 300
LABELS quick)
add_dune_mpi_flags(mpidatatest)
dune_add_test(SOURCES mpifuturetest.cc
CMAKE_GUARD MPI_FOUND
MPI_RANKS 1 2 4
TIMEOUT 300
LABELS quick)
add_dune_mpi_flags(mpifuturetest)
dune_add_test(SOURCES mpipacktest.cc
MPI_RANKS 2
TIMEOUT 300
CMAKE_GUARD HAVE_MPI
LABELS quick)
add_dune_mpi_flags(mpipacktest)
dune_add_test(SOURCES mpigatherscattertest.cc
MPI_RANKS 2
TIMEOUT 300
CMAKE_GUARD MPI_FOUND
LABELS quick)
add_dune_mpi_flags(mpigatherscattertest)
......@@ -104,41 +104,16 @@ dune_add_test(NAME debugalignsimdtest
dune_add_test(SOURCES densematrixassignmenttest.cc
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail0
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE0"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail1
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE1"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail2
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE2"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail3
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE3"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail4
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE4"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail5
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE5"
EXPECT_COMPILE_FAIL
LABELS quick)
dune_add_test(NAME densematrixassignmenttest_fail6
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE6"
EXPECT_COMPILE_FAIL
LABELS quick)
add_dune_gmp_flags(densematrixassignmenttest)
foreach(FAIL RANGE 0 6)
dune_add_test(NAME densematrixassignmenttest_fail${FAIL}
SOURCES densematrixassignmenttest.cc
COMPILE_DEFINITIONS "FAILURE${FAIL}"
EXPECT_COMPILE_FAIL
LABELS quick)
add_dune_gmp_flags(densematrixassignmenttest)
endforeach()
dune_add_test(SOURCES densevectorassignmenttest.cc
LABELS quick)
......@@ -147,7 +122,6 @@ dune_add_test(SOURCES diagonalmatrixtest.cc
LABELS quick)
dune_add_test(SOURCES dunethrowtest.cc
LINK_LIBRARIES dunecommon
LABELS quick)
dune_add_test(SOURCES dynmatrixtest.cc
......@@ -259,6 +233,7 @@ dune_add_test(SOURCES powertest.cc
dune_add_test(SOURCES quadmathtest.cc
CMAKE_GUARD HAVE_QUADMATH)
add_dune_quadmath_flags(quadmathtest)
dune_add_test(SOURCES rangeutilitiestest.cc
LABELS quick)
......@@ -272,6 +247,7 @@ dune_add_test(SOURCES reservedvectortest.cc
dune_add_test(SOURCES scotchtest.cc
CMAKE_GUARD PTScotch_FOUND
LABELS quick)
add_dune_ptscotch_flags(scotchtest)
dune_add_test(SOURCES shared_ptrtest.cc
LABELS quick)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment