mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
changed: rewrite the test invocation macros using cmake_parse_arguments
motivation is to make it easier to pass additional parameters to the test
This commit is contained in:
parent
cdb8220c9b
commit
55ca4c9dbe
@ -20,28 +20,28 @@ set(BASE_RESULT_PATH ${PROJECT_BINARY_DIR}/tests/results)
|
|||||||
#
|
#
|
||||||
# Details:
|
# Details:
|
||||||
# - This test class compares output from a simulation to reference files.
|
# - This test class compares output from a simulation to reference files.
|
||||||
macro (add_test_compareECLFiles casename filename simulator abs_tol rel_tol prefix dirprefix)
|
function(add_test_compareECLFiles)
|
||||||
if(${ARGC} GREATER 7)
|
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL DIR DIR_PREFIX PREFIX)
|
||||||
set(DIR ${ARGV7})
|
set(multiValueArgs TEST_ARGS)
|
||||||
else()
|
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
set(DIR ${casename})
|
if(NOT PARAM_DIR)
|
||||||
|
set(PARAM_DIR ${PARAM_CASENAME})
|
||||||
endif()
|
endif()
|
||||||
if(${ARGC} GREATER 8)
|
if(NOT PARAM_PREFIX)
|
||||||
set(TEST_ARGS ${OPM_DATA_ROOT}/${DIR}/${ARGV8} deck_filename=${OPM_DATA_ROOT}/${DIR}/${filename}.DATA)
|
set(PARAM_PREFIX compareECLFiles)
|
||||||
else()
|
|
||||||
set(TEST_ARGS ${OPM_DATA_ROOT}/${DIR}/${filename})
|
|
||||||
endif()
|
endif()
|
||||||
set(RESULT_PATH ${BASE_RESULT_PATH}${dirprefix}/${simulator}+${casename})
|
set(RESULT_PATH ${BASE_RESULT_PATH}${PARAM_DIR_PREFIX}/${PARAM_SIMULATOR}+${PARAM_CASENAME})
|
||||||
opm_add_test(${prefix}_${simulator}+${filename} NO_COMPILE
|
set(TEST_ARGS ${OPM_DATA_ROOT}/${PARAM_DIR}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
|
||||||
EXE_NAME ${simulator}
|
opm_add_test(${PARAM_PREFIX}_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
|
||||||
DRIVER_ARGS ${OPM_DATA_ROOT}/${DIR} ${RESULT_PATH}
|
EXE_NAME ${PARAM_SIMULATOR}
|
||||||
|
DRIVER_ARGS ${OPM_DATA_ROOT}/${PARAM_DIR} ${RESULT_PATH}
|
||||||
${CMAKE_BINARY_DIR}/bin
|
${CMAKE_BINARY_DIR}/bin
|
||||||
${filename}
|
${PARAM_FILENAME}
|
||||||
${abs_tol} ${rel_tol}
|
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
|
||||||
${COMPARE_SUMMARY_COMMAND}
|
${COMPARE_SUMMARY_COMMAND}
|
||||||
${COMPARE_ECL_COMMAND}
|
${COMPARE_ECL_COMMAND}
|
||||||
TEST_ARGS ${TEST_ARGS})
|
TEST_ARGS ${TEST_ARGS})
|
||||||
endmacro (add_test_compareECLFiles)
|
endfunction()
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# TEST: add_test_compare_restarted_simulation
|
# TEST: add_test_compare_restarted_simulation
|
||||||
@ -53,19 +53,24 @@ endmacro (add_test_compareECLFiles)
|
|||||||
# Details:
|
# Details:
|
||||||
# - This test class compares the output from a restarted simulation
|
# - This test class compares the output from a restarted simulation
|
||||||
# to that of a non-restarted simulation.
|
# to that of a non-restarted simulation.
|
||||||
macro (add_test_compare_restarted_simulation casename filename simulator abs_tol rel_tol)
|
function(add_test_compare_restarted_simulation)
|
||||||
|
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL)
|
||||||
|
set(multiValueArgs TEST_ARGS)
|
||||||
|
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
|
|
||||||
set(RESULT_PATH ${BASE_RESULT_PATH}/restart/${simulator}+${casename})
|
set(RESULT_PATH ${BASE_RESULT_PATH}/restart/${PARAM_SIMULATOR}+${PARAM_CASENAME})
|
||||||
opm_add_test(compareRestartedSim_${simulator}+${filename} NO_COMPILE
|
set(TEST_ARGS ${OPM_DATA_ROOT}/${PARAM_CASENAME}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
|
||||||
EXE_NAME ${simulator}
|
|
||||||
DRIVER_ARGS ${OPM_DATA_ROOT}/${casename} ${RESULT_PATH}
|
opm_add_test(compareRestartedSim_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
|
||||||
|
EXE_NAME ${PARAM_SIMULATOR}
|
||||||
|
DRIVER_ARGS ${OPM_DATA_ROOT}/${PARAM_CASENAME} ${RESULT_PATH}
|
||||||
${CMAKE_BINARY_DIR}/bin
|
${CMAKE_BINARY_DIR}/bin
|
||||||
${filename}
|
${PARAM_FILENAME}
|
||||||
${abs_tol} ${rel_tol}
|
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
|
||||||
${COMPARE_SUMMARY_COMMAND}
|
${COMPARE_SUMMARY_COMMAND}
|
||||||
${COMPARE_ECL_COMMAND}
|
${COMPARE_ECL_COMMAND}
|
||||||
TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename})
|
TEST_ARGS ${TEST_ARGS})
|
||||||
endmacro (add_test_compare_restarted_simulation)
|
endfunction()
|
||||||
|
|
||||||
###########################################################################
|
###########################################################################
|
||||||
# TEST: add_test_compare_parallel_simulation
|
# TEST: add_test_compare_parallel_simulation
|
||||||
@ -77,20 +82,25 @@ endmacro (add_test_compare_restarted_simulation)
|
|||||||
# Details:
|
# Details:
|
||||||
# - This test class compares the output from a parallel simulation
|
# - This test class compares the output from a parallel simulation
|
||||||
# to the output from the serial instance of the same model.
|
# to the output from the serial instance of the same model.
|
||||||
macro (add_test_compare_parallel_simulation casename filename simulator abs_tol rel_tol)
|
function(add_test_compare_parallel_simulation)
|
||||||
set(RESULT_PATH ${BASE_RESULT_PATH}/parallel/${simulator}+${casename})
|
set(oneValueArgs CASENAME FILENAME SIMULATOR ABS_TOL REL_TOL)
|
||||||
|
set(multiValueArgs TEST_ARGS)
|
||||||
|
cmake_parse_arguments(PARAM "$" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
|
||||||
|
|
||||||
|
set(RESULT_PATH ${BASE_RESULT_PATH}/parallel/${PARAM_SIMULATOR}+${PARAM_CASENAME})
|
||||||
|
set(TEST_ARGS ${OPM_DATA_ROOT}/${PARAM_CASENAME}/${PARAM_FILENAME} ${PARAM_TEST_ARGS})
|
||||||
|
|
||||||
# Add test that runs flow_mpi and outputs the results to file
|
# Add test that runs flow_mpi and outputs the results to file
|
||||||
opm_add_test(compareParallelSim_${simulator}+${filename} NO_COMPILE
|
opm_add_test(compareParallelSim_${PARAM_SIMULATOR}+${PARAM_FILENAME} NO_COMPILE
|
||||||
EXE_NAME ${simulator}
|
EXE_NAME ${PARAM_SIMULATOR}
|
||||||
DRIVER_ARGS ${OPM_DATA_ROOT}/${casename} ${RESULT_PATH}
|
DRIVER_ARGS ${OPM_DATA_ROOT}/${PARAM_CASENAME} ${RESULT_PATH}
|
||||||
${CMAKE_BINARY_DIR}/bin
|
${CMAKE_BINARY_DIR}/bin
|
||||||
${filename}
|
${PARAM_FILENAME}
|
||||||
${abs_tol} ${rel_tol}
|
${PARAM_ABS_TOL} ${PARAM_REL_TOL}
|
||||||
${COMPARE_SUMMARY_COMMAND}
|
${COMPARE_SUMMARY_COMMAND}
|
||||||
${COMPARE_ECL_COMMAND}
|
${COMPARE_ECL_COMMAND}
|
||||||
TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename})
|
TEST_ARGS ${TEST_ARGS})
|
||||||
endmacro (add_test_compare_parallel_simulation)
|
endfunction()
|
||||||
|
|
||||||
if(NOT TARGET test-suite)
|
if(NOT TARGET test-suite)
|
||||||
add_custom_target(test-suite)
|
add_custom_target(test-suite)
|
||||||
@ -103,26 +113,71 @@ opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-regressionTest.sh "")
|
|||||||
set(abs_tol 2e-2)
|
set(abs_tol 2e-2)
|
||||||
set(rel_tol 1e-5)
|
set(rel_tol 1e-5)
|
||||||
|
|
||||||
add_test_compareECLFiles(spe1 SPE1CASE2 flow ${abs_tol} ${rel_tol} compareECLFiles "")
|
foreach(SIM flow flow_ebos flow_legacy)
|
||||||
add_test_compareECLFiles(spe1 SPE1CASE2 flow_ebos ${abs_tol} ${rel_tol} compareECLFiles "")
|
add_test_compareECLFiles(CASENAME spe1
|
||||||
add_test_compareECLFiles(spe1_2p SPE1CASE2_2P flow ${abs_tol} ${rel_tol} compareECLFiles "" spe1)
|
FILENAME SPE1CASE2
|
||||||
add_test_compareECLFiles(spe1_2p SPE1CASE2_2P flow_ebos_2p ${abs_tol} ${rel_tol} compareECLFiles "" spe1)
|
SIMULATOR ${SIM}
|
||||||
add_test_compareECLFiles(spe1 SPE1CASE2 flow_legacy ${abs_tol} ${rel_tol} compareECLFiles "")
|
ABS_TOL ${abs_tol}
|
||||||
add_test_compareECLFiles(spe1_2p SPE1CASE2_2P flow_legacy ${abs_tol} ${rel_tol} compareECLFiles "" spe1)
|
REL_TOL ${rel_tol})
|
||||||
add_test_compareECLFiles(spe1 SPE1CASE1 flow_sequential ${abs_tol} ${rel_tol} compareECLFiles "")
|
endforeach()
|
||||||
add_test_compareECLFiles(spe3 SPE3CASE1 flow ${abs_tol} ${rel_tol} compareECLFiles "")
|
|
||||||
add_test_compareECLFiles(spe3 SPE3CASE1 flow_ebos ${abs_tol} ${rel_tol} compareECLFiles "")
|
foreach(SIM flow flow_legacy)
|
||||||
add_test_compareECLFiles(spe3 SPE3CASE1 flow_legacy ${abs_tol} ${rel_tol} compareECLFiles "")
|
add_test_compareECLFiles(CASENAME spe1_2p
|
||||||
add_test_compareECLFiles(spe9 SPE9_CP_SHORT flow ${abs_tol} ${rel_tol} compareECLFiles "")
|
FILENAME SPE1CASE2_2P
|
||||||
add_test_compareECLFiles(spe9 SPE9_CP_SHORT flow_ebos ${abs_tol} ${rel_tol} compareECLFiles "")
|
SIMULATOR ${SIM}
|
||||||
add_test_compareECLFiles(spe9group SPE9_CP_GROUP flow ${abs_tol} ${rel_tol} compareECLFiles "")
|
ABS_TOL ${abs_tol}
|
||||||
add_test_compareECLFiles(spe9group SPE9_CP_GROUP flow_ebos ${abs_tol} ${rel_tol} compareECLFiles "")
|
REL_TOL ${rel_tol}
|
||||||
add_test_compareECLFiles(spe9 SPE9_CP_SHORT flow_legacy ${abs_tol} ${rel_tol} compareECLFiles "")
|
DIR spe1)
|
||||||
add_test_compareECLFiles(msw_2d_h 2D_H__ flow_multisegment ${abs_tol} ${rel_tol} compareECLFiles "")
|
endforeach()
|
||||||
#add_test_compareECLFiles(polymer_simple2D 2D_THREEPHASE_POLY_HETER flow ${abs_tol} ${rel_tol} compareECLFiles "")
|
|
||||||
add_test_compareECLFiles(polymer_simple2D 2D_THREEPHASE_POLY_HETER flow_polymer ${abs_tol} ${rel_tol} compareECLFiles "")
|
add_test_compareECLFiles(CASENAME spe1
|
||||||
#add_test_compareECLFiles(spe5 SPE5CASE1 flow ${abs_tol} 5e-4 compareECLFiles "" spe5 run.param)
|
FILENAME SPE1CASE1
|
||||||
add_test_compareECLFiles(spe5 SPE5CASE1 flow_solvent ${abs_tol} 5e-4 compareECLFiles "" spe5 run.param)
|
SIMULATOR flow_sequential
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
|
||||||
|
foreach(SIM flow flow_ebos flow_legacy)
|
||||||
|
add_test_compareECLFiles(CASENAME spe3
|
||||||
|
FILENAME SPE3CASE1
|
||||||
|
SIMULATOR ${SIM}
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
foreach(SIM flow flow_ebos flow_legacy)
|
||||||
|
add_test_compareECLFiles(CASENAME spe9
|
||||||
|
FILENAME SPE9_CP_SHORT
|
||||||
|
SIMULATOR ${SIM}
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
foreach(SIM flow flow_ebos)
|
||||||
|
add_test_compareECLFiles(CASENAME spe9group
|
||||||
|
FILENAME SPE9_CP_GROUP
|
||||||
|
SIMULATOR ${SIM}
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
add_test_compareECLFiles(CASENAME msw_2d_h
|
||||||
|
FILENAME 2D_H__
|
||||||
|
SIMULATOR flow_multisegment
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
|
||||||
|
add_test_compareECLFiles(CASENAME polymer_simple2D
|
||||||
|
FILENAME 2D_THREEPHASE_POLY_HETER
|
||||||
|
SIMULATOR flow_polymer
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol})
|
||||||
|
|
||||||
|
add_test_compareECLFiles(CASENAME spe5
|
||||||
|
FILENAME SPE5CASE1
|
||||||
|
SIMULATOR flow_solvent
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL 5e-4
|
||||||
|
TEST_ARGS max_iter=13)
|
||||||
|
|
||||||
# Restart tests
|
# Restart tests
|
||||||
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh "")
|
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh "")
|
||||||
@ -131,15 +186,29 @@ opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-restart-regressionTest.sh ""
|
|||||||
set(abs_tol_restart 2e-1)
|
set(abs_tol_restart 2e-1)
|
||||||
set(rel_tol_restart 4e-5)
|
set(rel_tol_restart 4e-5)
|
||||||
foreach(sim flow flow_legacy flow_ebos)
|
foreach(sim flow flow_legacy flow_ebos)
|
||||||
add_test_compare_restarted_simulation(spe1 SPE1CASE2_ACTNUM ${sim} ${abs_tol_restart} ${rel_tol_restart})
|
add_test_compare_restarted_simulation(CASENAME spe1
|
||||||
add_test_compare_restarted_simulation(spe9 SPE9_CP_SHORT ${sim} ${abs_tol_restart} ${rel_tol_restart})
|
FILENAME SPE1CASE2_ACTNUM
|
||||||
|
SIMULATOR ${sim}
|
||||||
|
ABS_TOL ${abs_tol_restart}
|
||||||
|
REL_TOL ${rel_tol_restart})
|
||||||
|
add_test_compare_restarted_simulation(CASENAME spe9
|
||||||
|
FILENAME SPE9_CP_SHORT
|
||||||
|
SIMULATOR ${sim}
|
||||||
|
ABS_TOL ${abs_tol_restart}
|
||||||
|
REL_TOL ${rel_tol_restart})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Init tests
|
# Init tests
|
||||||
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-init-regressionTest.sh "")
|
opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-init-regressionTest.sh "")
|
||||||
|
|
||||||
foreach(sim flow flow_legacy flow_ebos)
|
foreach(sim flow flow_legacy flow_ebos)
|
||||||
add_test_compareECLFiles(norne NORNE_ATW2013 ${sim} ${abs_tol} ${rel_tol} compareECLInitFiles /init)
|
add_test_compareECLFiles(CASENAME norne
|
||||||
|
FILENAME NORNE_ATW2013
|
||||||
|
SIMULATOR ${sim}
|
||||||
|
ABS_TOL ${abs_tol}
|
||||||
|
REL_TOL ${rel_tol}
|
||||||
|
PREFIX compareECLInitFiles
|
||||||
|
DIR_PREFIX /init)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# Parallel tests
|
# Parallel tests
|
||||||
@ -151,8 +220,20 @@ if(MPI_FOUND)
|
|||||||
set(rel_tol_parallel 1e-5)
|
set(rel_tol_parallel 1e-5)
|
||||||
|
|
||||||
foreach(sim flow flow_mpi flow_ebos)
|
foreach(sim flow flow_mpi flow_ebos)
|
||||||
add_test_compare_parallel_simulation(spe1 SPE1CASE2 ${sim} ${abs_tol_parallel} ${rel_tol_parallel})
|
add_test_compare_parallel_simulation(CASENAME spe1
|
||||||
add_test_compare_parallel_simulation(spe9 SPE9_CP_SHORT ${sim} ${abs_tol_parallel} ${rel_tol_parallel})
|
FILENAME SPE1CASE2
|
||||||
|
SIMULATOR ${sim}
|
||||||
|
ABS_TOL ${abs_tol_parallel}
|
||||||
|
REL_TOL ${rel_tol_parallel})
|
||||||
|
add_test_compare_parallel_simulation(CASENAME spe9
|
||||||
|
FILENAME SPE9_CP_SHORT
|
||||||
|
SIMULATOR ${sim}
|
||||||
|
ABS_TOL ${abs_tol_parallel}
|
||||||
|
REL_TOL ${rel_tol_parallel})
|
||||||
endforeach()
|
endforeach()
|
||||||
add_test_compare_parallel_simulation(spe3 SPE3CASE1 flow_mpi ${abs_tol_parallel} ${rel_tol_parallel})
|
add_test_compare_parallel_simulation(CASENAME spe3
|
||||||
|
FILENAME SPE3CASE1
|
||||||
|
SIMULATOR flow_mpi
|
||||||
|
ABS_TOL ${abs_tol_parallel}
|
||||||
|
REL_TOL ${rel_tol_parallel})
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user