From fc9251bd4fb635ab103a8a878edbb80096e30ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20Hole-Drabl=C3=B8s?= Date: Wed, 6 Jul 2016 11:30:10 +0200 Subject: [PATCH] Added regression tests for comparing ECLfiles using CTest --- CMakeLists.txt | 3 +++ compareECLFiles.cmake | 39 +++++++++++++++++++++++++++++++++++++ tests/run-regressionTest.sh | 29 +++++++++++++++++++++++++++ 3 files changed, 71 insertions(+) create mode 100644 compareECLFiles.cmake create mode 100755 tests/run-regressionTest.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c67dd0df..c6ebd6f69 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -156,4 +156,7 @@ if (HAVE_OPM_DATA) opm_add_python_test( check_INIT_NORNE ${PROJECT_SOURCE_DIR}/tests/compare_INIT.py $ ${OPM_DATA_ROOT}/norne/NORNE_ATW2013.DATA ${OPM_DATA_ROOT}/norne/ECL.2014.2/NORNE_ATW2013.INIT PORO PORV PERMX ) endif() + include (${CMAKE_CURRENT_SOURCE_DIR}/compareECLFiles.cmake) + + endif() diff --git a/compareECLFiles.cmake b/compareECLFiles.cmake new file mode 100644 index 000000000..bef9faf22 --- /dev/null +++ b/compareECLFiles.cmake @@ -0,0 +1,39 @@ +# Set absolute tolerance to be used for testing +set(abs_tol 2e-2) +set(rel_tol 1e-5) +# Define some paths +set(RESULT_PATH ${PROJECT_BINARY_DIR}/tests/results) +# Create directory to store upscaling results in + +########################################################################### +# TEST: compareECLFiles +########################################################################### + +# Input: +# - casename: basename (no extension) +# +macro (add_test_compareECLFiles casename filename) + + # Add test that runs flow and outputs the results to file + opm_add_test(compareECLFiles_${filename} NO_COMPILE + EXE_NAME flow + DRIVER_ARGS ${OPM_DATA_ROOT}/${casename} ${RESULT_PATH} + ${CMAKE_BINARY_DIR}/bin + ${filename} + ${abs_tol} ${rel_tol} + ${SUMMARY_REGRESSION_TEST_COMMAND} + ${RESTART_REGRESSION_TEST_COMMAND} + ${INIT_REGRESSION_TEST_COMMAND} + TEST_ARGS ${OPM_DATA_ROOT}/${casename}/${filename}.DATA ) +endmacro (add_test_compareECLFiles) + + +if(NOT TARGET test-suite) + add_custom_target(test-suite) +endif() + + +opm_set_test_driver(${PROJECT_SOURCE_DIR}/tests/run-regressionTest.sh "") + +add_test_compareECLFiles(spe9 SPE9_CP) + diff --git a/tests/run-regressionTest.sh b/tests/run-regressionTest.sh new file mode 100755 index 000000000..5b3cf1162 --- /dev/null +++ b/tests/run-regressionTest.sh @@ -0,0 +1,29 @@ +#!/bin/bash +set -e + +INPUT_DATA_PATH="$1" +RESULT_PATH="$2" +BINPATH="$3" +FILENAME="$4" +ABS_TOL="$5" +REL_TOL="$6" +SUMMARY_REGRESSION_TEST_COMMAND="$7" +RESTART_REGRESSION_TEST_COMMAND="$8" +INIT_REGRESSION_TEST_COMMAND="$9" +EXE_NAME="${10}" +shift 10 +TEST_ARGS="$@" + + +rm -Rf ${RESULT_PATH}; +mkdir -p ${RESULT_PATH} +cd ${RESULT_PATH} +${BINPATH}/${EXE_NAME} ${TEST_ARGS} +cd .. + +${SUMMARY_REGRESSION_TEST_COMMAND} ${RESULT_PATH}/${FILENAME} ${INPUT_DATA_PATH}/opm-simulation-reference/${FILENAME} ${ABS_TOL} ${REL_TOL} + +${RESTART_REGRESSION_TEST_COMMAND} ${RESULT_PATH}/${FILENAME} ${INPUT_DATA_PATH}/opm-simulation-reference/${FILENAME} ${ABS_TOL} ${REL_TOL} + +${INIT_REGRESSION_TEST_COMMAND} ${RESULT_PATH}/${FILENAME} ${INPUT_DATA_PATH}/opm-simulation-reference/${FILENAME} ${ABS_TOL} ${REL_TOL} +