1 | #!/usr/bin/env bash
|
---|
2 | # shellcheck disable=SC2086 # we want word splitting
|
---|
3 |
|
---|
4 | set -ex
|
---|
5 |
|
---|
6 | INSTALL=$PWD/install
|
---|
7 |
|
---|
8 | # Set up the driver environment.
|
---|
9 | export LD_LIBRARY_PATH=$INSTALL/lib/
|
---|
10 |
|
---|
11 | RESULTS="$PWD/${GTEST_RESULTS_DIR:-results}"
|
---|
12 | mkdir -p "$RESULTS"
|
---|
13 |
|
---|
14 | export LIBVA_DRIVERS_PATH=$INSTALL/lib/dri/
|
---|
15 | # libva spams driver open info by default, and that happens per testcase.
|
---|
16 | export LIBVA_MESSAGING_LEVEL=1
|
---|
17 |
|
---|
18 | if [ -e "$INSTALL/$GPU_VERSION-fails.txt" ]; then
|
---|
19 | GTEST_RUNNER_OPTIONS="$GTEST_RUNNER_OPTIONS --baseline $INSTALL/$GPU_VERSION-fails.txt"
|
---|
20 | fi
|
---|
21 |
|
---|
22 | # Default to an empty known flakes file if it doesn't exist.
|
---|
23 | touch "$INSTALL/$GPU_VERSION-flakes.txt"
|
---|
24 |
|
---|
25 | if [ -n "$GALLIUM_DRIVER" ] && [ -e "$INSTALL/$GALLIUM_DRIVER-skips.txt" ]; then
|
---|
26 | GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GALLIUM_DRIVER-skips.txt"
|
---|
27 | fi
|
---|
28 |
|
---|
29 | if [ -n "$DRIVER_NAME" ] && [ -e "$INSTALL/$DRIVER_NAME-skips.txt" ]; then
|
---|
30 | GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$DRIVER_NAME-skips.txt"
|
---|
31 | fi
|
---|
32 |
|
---|
33 | if [ -e "$INSTALL/$GPU_VERSION-skips.txt" ]; then
|
---|
34 | GTEST_SKIPS="$GTEST_SKIPS --skips $INSTALL/$GPU_VERSION-skips.txt"
|
---|
35 | fi
|
---|
36 |
|
---|
37 | set +e
|
---|
38 |
|
---|
39 | gtest-runner \
|
---|
40 | run \
|
---|
41 | --gtest $GTEST \
|
---|
42 | --output ${RESULTS} \
|
---|
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 |
|
---|
51 | GTEST_EXITCODE=$?
|
---|
52 |
|
---|
53 | deqp-runner junit \
|
---|
54 | --testsuite gtest \
|
---|
55 | --results $RESULTS/failures.csv \
|
---|
56 | --output $RESULTS/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):
|
---|
61 | if [ -n "$FLAKES_CHANNEL" ]; then
|
---|
62 | python3 $INSTALL/report-flakes.py \
|
---|
63 | --host irc.oftc.net \
|
---|
64 | --port 6667 \
|
---|
65 | --results $RESULTS/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
|
---|
73 | fi
|
---|
74 |
|
---|
75 | exit $GTEST_EXITCODE
|
---|