diff options
Diffstat (limited to 'drivers/gpu/drm/ci/igt_runner.sh')
| -rwxr-xr-x | drivers/gpu/drm/ci/igt_runner.sh | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/drivers/gpu/drm/ci/igt_runner.sh b/drivers/gpu/drm/ci/igt_runner.sh index f1a08b9b146f..b24d4bc53cda 100755 --- a/drivers/gpu/drm/ci/igt_runner.sh +++ b/drivers/gpu/drm/ci/igt_runner.sh @@ -19,21 +19,12 @@ set +e cat /sys/kernel/debug/dri/*/state set -e +mkdir -p /lib/modules case "$DRIVER_NAME" in - rockchip|meson) - export IGT_FORCE_DRIVER="panfrost" - ;; - mediatek) - if [ "$GPU_VERSION" = "mt8173" ]; then - export IGT_FORCE_DRIVER=${DRIVER_NAME} - elif [ "$GPU_VERSION" = "mt8183" ]; then - export IGT_FORCE_DRIVER="panfrost" - fi - ;; - amdgpu) + 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/. - modprobe amdgpu + mv /install/modules/lib/modules/* /lib/modules/. || true + modprobe --first-time $DRIVER_NAME ;; esac @@ -57,28 +48,30 @@ 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 / +curl -L --retry 4 -f --retry-all-errors --retry-delay 60 -s $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" /install/testlist.txt + 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" /install/testlist.txt; then +if ! grep -q "core_getversion" $TESTLIST; then # Add the line to the file - echo "core_getversion" >> /install/testlist.txt + echo "core_getversion" >> $TESTLIST fi set +e igt-runner \ run \ --igt-folder /igt/libexec/igt-gpu-tools \ - --caselist /install/testlist.txt \ - --output /results \ + --caselist $TESTLIST \ + --output $RESULTS_DIR \ + -vvvv \ $IGT_SKIPS \ $IGT_FLAKES \ $IGT_FAILS \ @@ -88,13 +81,21 @@ set -e deqp-runner junit \ --testsuite IGT \ - --results /results/failures.csv \ - --output /results/junit.xml \ + --results $RESULTS_DIR/failures.csv \ + --output $RESULTS_DIR/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 + --template "See $ARTIFACTS_BASE_URL/results/{{testcase}}.xml" + +# Check if /proc/lockdep_stats exists +if [ -f /proc/lockdep_stats ]; then + # If debug_locks is 0, it indicates lockdep is detected and it turns itself off. + debug_locks=$(grep 'debug_locks:' /proc/lockdep_stats | awk '{print $2}') + if [ "$debug_locks" -eq 0 ] && [ "$ret" -eq 0 ]; then + echo "Warning: LOCKDEP issue detected. Please check dmesg logs for more information." + cat /proc/lockdep_stats + ret=101 + fi +fi cd $oldpath exit $ret |
