| #!/usr/bin/env bash |
| # shellcheck disable=SC2086 # we want word splitting |
| |
| set -ex |
| |
| INSTALL=$PWD/install |
| |
| # Set up the driver environment. |
| export LD_LIBRARY_PATH=$INSTALL/lib/ |
| |
| RESULTS="$PWD/${GTEST_RESULTS_DIR:-results}" |
| mkdir -p "$RESULTS" |
| |
| 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} \ |
| --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/failures.csv \ |
| --output $RESULTS/junit.xml \ |
| --limit 50 \ |
| --template "See https://$CI_PROJECT_ROOT_NAMESPACE.pages.freedesktop.org/-/$CI_PROJECT_NAME/-/jobs/$CI_JOB_ID/artifacts/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/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 |