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 c8d288e..b28cdb8 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 3136f0f..f2693c6 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 437474b..ba01686 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 5467be5..1ac0f07 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 9e923c4..2e15e92 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