ci: Add sanity checking that dEQP gets the expected GL_RENDERER.
authorEric Anholt <eric@anholt.net>
Fri, 17 Apr 2020 19:39:32 +0000 (12:39 -0700)
committerMarge Bot <eric+marge@anholt.net>
Mon, 27 Apr 2020 22:10:10 +0000 (22:10 +0000)
It's easy to get something wrong in the driver build or container or
something that results in falling back to swrast, and then your only clue
was runtime and how your failure cases suspiciously match a swrast
driver's.

Reviewed-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>

.gitlab-ci.yml
.gitlab-ci/bare-metal/fastboot.sh
.gitlab-ci/bare-metal/init.sh
.gitlab-ci/deqp-runner.sh
.gitlab-ci/lava-gitlab-ci.yml

index c8d288e3832124251309f9a021b8e1ad440c811f..b28cdb8fc6104b77bfa1dd6e57c80b5ef4e84bd2 100644 (file)
@@ -690,6 +690,7 @@ llvmpipe-gles2:
     LP_NUM_THREADS: 0
     DEQP_EXPECTED_FAILS: deqp-llvmpipe-fails.txt
     LIBGL_ALWAYS_SOFTWARE: "true"
+    DEQP_EXPECTED_RENDERER: llvmpipe
   extends:
     - .deqp-test-gl
     - .llvmpipe-rules
@@ -702,6 +703,7 @@ softpipe-gles2:
     DEQP_EXPECTED_FAILS: deqp-softpipe-fails.txt
     DEQP_SKIPS: deqp-softpipe-skips.txt
     GALLIUM_DRIVER: "softpipe"
+    DEQP_EXPECTED_RENDERER: softpipe
 
 softpipe-gles3:
   parallel: 2
@@ -727,6 +729,7 @@ virgl-gles2:
     DEQP_EXPECTED_FAILS: deqp-virgl-fails.txt
     LIBGL_ALWAYS_SOFTWARE: "true"
     GALLIUM_DRIVER: "virpipe"
+    DEQP_EXPECTED_RENDERER: virgl
   extends:
     - .deqp-test-gl
     - .virgl-rules
@@ -775,6 +778,7 @@ arm64_a630_gles2:
     NIR_VALIDATE: 0
     DEQP_PARALLEL: 4
     FLAKES_CHANNEL: "#freedreno-ci"
+    DEQP_EXPECTED_RENDERER: FD630
   tags:
     - mesa-cheza
   dependencies:
@@ -809,6 +813,7 @@ arm64_a306_gles2:
     DEQP_SKIPS: deqp-freedreno-a307-skips.txt
     DEQP_VER: gles2
     DEQP_PARALLEL: 4
+    DEQP_EXPECTED_RENDERER: FD307
   script:
     - .gitlab-ci/bare-metal/fastboot.sh
   needs:
@@ -835,6 +840,7 @@ arm64_a530_gles2:
     BM_CMDLINE: "ip=dhcp console=ttyMSM0,115200n8"
     DEQP_EXPECTED_FAILS: deqp-freedreno-a530-fails.txt
     DEQP_SKIPS: deqp-freedreno-a530-skips.txt
+    DEQP_EXPECTED_RENDERER: FD530
   tags:
     - google-freedreno-db820c
 
index 3136f0f580128453da5b07a3a3fd2a5b984807c0..f2693c6b384be7a98daffa79299eb0f9c9adbf4e 100755 (executable)
@@ -46,6 +46,7 @@ cp -Rp $BM_ROOTFS rootfs
 cp $BM/init.sh rootfs/init
 sed -i "s|DEQP_VER_REPLACE|$DEQP_VER|g" rootfs/init
 sed -i "s|DEQP_PARALLEL_REPLACE|$DEQP_PARALLEL|g" rootfs/init
+sed -i "s|DEQP_EXPECTED_RENDERER_REPLACE|$DEQP_EXPECTED_RENDERER|g" rootfs/init
 sed -i "s|CI_NODE_INDEX_REPLACE|$CI_NODE_INDEX|g" rootfs/init
 sed -i "s|CI_NODE_TOTAL_REPLACE|$CI_NODE_TOTAL|g" rootfs/init
 
