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>
This commit is contained in:
Eric Anholt 2019-03-26 10:21:29 -07:00
parent 82aab62295
commit 58c168ad93
2 changed files with 79 additions and 2 deletions

View File

@ -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

View File

@ -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