summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2019-03-26 10:21:29 -0700
committerEric Anholt <eric@anholt.net>2019-03-28 13:55:19 -0700
commit58c168ad93d770a3c48cc07daaa8a2acd1c0729d (patch)
tree2e6c05d39def255f7ae3b3ec94ec2a57720b913b
parent82aab622952197003799d756f06881b2c7df48bc (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.build79
-rwxr-xr-xtest/scripts/xinit-piglit-session.sh2
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