1#!/usr/bin/env bash 2# shellcheck disable=SC2086 # we want word splitting 3# shellcheck disable=SC1091 # paths only become valid at runtime 4 5. "${SCRIPTS_DIR}/setup-test-env.sh" 6 7set -ex 8 9INSTALL=$PWD/install 10 11# Set up the driver environment. 12export LD_LIBRARY_PATH=$INSTALL/lib/ 13 14export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/ 15# libva spams driver open info by default, and that happens per testcase. 16export LIBVA_MESSAGING_LEVEL=1 17 18if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then 19 GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt" 20fi 21 22# Default to an empty known flakes file if it doesn't exist. 23touch "$INSTALL/$GPU_VERSION-flakes.txt" 24 25if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then 26 GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt" 27fi 28 29if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then 30 GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt" 31fi 32 33if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then 34 GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt" 35fi 36 37set +e 38 39gtest-runner \ 40 run \ 41 --gtest $GTEST \ 42 --output ${RESULTS_DIR} \ 43 --jobs ${FDO_CI_CONCURRENT:-4} \ 44 $GTEST_SKIPS \ 45 --flakes $INSTALL/$GPU_VERSION-flakes.txt \ 46 --fraction-start ${CI_NODE_INDEX:-1} \ 47 --fraction $((${CI_NODE_TOTAL:-1} * ${GTEST_FRACTION:-1})) \ 48 --env "LD_PRELOAD=$TEST_LD_PRELOAD" \ 49 $GTEST_RUNNER_OPTIONS 50 51GTEST_EXITCODE=$? 52 53deqp-runner junit \ 54 --testsuite gtest \ 55 --results $RESULTS_DIR/failures.csv \ 56 --output $RESULTS_DIR/junit.xml \ 57 --limit 50 \ 58 --template "See $ARTIFACTS_BASE_URL/results/{{testcase}}.xml" 59 60# Report the flakes to the IRC channel for monitoring (if configured): 61if [ -n "$FLAKES_CHANNEL" ]; then 62 python3 $INSTALL/report-flakes.py \ 63 --host irc.oftc.net \ 64 --port 6667 \ 65 --results $RESULTS_DIR/results.csv \ 66 --known-flakes $INSTALL/$GPU_VERSION-flakes.txt \ 67 --channel "$FLAKES_CHANNEL" \ 68 --runner "$CI_RUNNER_DESCRIPTION" \ 69 --job "$CI_JOB_ID" \ 70 --url "$CI_JOB_URL" \ 71 --branch "${CI_MERGE_REQUEST_SOURCE_BRANCH_NAME:-$CI_COMMIT_BRANCH}" \ 72 --branch-title "${CI_MERGE_REQUEST_TITLE:-$CI_COMMIT_TITLE}" || true 73fi 74 75exit $GTEST_EXITCODE 76