2017-01-16 01:06:26 -06:00
|
|
|
#!/bin/bash
|
|
|
|
|
2018-04-09 03:40:34 -05:00
|
|
|
OPM_TESTS_ROOT=$1
|
2019-11-27 02:00:22 -06:00
|
|
|
TMPDIR=`mktemp -d`
|
|
|
|
mkdir $TMPDIR/orig
|
|
|
|
mkdir $TMPDIR/new
|
2017-01-16 01:06:26 -06:00
|
|
|
|
2017-01-16 04:46:32 -06:00
|
|
|
# Copy results from a test run to refence dir
|
|
|
|
# $1 = source directory to copy data from
|
|
|
|
# $2 = destination directory to copy data to
|
|
|
|
# $3 = base file name for files to copy
|
|
|
|
# $4...$@ = file types to copy
|
2017-01-16 01:06:26 -06:00
|
|
|
copyToReferenceDir () {
|
|
|
|
SRC_DIR=$1
|
2018-07-03 06:03:13 -05:00
|
|
|
DST_DIR=$2
|
|
|
|
STEM=$3
|
|
|
|
FILETYPES=${@:4}
|
2017-11-10 08:06:47 -06:00
|
|
|
mkdir -p $DST_DIR
|
2017-01-16 01:06:26 -06:00
|
|
|
|
2018-07-03 06:03:13 -05:00
|
|
|
DIFF=1
|
|
|
|
for filetype in $FILETYPES
|
|
|
|
do
|
2019-09-06 08:32:15 -05:00
|
|
|
# Don't flag as changed if both reference and result dir lack a file type
|
|
|
|
# In particular to handle the optional RFT's
|
|
|
|
if [ ! -f $WORKSPACE/$SRC_DIR$STEM.$filetype ] && [ ! -f $DST_DIR/$STEM.$filetype ]
|
|
|
|
then
|
|
|
|
continue
|
|
|
|
fi
|
2018-07-03 06:03:13 -05:00
|
|
|
diff -q "$WORKSPACE/$SRC_DIR$STEM.$filetype" "$DST_DIR/$STEM.$filetype"
|
|
|
|
if test $? -ne 0
|
|
|
|
then
|
2019-11-27 02:00:22 -06:00
|
|
|
cp $WORKSPACE/$SRC_DIR$STEM.$filetype $TMPDIR/new
|
|
|
|
$configuration/install/bin/convertECL $TMPDIR/new/$STEM.$filetype
|
|
|
|
cp $DST_DIR/$STEM.$filetype $TMPDIR/orig
|
|
|
|
$configuration/install/bin/convertECL $TMPDIR/orig/$STEM.$filetype
|
|
|
|
diff -u $TMPDIR/orig/$STEM.F$filetype $TMPDIR/new/$STEM.F$filetype >> $WORKSPACE/data_diff
|
2018-07-03 06:03:13 -05:00
|
|
|
cp "$WORKSPACE/$SRC_DIR$STEM.$filetype" $DST_DIR
|
|
|
|
DIFF=0
|
|
|
|
fi
|
2017-01-16 01:06:26 -06:00
|
|
|
done
|
2017-05-04 12:03:25 -05:00
|
|
|
|
2018-07-03 06:03:13 -05:00
|
|
|
return $DIFF
|
|
|
|
}
|
2017-01-16 01:06:26 -06:00
|
|
|
|
2018-07-03 06:03:13 -05:00
|
|
|
declare -A tests
|
2019-08-13 00:19:27 -05:00
|
|
|
# The tests are listed in a dictionary mapping name of the test to the commands
|
|
|
|
# used to run the test:
|
|
|
|
#
|
|
|
|
# tests[testname]="binary dirname casename [cmake_testname]"
|
|
|
|
#
|
|
|
|
# By default the testname and dirname should be the same, but if you have
|
|
|
|
# several test datasets in the same directory this will lead to non unique test
|
|
|
|
# names in the cmake setup; to avoid that you can supply an alternative testname
|
|
|
|
# to be used by cmake as an optional fourth argument.
|
2018-07-13 03:21:04 -05:00
|
|
|
tests[spe1]="flow spe1 SPE1CASE1"
|
2018-07-03 06:03:13 -05:00
|
|
|
tests[spe12]="flow spe1 SPE1CASE2"
|
|
|
|
tests[spe12p]="flow spe1 SPE1CASE2_2P spe1_2p"
|
|
|
|
tests[spe1oilgas]="flow spe1 SPE1CASE2_OILGAS spe1_oilgas"
|
|
|
|
tests[spe1nowells]="flow spe1 SPE1CASE2_NOWELLS spe1_nowells"
|
|
|
|
tests[spe1thermal]="flow spe1 SPE1CASE2_THERMAL spe1_thermal"
|
2020-06-26 02:48:42 -05:00
|
|
|
tests[spe1thermal_watvisc]="flow spe1 SPE1CASE2_THERMAL_WATVISC spe1_thermal_watvisc"
|
2019-11-28 02:54:27 -06:00
|
|
|
tests[spe1rockcomp]="flow spe1 SPE1CASE2_ROCK2DTR spe1_rockcomp"
|
2020-01-10 03:47:39 -06:00
|
|
|
tests[spe1brine]="flow spe1_brine SPE1CASE1_BRINE spe1_brine"
|
2018-07-03 06:03:13 -05:00
|
|
|
tests[ctaquifer_2d_oilwater]="flow aquifer-oilwater 2D_OW_CTAQUIFER ctaquifer_2d_oilwater"
|
2019-01-17 04:29:54 -06:00
|
|
|
tests[fetkovich_2d]="flow aquifer-fetkovich 2D_FETKOVICHAQUIFER fetkovich_2d"
|
2018-07-03 06:03:13 -05:00
|
|
|
tests[msw_2d_h]="flow msw_2d_h 2D_H__"
|
|
|
|
tests[msw_3d_hfa]="flow msw_3d_hfa 3D_MSW"
|
|
|
|
tests[polymer_oilwater]="flow polymer_oilwater 2D_OILWATER_POLYMER"
|
|
|
|
tests[polymer2d]="flow polymer_simple2D 2D_THREEPHASE_POLY_HETER"
|
|
|
|
tests[spe3]="flow spe3 SPE3CASE1"
|
|
|
|
tests[spe5]="flow spe5 SPE5CASE1"
|
|
|
|
tests[spe9group]="flow spe9group SPE9_CP_GROUP"
|
|
|
|
tests[spe9]="flow spe9 SPE9_CP_SHORT"
|
|
|
|
tests[wecon_wtest]="flow wecon_wtest 3D_WECON"
|
2018-07-13 03:21:04 -05:00
|
|
|
tests[spe1_metric_vfp1]="flow vfpprod_spe1 SPE1CASE1_METRIC_VFP1 spe1_metric_vfp1"
|
2018-08-06 02:46:16 -05:00
|
|
|
tests[base_model_1]="flow model1 BASE_MODEL_1 base_model_1"
|
|
|
|
tests[msw_model_1]="flow model1 MSW_MODEL_1 msw_model_1"
|
2018-08-07 09:21:37 -05:00
|
|
|
tests[faults_model_1]="flow model1 FAULTS_MODEL_1 faults_model_1"
|
2019-06-24 08:04:52 -05:00
|
|
|
tests[base_model2]="flow model2 0_BASE_MODEL2 base_model2"
|
2020-04-13 07:15:33 -05:00
|
|
|
tests[0a1_grpctl_stw_model2]="flow model2 0A1_GRCTRL_LRAT_ORAT_BASE_MODEL2_STW 0a1_grpctl_stw_model2"
|
|
|
|
tests[0a1_grpctl_msw_model2]="flow model2 0A1_GRCTRL_LRAT_ORAT_BASE_MODEL2_MSW 0a1_grpctl_msw_model2"
|
|
|
|
tests[0a2_grpctl_stw_model2]="flow model2 0A2_GRCTRL_LRAT_ORAT_GGR_BASE_MODEL2_STW 0a2_grpctl_stw_model2"
|
|
|
|
tests[0a2_grpctl_msw_model2]="flow model2 0A2_GRCTRL_LRAT_ORAT_GGR_BASE_MODEL2_MSW 0a2_grpctl_msw_model2"
|
|
|
|
tests[0a3_grpctl_stw_model2]="flow model2 0A3_GRCTRL_LRAT_LRAT_BASE_MODEL2_STW 0a3_grpctl_stw_model2"
|
|
|
|
tests[0a3_grpctl_msw_model2]="flow model2 0A3_GRCTRL_LRAT_LRAT_BASE_MODEL2_MSW 0a3_grpctl_msw_model2"
|
|
|
|
tests[0a4_grpctl_stw_model2]="flow model2 0A4_GRCTRL_LRAT_LRAT_GGR_BASE_MODEL2_STW 0a4_grpctl_stw_model2"
|
|
|
|
tests[0a4_grpctl_msw_model2]="flow model2 0A4_GRCTRL_LRAT_LRAT_GGR_BASE_MODEL2_MSW 0a4_grpctl_msw_model2"
|
2019-06-24 08:04:52 -05:00
|
|
|
tests[multregt_model2]="flow model2 1_MULTREGT_MODEL2 multregt_model2"
|
|
|
|
tests[multxyz_model2]="flow model2 2_MULTXYZ_MODEL2 multxyz_model2"
|
|
|
|
tests[multflt_model2]="flow model2 3_MULTFLT_MODEL2 multflt_model2"
|
|
|
|
tests[multpvv_model2]="flow model2 4_MINPVV_MODEL2 multpvv_model2"
|
|
|
|
tests[swatinit_model2]="flow model2 5_SWATINIT_MODEL2 swatinit_model2"
|
|
|
|
tests[endscale_model2]="flow model2 6_ENDSCALE_MODEL2 endscale_model2"
|
|
|
|
tests[hysteresis_model2]="flow model2 7_HYSTERESIS_MODEL2 hysteresis_model2"
|
|
|
|
tests[multiply_tranxyz_model2]="flow model2 8_MULTIPLY_TRANXYZ_MODEL2 multiply_tranxyz_model2"
|
|
|
|
tests[editnnc_model2]="flow model2 9_EDITNNC_MODEL2 editnnc_model2"
|
2020-04-17 06:58:54 -05:00
|
|
|
tests[9_1a_grpctl_stw_model2]="flow model2 9_1A_DEPL_MAX_RATE_MIN_BHP_STW 9_1a_grpctl_stw_model2"
|
|
|
|
tests[9_1a_grpctl_msw_model2]="flow model2 9_1A_DEPL_MAX_RATE_MIN_BHP_MSW 9_1a_grpctl_msw_model2"
|
|
|
|
tests[9_1b_grpctl_stw_model2]="flow model2 9_1B_DEPL_MAX_RATE_MIN_THP_STW 9_1b_grpctl_stw_model2"
|
|
|
|
tests[9_1b_grpctl_msw_model2]="flow model2 9_1B_DEPL_MAX_RATE_MIN_THP_MSW 9_1b_grpctl_msw_model2"
|
|
|
|
tests[9_2a_grpctl_stw_model2]="flow model2 9_2A_DEPL_GCONPROD_1L_STW 9_2a_grpctl_stw_model2"
|
|
|
|
tests[9_2a_grpctl_msw_model2]="flow model2 9_2A_DEPL_GCONPROD_1L_MSW 9_2a_grpctl_msw_model2"
|
2020-04-30 03:35:29 -05:00
|
|
|
tests[9_2b_grpctl_stw_model2]="flow model2 9_2B_DEPL_GCONPROD_2L_STW 9_2b_grpctl_stw_model2"
|
|
|
|
tests[9_2b_grpctl_msw_model2]="flow model2 9_2B_DEPL_GCONPROD_2L_MSW 9_2b_grpctl_msw_model2"
|
2020-04-22 04:40:12 -05:00
|
|
|
tests[9_3a_grpctl_stw_model2]="flow model2 9_3A_GINJ_REIN-G_STW 9_3a_grpctl_stw_model2"
|
|
|
|
tests[9_3a_grpctl_msw_model2]="flow model2 9_3A_GINJ_REIN-G_MSW 9_3a_grpctl_msw_model2"
|
2020-04-27 14:16:04 -05:00
|
|
|
tests[9_3b_grpctl_stw_model2]="flow model2 9_3B_GINJ_GAS_EXPORT_STW 9_3b_grpctl_stw_model2"
|
|
|
|
tests[9_3b_grpctl_msw_model2]="flow model2 9_3B_GINJ_GAS_EXPORT_MSW 9_3b_grpctl_msw_model2"
|
|
|
|
tests[9_3c_grpctl_stw_model2]="flow model2 9_3C_GINJ_GAS_GCONSUMP_STW 9_3c_grpctl_stw_model2"
|
|
|
|
tests[9_3c_grpctl_msw_model2]="flow model2 9_3C_GINJ_GAS_GCONSUMP_MSW 9_3c_grpctl_msw_model2"
|
2020-05-05 02:58:09 -05:00
|
|
|
tests[9_3d_grpctl_stw_model2]="flow model2 9_3D_GINJ_GAS_MAX_EXPORT_STW 9_3d_grpctl_stw_model2"
|
|
|
|
tests[9_3d_grpctl_msw_model2]="flow model2 9_3D_GINJ_GAS_MAX_EXPORT_MSW 9_3d_grpctl_msw_model2"
|
|
|
|
tests[9_3e_grpctl_stw_model2]="flow model2 9_3E_GAS_MIN_EXPORT_STW 9_3e_grpctl_stw_model2"
|
|
|
|
tests[9_3e_grpctl_msw_model2]="flow model2 9_3E_GAS_MIN_EXPORT_MSW 9_3e_grpctl_msw_model2"
|
2020-04-22 04:40:12 -05:00
|
|
|
tests[9_4a_grpctl_stw_model2]="flow model2 9_4A_WINJ_MAXWRATES_MAXBHP_GCONPROD_1L_STW 9_4a_grpctl_stw_model2"
|
|
|
|
tests[9_4a_grpctl_msw_model2]="flow model2 9_4A_WINJ_MAXWRATES_MAXBHP_GCONPROD_1L_MSW 9_4a_grpctl_msw_model2"
|
2020-04-27 14:16:04 -05:00
|
|
|
tests[9_4b_grpctl_stw_model2]="flow model2 9_4B_WINJ_VREP-W_STW 9_4b_grpctl_stw_model2"
|
2020-04-22 04:40:12 -05:00
|
|
|
tests[9_4b_grpctl_msw_model2]="flow model2 9_4B_WINJ_VREP-W_MSW 9_4b_grpctl_msw_model2"
|
2020-04-27 14:16:04 -05:00
|
|
|
tests[9_4c_grpctl_stw_model2]="flow model2 9_4C_WINJ_GINJ_VREP-W_REIN-G_STW 9_4c_grpctl_stw_model2"
|
2020-04-22 04:40:12 -05:00
|
|
|
tests[9_4c_grpctl_msw_model2]="flow model2 9_4C_WINJ_GINJ_VREP-W_REIN-G_MSW 9_4c_grpctl_msw_model2"
|
2020-04-27 14:16:04 -05:00
|
|
|
tests[9_4d_grpctl_stw_model2]="flow model2 9_4D_WINJ_GINJ_GAS_EXPORT_STW 9_4d_grpctl_stw_model2"
|
|
|
|
tests[9_4d_grpctl_msw_model2]="flow model2 9_4D_WINJ_GINJ_GAS_EXPORT_MSW 9_4d_grpctl_msw_model2"
|
2020-04-30 08:39:06 -05:00
|
|
|
tests[model4_group]="flow model4 MOD4_GRP model4_group"
|
2020-05-05 15:10:13 -05:00
|
|
|
tests[model4_udq_group]="flow model4 MOD4_UDQ_ACTIONX model4_udq_group"
|
2018-12-12 09:24:24 -06:00
|
|
|
tests[polymer_injectivity]="flow polymer_injectivity 2D_POLYMER_INJECTIVITY"
|
2019-02-13 05:21:24 -06:00
|
|
|
tests[nnc]="flow editnnc NNC_AND_EDITNNC nnc"
|
2020-04-15 00:19:37 -05:00
|
|
|
tests[udq_wconprod]="flow udq_actionx UDQ_WCONPROD udq_wconprod"
|
|
|
|
tests[udq_actionx]="flow udq_actionx UDQ_ACTIONX udq_actionx"
|
2020-04-15 00:07:31 -05:00
|
|
|
tests[udq_pyaction]="flow udq_actionx PYACTION_WCONPROD udq_pyaction"
|
2019-07-05 03:52:46 -05:00
|
|
|
tests[spe1_foam]="flow spe1_foam SPE1FOAM"
|
2019-12-05 03:36:44 -06:00
|
|
|
tests[wsegsicd]="flow wsegsicd TEST_WSEGSICD"
|
2020-01-30 03:03:35 -06:00
|
|
|
tests[bc_lab]="flow bc_lab BC_LAB"
|
2020-09-04 05:44:24 -05:00
|
|
|
tests[pinch_multz_all]="flow pinch PINCH_MULTZ_ALL pinch_multz_all"
|
2018-07-03 06:03:13 -05:00
|
|
|
|
|
|
|
changed_tests=""
|
2019-11-28 03:20:40 -06:00
|
|
|
|
|
|
|
# Read failed tests
|
|
|
|
FAILED_TESTS=`cat $WORKSPACE/$configuration/build-opm-simulators/Testing/Temporary/LastTestsFailed*.log`
|
|
|
|
|
2019-12-20 05:32:26 -06:00
|
|
|
test -z "$FAILED_TESTS" && exit 5
|
|
|
|
|
2019-11-28 03:20:40 -06:00
|
|
|
for failed_test in $FAILED_TESTS
|
2018-07-03 06:03:13 -05:00
|
|
|
do
|
2019-11-28 03:20:40 -06:00
|
|
|
failed=`echo $failed_test | sed -e 's/.*:compareECLFiles_//g'`
|
|
|
|
for test_name in ${!tests[*]}
|
|
|
|
do
|
|
|
|
binary=`echo ${tests[$test_name]} | awk -F ' ' '{print $1}'`
|
|
|
|
dirname=`echo ${tests[$test_name]} | awk -F ' ' '{print $2}'`
|
|
|
|
casename=`echo ${tests[$test_name]} | awk -F ' ' '{print $3}'`
|
|
|
|
tname=`echo ${tests[$test_name]} | awk -F ' ' '{print $4}'`
|
|
|
|
test -z "$tname" && tname=$dirname
|
|
|
|
if grep -q "$failed" <<< "$binary+$casename"
|
|
|
|
then
|
|
|
|
copyToReferenceDir \
|
|
|
|
$configuration/build-opm-simulators/tests/results/$binary+$tname/ \
|
|
|
|
$OPM_TESTS_ROOT/$dirname/opm-simulation-reference/$binary \
|
|
|
|
$casename \
|
|
|
|
EGRID INIT RFT SMSPEC UNRST UNSMRY
|
|
|
|
test $? -eq 0 && changed_tests="$changed_tests $test_name"
|
|
|
|
fi
|
|
|
|
done
|
2018-07-03 06:03:13 -05:00
|
|
|
done
|
2017-01-16 01:06:26 -06:00
|
|
|
|
2018-07-03 06:03:13 -05:00
|
|
|
# special tests
|
|
|
|
copyToReferenceDir \
|
2017-11-10 05:33:24 -06:00
|
|
|
$configuration/build-opm-simulators/tests/results/init/flow+norne/ \
|
2018-04-09 03:40:34 -05:00
|
|
|
$OPM_TESTS_ROOT/norne/opm-simulation-reference/flow \
|
2017-04-10 15:31:46 -05:00
|
|
|
NORNE_ATW2013 \
|
|
|
|
EGRID INIT
|
2018-07-03 06:03:13 -05:00
|
|
|
test $? -eq 0 && changed_tests="$changed_tests norne_init"
|
2017-04-10 15:31:46 -05:00
|
|
|
|
2018-07-03 06:03:13 -05:00
|
|
|
changed_tests=`echo $changed_tests | xargs`
|
2020-06-13 05:14:36 -05:00
|
|
|
echo -e "Automatic Reference Data Update for PR ${REASON:-(Unknown)}\n" > /tmp/cmsg
|
2017-01-26 03:52:49 -06:00
|
|
|
if [ -z "$REASON" ]
|
|
|
|
then
|
|
|
|
echo -e "Reason: fill in this\n" >> /tmp/cmsg
|
|
|
|
else
|
|
|
|
echo -e "Reason: $REASON\n" >> /tmp/cmsg
|
|
|
|
fi
|
2019-10-15 07:36:05 -05:00
|
|
|
for dep in opm-common opm-grid opm-material opm-models
|
2017-01-16 01:06:26 -06:00
|
|
|
do
|
|
|
|
pushd $WORKSPACE/deps/$dep > /dev/null
|
|
|
|
name=`printf "%-14s" $dep`
|
|
|
|
rev=`git rev-parse HEAD`
|
|
|
|
echo -e "$name = $rev" >> /tmp/cmsg
|
|
|
|
popd > /dev/null
|
|
|
|
done
|
|
|
|
echo -e "opm-simulators = `git rev-parse HEAD`" >> /tmp/cmsg
|
|
|
|
|
2020-06-13 05:14:36 -05:00
|
|
|
echo -e "\n### Changed Tests ###\n" >> /tmp/cmsg
|
|
|
|
for t in ${changed_tests}
|
|
|
|
do
|
|
|
|
echo " * ${t}" >> /tmp/cmsg
|
|
|
|
done
|
|
|
|
|
2018-04-09 03:40:34 -05:00
|
|
|
cd $OPM_TESTS_ROOT
|
2017-01-26 03:52:49 -06:00
|
|
|
if [ -n "$BRANCH_NAME" ]
|
|
|
|
then
|
|
|
|
git checkout -b $BRANCH_NAME origin/master
|
|
|
|
fi
|
|
|
|
|
2017-11-10 08:06:47 -06:00
|
|
|
# Add potential new files
|
|
|
|
untracked=`git status | sed '1,/Untracked files/d' | tail -n +3 | head -n -2`
|
|
|
|
if [ -n "$untracked" ]
|
|
|
|
then
|
|
|
|
git add $untracked
|
|
|
|
fi
|
|
|
|
|
2017-01-26 03:52:49 -06:00
|
|
|
if [ -z "$REASON" ]
|
|
|
|
then
|
|
|
|
git commit -a -t /tmp/cmsg
|
|
|
|
else
|
|
|
|
git commit -a -F /tmp/cmsg
|
|
|
|
fi
|
2019-11-27 02:00:22 -06:00
|
|
|
|
|
|
|
rm -rf $TMPDIR
|