#!/bin/bash

set -e -u

cp -a docs tests "${AUTOPKGTEST_TMP}"

export DJANGO_SETTINGS_MODULE=tests.django.django_settings

PYTEST_OPTIONS="\
 --ignore=${AUTOPKGTEST_TMP}/tests/channels/test_layers.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/channels/test_testing.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/cli/test_locate_definition.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/http/test_graphql_ide.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/http/test_upload.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/litestar/test_context.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/litestar/test_response_headers.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/litestar/test_response_status.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/sanic/test_file_upload.py \
 --ignore=${AUTOPKGTEST_TMP}/tests/test/test_client.py \
"

for py3vers in $(py3versions -s); do
    echo
    echo "***************************"
    echo "*** Testing with ${py3vers}"
    echo "***************************"
    echo
    cd "${AUTOPKGTEST_TMP}" && \
        echo -e "Content of current working folder:\n" && \
        ls -la && \
        echo -e "Running tests...\n" && \
        PYTHONPATH=. "${py3vers}" -m pytest $PYTEST_OPTIONS -k \
                "not test_fetch_data_from_db \
             and not test_lazy_types_loaded_from_same_module" tests && \
        rm -rf .pytest_cache || exit 1
done

echo

exit 0

