message(STATUS "Handling system tests") MESSAGE(STATUS "DUNE Libraries: ${DUNE_LIBS}") function(dorie_add_system_test target metaini) configure_file(${metaini}.in ${CMAKE_CURRENT_LIST_DIR}/${metaini}) dune_add_system_test(TARGET ${target} INIFILE ${metaini} SCRIPT test_dorie.py) endfunction() function(dorie_add_system_test_dependency test1 test2) set_tests_properties(${test1} PROPERTIES DEPENDS ${test2}) endfunction() # dorie run: ODE tests dorie_add_system_test(dorie ode_homogeneous_sand.mini) dorie_add_system_test(dorie ode_homogeneous_silt.mini) dorie_add_system_test(dorie ode_layered.mini) dorie_add_system_test(dorie ode_linear_interpolator.mini) # add target for ODE tests add_custom_target(test_run_ode COMMAND ctest --output-on-failure --tests-regex ^dorie_ode.+$) # dorie run: Reference tests dorie_add_system_test(dorie-rfg parfield_muphi.mini) dorie_add_system_test(dorie muphi.mini) set_tests_properties(dorie-rfg_ref_muphi_pfg PROPERTIES FIXTURES_SETUP muphi_ref) set_tests_properties(dorie_ref_muphi PROPERTIES FIXTURES_REQUIRED muphi_ref) add_custom_target(test_run_ref COMMAND ctest --output-on-failure --tests-regex ^.+_ref_.+$ ) # dorie_add_system_test(dorie reference_2d.mini) # dorie_add_system_test(dorie reference_3d.mini) # dorie_add_system_test(dorie reference_evaporation.mini) # dorie_add_system_test(dorie reference_interpolators.mini) # dorie in parallel dorie_add_system_test(dorie parallel_reference.mini) dorie_add_system_test(dorie parallel_reference_compare.mini) set_tests_properties(dorie_parallel_reference_0000 PROPERTIES FIXTURES_SETUP dorie_par) set_tests_properties(dorie_parallel_reference_0001 PROPERTIES FIXTURES_SETUP dorie_par) set_tests_properties(dorie_parallel_reference_compare_0000 PROPERTIES FIXTURES_REQUIRED dorie_par) set_tests_properties(dorie_parallel_reference_compare_0001 PROPERTIES FIXTURES_REQUIRED dorie_par) set_tests_properties(dorie_parallel_reference_compare_0002 PROPERTIES FIXTURES_REQUIRED dorie_par) set_tests_properties(dorie_parallel_reference_compare_0003 PROPERTIES FIXTURES_REQUIRED dorie_par) add_custom_target(test_run_parallel COMMAND ctest --output-on-failure --tests-regex ^dorie_parallel_.+$ ) # dorie exec tests dorie_add_system_test(dorie-rfg parfield.mini) dorie_add_system_test(dorie run.mini) set_tests_properties(dorie-rfg_exec_0000 PROPERTIES FIXTURES_SETUP dorie_run) set_tests_properties(dorie_exec_run PROPERTIES FIXTURES_REQUIRED dorie_run) dorie_add_system_test(dorie plot.mini) dorie_add_system_test_dependency(dorie_exec_plot dorie_exec_run) set_tests_properties(dorie_exec_run PROPERTIES FIXTURES_SETUP dorie_plot) set_tests_properties(dorie_exec_plot PROPERTIES FIXTURES_REQUIRED dorie_plot) dorie_add_system_test(dorie create.mini) add_custom_target(test_dorie_exec COMMAND ctest --output-on-failure --tests-regex ^.+_exec.+$ ) # dorie mass conservation configure_file(mass_conservation.mini.in ${CMAKE_CURRENT_SOURCE_DIR}/mass_conservation.mini) dune_add_system_test( SOURCE test-mass-conservation.cc BASENAME dorie_mass_conservation CREATED_TARGETS mc_target INIFILE mass_conservation.mini ) message(STATUS "target called ${mc_target}") dune_target_link_libraries(${mc_target} ${DUNE_LIBS}) add_custom_target(test_mass_conservation COMMAND ctest --output-on-failure --tests-regex ^dorie_mass_conservation_.+$ ) # dune excludes test targets from 'make all'; undo that here where applicable set_property(TARGET dorie PROPERTY EXCLUDE_FROM_ALL 0) set_property(TARGET dorie-rfg PROPERTY EXCLUDE_FROM_ALL 0)