diff options
author | Eric Anholt <eric@anholt.net> | 2019-03-26 10:21:29 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2019-03-28 13:55:19 -0700 |
commit | 58c168ad93d770a3c48cc07daaa8a2acd1c0729d (patch) | |
tree | 2e6c05d39def255f7ae3b3ec94ec2a57720b913b | |
parent | 82aab622952197003799d756f06881b2c7df48bc (diff) |
test: Execute rendercheck tests without using piglit.
This gets us parallelism between rendercheck tests at the cost of
spinning up more Xvfbs, and nicer logging of the tests that are run.
Signed-off-by: Eric Anholt <eric@anholt.net>
-rw-r--r-- | test/meson.build | 79 | ||||
-rwxr-xr-x | test/scripts/xinit-piglit-session.sh | 2 |
2 files changed, 79 insertions, 2 deletions
diff --git a/test/meson.build b/test/meson.build index 26503ce0c..81f10955b 100644 --- a/test/meson.build +++ b/test/meson.build @@ -8,18 +8,93 @@ piglit_env = environment() piglit_env.set('XSERVER_DIR', meson.source_root()) piglit_env.set('XSERVER_BUILDDIR', meson.build_root()) +rendercheck_tests = [ + ['blend/All/a8r8g8b8', '-t blend -f a8r8g8b8'], + ['blend/All/x8r8g8b8', '-t blend -f a8r8g8b8,x8r8g8b8'], + ['blend/All/a2r10g10b10', '-t blend -f a8r8g8b8,a2r10g10b10'], + ['blend/Clear', '-t blend -o clear'], + ['blend/Src', '-t blend -o src'], + ['blend/Over', '-t blend -o over'], + ['composite/All/a8r8g8b8', '-t composite -f a8r8g8b8'], + ['composite/All/x8r8g8b8', '-t composite -f a8r8g8b8,x8r8g8b8'], + ['composite/All/a2r10g10b10', '-t composite -f a8r8g8b8,a2r10g10b10'], + ['ca composite/All/a8r8g8b8', '-t cacomposite -f a8r8g8b8'], + ['ca composite/All/a8', '-t cacomposite -f a8r8g8b8,a8'], + ['ca composite/All/x8r8g8b8', '-t cacomposite -f a8r8g8b8,x8r8g8b8'], + ['ca composite/All/a2r10g10b10', '-t cacomposite -f a8r8g8b8,a2r10g10b10'], + ['fill', '-t fill'], + ['bug7366', '-t bug7366'], + ['destination coordinates', '-t dcoords'], + ['source coordinates', '-t scoords'], + ['mask coordinates', '-t mcoords'], + ['translated source coordinates', '-t tscoords'], + ['translated mask coordinates', '-t tmcoords'], + ['triangles', '-t triangles'], + ['LibreOffice xRGB', '-t libreoffice_xrgb'], + ['GTK ARGB vs xBGR', '-t gtk_argb_xbgr'], +] + +rendercheck = find_program('rendercheck', required:false) +xvfb_args = [ + xvfb_server.full_path(), + '-screen', + 'scrn', + '1280x1024x24', + ] + if get_option('xvfb') - test('xvfb-piglit', find_program('scripts/xvfb-piglit.sh'), + test('XTS', + find_program('scripts/xvfb-piglit.sh'), env: piglit_env, timeout: 1200, + suite: 'xvfb' ) + if rendercheck.found() + foreach rctest: rendercheck_tests + test(rctest[0], + simple_xinit, + # Use full_path so people can copy and paste the + # command line from testlog.txt easily. + args: [ + rendercheck.path(), + rctest[1].split(' '), + '--', + xvfb_args, + ], + suite: 'xvfb' + ) + endforeach + endif + if get_option('xephyr') and build_glamor - test('xephyr-glamor', + test('XTS', find_program('scripts/xephyr-glamor-piglit.sh'), env: piglit_env, timeout: 1200, + suite: 'xephr-glamor', ) + + if rendercheck.found() + foreach rctest: rendercheck_tests + test(rctest[0], + simple_xinit, + args: [simple_xinit.full_path(), + rendercheck.path(), + rctest[1].split(' '), + '----', + xephyr_server.full_path(), + '-glamor', + '-glamor-skip-present', + '-schedMax', '2000', + '--', + xvfb_args, + ], + suite: 'xephr-glamor', + timeout: 300, + ) + endforeach + endif endif endif diff --git a/test/scripts/xinit-piglit-session.sh b/test/scripts/xinit-piglit-session.sh index b495c96d6..97bf2b9e0 100755 --- a/test/scripts/xinit-piglit-session.sh +++ b/test/scripts/xinit-piglit-session.sh @@ -31,5 +31,7 @@ PIGLIT_ARGS="$PIGLIT_ARGS -x xlistfontswithinfo@4" PIGLIT_ARGS="$PIGLIT_ARGS -x xloadqueryfont@1" PIGLIT_ARGS="$PIGLIT_ARGS -x xqueryfont@1" PIGLIT_ARGS="$PIGLIT_ARGS -x xqueryfont@2" +# Run as meson unit tests. +PIGLIT_ARGS="$PIGLIT_ARGS -x rendercheck" exec ./piglit run xts-render $PIGLIT_ARGS $PIGLIT_RESULTS_DIR |