#!/bin/bash
set -e

DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
PYVER=$(py3versions -sv)

declare -a SKIP_TEST_LIST

# skip numba tests due to limited availability
SKIP_TEST_LIST=(numba)

# armel and riscv64 time out when running tests, so skip the slowest of them
case $DEB_HOST_ARCH in
    armel|riscv64)
        # run verbose to monitor failing tests
        VERBOSE_TESTS="-v"
        SKIP_TEST_LIST=(${SKIP_TEST_LIST[@]} test_dof_transformations.py test_interpolation_between_elements.py)
        ;;
esac

echo "skipping tests with SKIP_TEST_LIST=${SKIP_TEST_LIST[@]}"

SKIP_TEST_KEYWORDS=""
for t in ${SKIP_TEST_LIST[@]}; do
    if [ "x${SKIP_TEST_KEYWORDS}" = "x" ]; then
        SKIP_TEST_KEYWORDS=$t
    else
        SKIP_TEST_KEYWORDS="${SKIP_TEST_KEYWORDS} or $t"
    fi
done
if [ "x${SKIP_TEST_KEYWORDS}" != "x" ]; then
    SKIP_TEST_KEYWORDS="not ( ${SKIP_TEST_KEYWORDS} )"
fi

for pyver in $PYVER; do
    python$pyver -m pytest --durations=20 ${VERBOSE_TESTS} -k "${SKIP_TEST_KEYWORDS}" --color=no test
done

