Skip to content

piglit tests support

So, here's the branch I'm using to run piglit tests using deqp-runner (see also issue #2 (closed))

The main goal for me is to get a single way to run deqp/piglit + the nice features detections from deqp-runner (flake detection, csv outputs files).

The changes to be able to run them are:

  • move away from the "a test = a test name = String" logic (using enum TestCase)
  • parse piglit xml(.gz) profile file
  • parse piglit results

General comments about this branch:

  • I'm not a seasoned Rust developer so I'm fully aware that the code I wrote might be terrible.
  • it seems to do the job and is able to run piglit test profile.
  • I've split/rebased/squashed commits to get a git history that makes sense (more or less). Each individual commit could be probably split even further, but I didn't want to spend to much time refining them if the general idea behind the implementation was wrong.
  • it lacks unit tests

Example command line to run tests:

$ piglit-runner run --piglit-folder ~/code/piglit --profile quick --output /tmp/quick --skips skips --baseline results.csv

Performance: running the quick profile takes about 290 sec with deqp-runner, and about 350 sec with piglit

piglit command line uses similar option to the ones I use in deqp-runner:

$ PIGLIT_PLATFORM=gbm MESA_GLSL_CACHE_DISABLE=1 MESA_DEBUG=silent PIGLIT_NO_FAST_SKIP=1 ./piglit run --process-isolation false -x gs-max-output -x maxsize -x "max[_-].*size" -x maxuniformblocksize -x "robustness.*infinite_loop" -x ext_external_obj quick /tmp/quick_piglit

edit: I didn't investigate what causes the perf difference yet the numbers were wrong :).

Edited by Pierre-Eric Pelloux-Prayer

Merge request reports