#!/bin/sh

set -ue

# Making a copy of the tests:

rsync -a tests ${AUTOPKGTEST_TMP}

# Adjusting changed paths:

perl -i -pe 's|\./(tmp-)|$1|g' ${AUTOPKGTEST_TMP}/tests/shoutputs/*.out

# Define function to bypass individual tests:

bypass () {
    cat > ${AUTOPKGTEST_TMP}/tests/$1.chk <<END
#!/bin/sh

echo Test skipped by request - $2
exit 1
END

    chmod 755 ${AUTOPKGTEST_TMP}/tests/$1.chk
}

bypass shtests/check_help_option         'not applicable for installation tests'
bypass shtests/check_option_descriptions 'not applicable for installation tests'
bypass shtests/check_version_option      'not applicable for installation tests'

bypass cases/cif_find_symmetry_001 'flaky'
bypass cases/cif_find_symmetry_002 'flaky'
bypass cases/cif_find_symmetry_003 'flaky'
bypass cases/cif_find_symmetry_004 'flaky'
bypass cases/cif_find_symmetry_005 'flaky'
bypass cases/cif_find_symmetry_006 'flaky'
bypass cases/cif_find_symmetry_007 'flaky'
bypass cases/cif_find_symmetry_008 'flaky'
bypass cases/cif_find_symmetry_009 'flaky'
bypass cases/cif_find_symmetry_010 'flaky'
bypass cases/cif_find_symmetry_011 'flaky'
bypass cases/cif_find_symmetry_012 'flaky'
bypass cases/cif_find_symmetry_013 'flaky'

bypass cases/cif_Fcalc_001 'flaky'

bypass shtests/cif_tcod_tree_001 'locale-dependent behaviour'
bypass shtests/cif_tcod_tree_003 'locale-dependent behaviour'
bypass shtests/cif_tcod_tree_005 'locale-dependent behaviour'
bypass shtests/cif_tcod_tree_007 'locale-dependent behaviour'

bypass cases/cod2rdf_027 'depends on Perl database driver package version'

locale

make test shtest \
     SCRIPT_DIR=/usr/bin \
     SCRIPT_TST_DIR=${AUTOPKGTEST_TMP}/tests/cases \
     SHELL_TSTDIR=${AUTOPKGTEST_TMP}/tests/shtests \
     SHELL_OUTDIR=${AUTOPKGTEST_TMP}/tests/shoutputs \
     OUTPUT_DIR=${AUTOPKGTEST_TMP}/tests/outputs \
     TMP_DIR=${AUTOPKGTEST_TMP} \
     C_PROGRAM_EXE_FILES="" \
     COMPILED_MODULES="" \
     DIFF_DEPEND="" \
     LOCAL_LIB_FILES="" \
     filter_perl_messages_user='perl -pe "s|^/usr/bin|scripts|g; s|\Q'${AUTOPKGTEST_TMP}'\E/?||g"'

echo

make listdiff \
     SCRIPT_DIR=/usr/bin \
     SCRIPT_TST_DIR=${AUTOPKGTEST_TMP}/tests/cases \
     SHELL_TSTDIR=${AUTOPKGTEST_TMP}/tests/shtests \
     SHELL_OUTDIR=${AUTOPKGTEST_TMP}/tests/shoutputs \
     OUTPUT_DIR=${AUTOPKGTEST_TMP}/tests/outputs \
     DIFF_DEPEND=""

# Checking the existance of non-empty DIFF files to set the exit status:

if [ -n "$(find ${AUTOPKGTEST_TMP}/tests -name \*.diff ! -empty)" ]
then
    echo Failed tests exist \(non-empty .diff files\)
    exit 1
fi
