[Piglit] Nearly finished: shader_runner running THOUSANDS of tests per process
dylan at pnwbakers.com
Fri May 27 17:53:54 UTC 2016
Quoting Marek Olšák (2016-04-16 15:16:34)
> This makes shader_runner very fast. The expected result is 40%
> decrease in quick.py running time, or a 12x faster piglit run if you
> run shader tests alone.
> 1) Any number of test files can be specified as command-line
> parameters. Those command lines can be insanely long.
> 2) shader_runner can re-create the window & GL context if test
> requirements demand different settings when going from one test to
> 3) all.py generates one shader_runner instance per group of tests
> (usually one or two directories - tests and generated_tests).
> Individual tests are reported as subtests.
> The shader_runner part is done. The python part needs more work.
> What's missing:
> Handling of crashes. If shader_runner crashes:
> - The crash is not shown in piglit results (other tests with subtests
> already have the same behavior)
> - The remaining tests will not be run.
> The ShaderTest python class has the list of all files and should be
> able to catch a crash, check how many test results have been written,
> and restart shader_runner with the remaining tests.
> shader_runner prints TEST %i: and then the subtest result. %i is the
> i-th file in the list. Python can parse that and re-run shader_runner
> with the first %i tests removed. (0..%i-1 -> parse subtest results; %i
> -> crash; %i+1.. -> run again)
> I'm by no means a python expert, so here's an alternative solution (for me):
> - Catch crash signals in shader_runner.
> - In the single handler, re-run shader_runner with the remaining tests.
> Opinions welcome,
> Piglit mailing list
> Piglit at lists.freedesktop.org
I'd picked this up and was finishing it up, I have a branch on my github
(https://github.com/dcbaker/piglit wip/multi-shader_runner), I'm just
trying to make sure we're not duplicating effort.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 473 bytes
More information about the Piglit