index 437474b6266fdf473ea4d415f95415a1449177cb..ba0168691d0fa9f946964ad23e05971bf6ff173d 100644 (file)
@@ -11,6 +11,7 @@ mount -t devpts devpts /dev/pts
 export DEQP_NO_SAVE_RESULTS=1
 export DEQP_VER=DEQP_VER_REPLACE
 export DEQP_PARALLEL=DEQP_PARALLEL_REPLACE
+export DEQP_EXPECTED_RENDERER=DEQP_EXPECTED_RENDERER_REPLACE
 export CI_NODE_INDEX=CI_NODE_INDEX_REPLACE
 export CI_NODE_TOTAL=CI_NODE_TOTAL_REPLACE
 export DEQP_SKIPS=deqp-skips.txt
index 5467be58f304021bcace021a6242365f07213200..1ac0f07bd317e4b3cac1da3e4aa2e8047a5a99a5 100755 (executable)
@@ -188,6 +188,11 @@ parse_renderer() {
     VERSION=`grep -A1 TestCaseResult.\*info.version $RESULTS/deqp-info.qpa | grep '<Text' | sed 's|.*<Text>||g' | sed 's|</Text>||g'`
     echo "Renderer: $RENDERER"
     echo "Version: $VERSION "
+
+    if ! echo $RENDERER | grep -q $DEQP_EXPECTED_RENDERER; then
+        echo "Expected GL_RENDERER $DEQP_EXPECTED_RENDERER"
+        exit 1
+    fi
 }
 
 check_renderer() {
index 9e923c48194db365afccd5546f0cc12874ee244b..2e15e923b680a8472d72f36ecd3d69e0ef22e624 100644 (file)
@@ -83,7 +83,7 @@ panfrost-t720-gles2:arm64:
   variables:
     DEVICE_TYPE: sun50i-h6-pine-h64
     GPU_VERSION: panfrost-t720
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T720"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -98,7 +98,7 @@ panfrost-t760-gles2:armhf:
     GPU_VERSION: panfrost-t760
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T760"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -113,7 +113,7 @@ panfrost-t860-gles2:arm64:
     GPU_VERSION: panfrost-t860
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
     FILES_HOST_URL: "https://mesa-ci-lava-files.freedesktop.org"
   tags:
@@ -129,7 +129,7 @@ panfrost-t860-gles3:arm64:
     BOOT_METHOD: depthcharge
     KERNEL_IMAGE_TYPE: ""
     DEQP_VERSION: gles3
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T860"
     CI_NODE_INDEX: 1
     CI_NODE_TOTAL: 5
     FILES_HOST_NAME: "mesa-ci-lava-files.freedesktop.org"
@@ -145,7 +145,7 @@ panfrost-t860-gles3:arm64:
     DEVICE_TYPE: meson-gxm-khadas-vim2
     GPU_VERSION: panfrost-t820
     LAVA_TAGS: panfrost
-    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6"
+    ENV_VARS: "PAN_MESA_DEBUG=gles3 DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=T820"
   tags:
     - mesa-ci-aarch64-lava-baylibre
 
@@ -157,7 +157,7 @@ panfrost-t860-gles3:arm64:
   variables:
     DEVICE_TYPE: sun8i-h3-libretech-all-h3-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=3"
+    ENV_VARS: "DEQP_PARALLEL=3 DEQP_EXPECTED_RENDERER=Mali400"
   tags:
     - mesa-ci-aarch64-lava-baylibre
 
@@ -168,6 +168,6 @@ panfrost-t860-gles3:arm64:
   variables:
     DEVICE_TYPE: meson-gxl-s905x-libretech-cc
     GPU_VERSION: lima
-    ENV_VARS: "DEQP_PARALLEL=6"
+    ENV_VARS: "DEQP_PARALLEL=6 DEQP_EXPECTED_RENDERER=Mali450"
   tags:
     - mesa-ci-aarch64-lava-baylibre