From: Ian Romanick <[email protected]> Doesn't actually run forever. Passing tests are put in a directory called "pass", and failing tests are put in a directory called "fail". The test will terminate when 1,000 failing tests are generated.
This is an example of how random_ubo.py can be used. This is how I found SIX bugs in Mesa's UBO code. I don't think we want this in piglit, but it should live somewhere. Signed-off-by: Ian Romanick <[email protected]> --- random_runs.sh | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 random_runs.sh diff --git a/random_runs.sh b/random_runs.sh new file mode 100644 index 0000000..2d3af90 --- /dev/null +++ b/random_runs.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +typeset -i i +typeset -i f + +i=1 +f=0 + +if [ -d pass ]; then + rm -f pass/*.shader_test +else + mkdir pass +fi + +if [ -d fail ]; then + rm -f fail/*.shader_test +else + mkdir fail +fi + +while true; do + t=$(printf "0x%08x.shader_test" $i) + + python2 generated_tests/random_ubo.py 330 > $t + + if mesa installed bin/shader_runner ./$t -auto -fbo | grep -q pass; then + mv $t pass/ + else + mv $t fail/ + echo $t + f=$((f + 1)) + fi + + if [ $f -ge 1000 ]; then + echo $i total tests + exit 0 + fi + + i=$((i + 1)) +done -- 1.8.1.4 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
