93 lines
2.6 KiB
Bash
93 lines
2.6 KiB
Bash
|
#!/bin/sh
|
||
|
# SPDX-License-Identifier: MIT
|
||
|
|
||
|
set -ex
|
||
|
|
||
|
export IGT_FORCE_DRIVER=${DRIVER_NAME}
|
||
|
export PATH=$PATH:/igt/bin/
|
||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/igt/lib/aarch64-linux-gnu/:/igt/lib/x86_64-linux-gnu:/igt/lib:/igt/lib64
|
||
|
|
||
|
# Uncomment the below to debug problems with driver probing
|
||
|
: '
|
||
|
ls -l /dev/dri/
|
||
|
cat /sys/kernel/debug/devices_deferred
|
||
|
cat /sys/kernel/debug/device_component/*
|
||
|
'
|
||
|
|
||
|
# Dump drm state to confirm that kernel was able to find a connected display:
|
||
|
set +e
|
||
|
cat /sys/kernel/debug/dri/*/state
|
||
|
set -e
|
||
|
|
||
|
case "$DRIVER_NAME" in
|
||
|
amdgpu|vkms)
|
||
|
# Cannot use HWCI_KERNEL_MODULES as at that point we don't have the module in /lib
|
||
|
mv /install/modules/lib/modules/* /lib/modules/. || true
|
||
|
modprobe --first-time $DRIVER_NAME
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt" ]; then
|
||
|
IGT_SKIPS="--skips /install/xfails/$DRIVER_NAME-$GPU_VERSION-skips.txt"
|
||
|
fi
|
||
|
|
||
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt" ]; then
|
||
|
IGT_FLAKES="--flakes /install/xfails/$DRIVER_NAME-$GPU_VERSION-flakes.txt"
|
||
|
fi
|
||
|
|
||
|
if [ -e "/install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt" ]; then
|
||
|
IGT_FAILS="--baseline /install/xfails/$DRIVER_NAME-$GPU_VERSION-fails.txt"
|
||
|
fi
|
||
|
|
||
|
if [ "`uname -m`" = "aarch64" ]; then
|
||
|
ARCH="arm64"
|
||
|
elif [ "`uname -m`" = "armv7l" ]; then
|
||
|
ARCH="arm"
|
||
|
else
|
||
|
ARCH="x86_64"
|
||
|
fi
|
||
|
|
||
|
curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s ${FDO_HTTP_CACHE_URI:-}$PIPELINE_ARTIFACTS_BASE/$ARCH/igt.tar.gz | tar --zstd -v -x -C /
|
||
|
|
||
|
TESTLIST="/igt/libexec/igt-gpu-tools/ci-testlist.txt"
|
||
|
|
||
|
# If the job is parallel at the gitab job level, take the corresponding fraction
|
||
|
# of the caselist.
|
||
|
if [ -n "$CI_NODE_INDEX" ]; then
|
||
|
sed -ni $CI_NODE_INDEX~$CI_NODE_TOTAL"p" $TESTLIST
|
||
|
fi
|
||
|
|
||
|
# core_getversion checks if the driver is loaded and probed correctly
|
||
|
# so run it in all shards
|
||
|
if ! grep -q "core_getversion" $TESTLIST; then
|
||
|
# Add the line to the file
|
||
|
echo "core_getversion" >> $TESTLIST
|
||
|
fi
|
||
|
|
||
|
set +e
|
||
|
igt-runner \
|
||
|
run \
|
||
|
--igt-folder /igt/libexec/igt-gpu-tools \
|
||
|
--caselist $TESTLIST \
|
||
|
--output /results \
|
||
|
-vvvv \
|
||
|
$IGT_SKIPS \
|
||
|
$IGT_FLAKES \
|
||
|
$IGT_FAILS \
|
||
|
--jobs 1
|
||
|
ret=$?
|
||
|
set -e
|
||
|
|
||
|
deqp-runner junit \
|
||
|
--testsuite IGT \
|
||
|
--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"
|
||
|
|
||
|
# Store the results also in the simpler format used by the runner in ChromeOS CI
|
||
|
#sed -r 's/(dmesg-warn|pass)/success/g' /results/results.txt > /results/results_simple.txt
|
||
|
|
||
|
cd $oldpath
|
||
|
exit $ret
|