mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2024-11-30 13:44:06 +08:00
ef175ea594
If you're emitting a section header under set -x, you will see: + section_start foo "foo" + x_off [the section header] This is kind of annoying. Instead of trying to squash it everywhere by dancing around local set +x management, play some extremely stupid tricks with shells to make sure we never emit it. Signed-off-by: Daniel Stone <daniels@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31602>
76 lines
2.3 KiB
Bash
Executable File
76 lines
2.3 KiB
Bash
Executable File
#!/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
|