| #!/usr/bin/env bash | |
| # shellcheck disable=SC2086 # we want word splitting | |
| # shellcheck disable=SC1091 # paths only become valid at runtime | |
| . "${SCRIPTS_DIR}/setup-test-env.sh" | |
| set -ex | |
| INSTALL=$PWD/install | |
| # Set up the driver environment. | |
| export LD_LIBRARY_PATH=$INSTALL/lib/ | |
| export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ | |
| # libva spams driver open info by default, and that happens per testcase. | |
| export LIBVA_MESSAGING_LEVEL=1 | |
| if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then | |
| GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt" | |
| fi | |
| # Default to an empty known flakes file if it doesn't exist. | |
| touch "$INSTALL/$GPU_VERSION-flakes.txt" | |
| if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then | |
| GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt" | |
| fi | |
| if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then | |
| GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt" | |
| fi | |
| if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then | |
| GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt" | |
| fi | |
| set +e | |
| gtest-runner \ | |
| run \ | |
| --gtest $GTEST \ | |
| --output ${RESULTS_DIR} \ | |
| --jobs ${FDO_CI_CONCURRENT:-4} \ | |
| $GTEST_SKIPS \ | |
| --flakes $INSTALL/$GPU_VERSION-flakes.txt \ | |
| --fraction-start ${CI_NODE_INDEX:-1} \ | |
| --fraction $((${CI_NODE_TOTAL:-1} * ${GTEST_FRACTION:-1})) \ | |
| --env "LD_PRELOAD=$TEST_LD_PRELOAD" \ | |
| $GTEST_RUNNER_OPTIONS | |
| GTEST_EXITCODE=$? | |
| deqp-runner junit \ | |
| --testsuite gtest \ | |
| --results $RESULTS_DIR/failures.csv \ | |
| --output $RESULTS_DIR/junit.xml \ | |
| --limit 50 \ | |
| --template "See $ARTIFACTS_BASE_URL/results/{{testcase}}.xml" | |
| # Report the flakes to the IRC channel for monitoring (if configured): | |
| if [ -n "$FLAKES_CHANNEL" ]; then | |
| python3 $INSTALL/report-flakes.py \ | |
| --host irc.oftc.net \ | |
| --port 6667 \ | |
| --results $RESULTS_DIR/results.csv \ | |
| --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \ | |
| --channel "$FLAKES_CHANNEL" \ | |
| --runner "$CI_RUNNER_DESCRIPTION" \ | |
| --job "$CI_JOB_ID" \ | |
| --url "$CI_JOB_URL" \ | |
| --branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \ | |
| --branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}" || true | |
| fi | |
| exit $GTEST_EXITCODE |