#!/usr/bin/env bash # SPDX-License-Identifier: MIT # © Collabora Limited # Author: Guilherme Gallo # This script runs unit/integration tests related with LAVA CI tools # shellcheck disable=SC1091 # The relative paths in this file only become valid at runtime. # shellcheck disable=SC2086 # quoting PYTEST_VERBOSE makes us pass an empty path . "${SCRIPTS_DIR}/setup-test-env.sh" section_start pytest_setup "Setting up pytest environment" set -exu if [ -z "${CI_PROJECT_DIR:-}" ]; then CI_PROJECT_DIR="$(dirname "${0}")/../" fi if [ -z "${MESA_PYTEST_VENV:-}" ]; then MESA_PYTEST_VENV="${CI_PROJECT_DIR}/.venv-pytest" fi # Use this script in a python virtualenv for isolation python3 -m venv "${MESA_PYTEST_VENV}" . "${MESA_PYTEST_VENV}"/bin/activate python3 -m pip install --break-system-packages -r "${CI_PROJECT_DIR}/bin/ci/requirements.txt" python3 -m pip install --break-system-packages -r "${CI_PROJECT_DIR}/bin/ci/test/requirements.txt" LIB_TEST_DIR=${CI_PROJECT_DIR}/.gitlab-ci/tests SCRIPT_TEST_DIR=${CI_PROJECT_DIR}/bin/ci uncollapsed_section_switch pytest "Running pytest" PYTHONPATH="${LIB_TEST_DIR}:${SCRIPT_TEST_DIR}:${PYTHONPATH:-}" python3 -m \ pytest "${LIB_TEST_DIR}" "${SCRIPT_TEST_DIR}" \ -W ignore::DeprecationWarning \ --junitxml=artifacts/ci_scripts_report.xml \ -m 'not slow' \ ${PYTEST_VERBOSE:-} section_end pytest