Mesa (master): ci/deqp: Switch to a new dEQP runner written in Rust.

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Nov 6 20:00:12 UTC 2020


Module: Mesa
Branch: master
Commit: bf29daa1b5a33ce2cc62b7743b4bf7220c7b8539
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf29daa1b5a33ce2cc62b7743b4bf7220c7b8539

Author: Eric Anholt <eric at anholt.net>
Date:   Thu Oct 29 10:29:28 2020 -0700

ci/deqp: Switch to a new dEQP runner written in Rust.

I found the C++ runner hard to develop on, and we had stability issues and
outstanding feature needs that made me want something I felt good about
hacking on.  Thus, Rewrite It In Rust of the deqp runner.

The new runner includes:

- Skip lists don't reshuffle the test list.
- Known-flake handling without resorting to skip lists (fixing our main CI
  reliability issue on a3xx right now).
- Per-thread Vulkan shader caches should speed up VK CI runtime.
- Tracking of crashes separate from fails (so we can see progress on that
  front).
- Logging of deqp stderr spam (particularly assertion failures!) in the CI
  log.
- Integrated QPA filtering so we don't have bash perf issues for it.
- Logging of what caselist to go look at for a given error report (in red,
  so it's easier to find in your CI log).
- The code is 1/3 unit tests, and easy to extend for more coverage.
- Non-LAVA CI runs create a failures.csv in artifacts that you can check
  in as your deqp-*-fails.txt file.
- Test runtime is included in results.csv so you can debug how to speed up
  your CI job.
- Pretty summary at the end of the run of slow/flaky/failed tests.

Since this is a new runner with a different RNG, the test groups are
shuffled one more time.  This seems to result in some panfrost T720
stability issues (See its new deqp-panfrost-t720-flakes.txt), and one new
flake in freedreno a630.

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

---

 .gitlab-ci.yml                                  |    7 +-
 .gitlab-ci/bare-metal/rootfs-setup.sh           |    2 +-
 .gitlab-ci/bare-metal/serial_buffer.py          |    2 +-
 .gitlab-ci/build-cts-runner.sh                  |   10 -
 .gitlab-ci/build-deqp-runner.sh                 |    9 +
 .gitlab-ci/build-rust.sh                        |   31 +
 .gitlab-ci/container/container_post_build.sh    |    3 +
 .gitlab-ci/container/lava_build.sh              |   17 +-
 .gitlab-ci/container/x86_test-gl.sh             |    7 +-
 .gitlab-ci/container/x86_test-vk.sh             |    8 +-
 .gitlab-ci/create-cross-file.sh                 |   17 +
 .gitlab-ci/deqp-freedreno-a307-fails.txt        |  960 +--
 .gitlab-ci/deqp-freedreno-a307-flakes.txt       |    1 +
 .gitlab-ci/deqp-freedreno-a530-fails.txt        |  132 +-
 .gitlab-ci/deqp-freedreno-a630-bypass-fails.txt |  172 +-
 .gitlab-ci/deqp-freedreno-a630-fails.txt        |   46 +-
 .gitlab-ci/deqp-freedreno-a630-flakes.txt       |    3 +
 .gitlab-ci/deqp-lima-fails.txt                  |  132 +-
 .gitlab-ci/deqp-llvmpipe-fails.txt              |  156 +-
 .gitlab-ci/deqp-panfrost-g52-fails.txt          |  268 +-
 .gitlab-ci/deqp-panfrost-t720-fails.txt         |   77 +-
 .gitlab-ci/deqp-panfrost-t720-flakes.txt        |   15 +
 .gitlab-ci/deqp-panfrost-t860-fails.txt         |   84 +-
 .gitlab-ci/deqp-radv-fiji-aco-fails.txt         |   56 +-
 .gitlab-ci/deqp-radv-navi10-aco-fails.txt       |   18 +-
 .gitlab-ci/deqp-radv-navi14-aco-fails.txt       |   18 +-
 .gitlab-ci/deqp-radv-pitcairn-aco-fails.txt     |   22 +-
 .gitlab-ci/deqp-radv-polaris10-aco-fails.txt    |   18 +-
 .gitlab-ci/deqp-radv-raven-aco-fails.txt        |   18 +-
 .gitlab-ci/deqp-radv-vega10-aco-fails.txt       |   18 +-
 .gitlab-ci/deqp-runner.sh                       |  174 +-
 .gitlab-ci/deqp-softpipe-fails.txt              | 1730 ++---
 .gitlab-ci/deqp-softpipe-flakes.txt             |    2 +
 .gitlab-ci/deqp-virgl-gl-fails.txt              | 9502 +++++++++++------------
 .gitlab-ci/deqp-virgl-gles-fails.txt            |  250 +-
 .gitlab-ci/lava-deqp.yml.jinja2                 |    1 -
 .gitlab-ci/lava-gitlab-ci.yml                   |    4 +-
 37 files changed, 6961 insertions(+), 7029 deletions(-)

Diff:   http://cgit.freedesktop.org/mesa/mesa/diff/?id=bf29daa1b5a33ce2cc62b7743b4bf7220c7b8539


More information about the mesa-commit mailing list