From 58c168ad93d770a3c48cc07daaa8a2acd1c0729d Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 26 Mar 2019 10:21:29 -0700 Subject: [PATCH] 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 --- test/meson.build | 79 +++++++++++++++++++++++++++- 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