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 :).