[Piglit] [PATCH 2/2] xts: Add a set of rendercheck tests to run.
Dylan Baker
baker.dylan.c at gmail.com
Wed Jul 8 16:01:07 PDT 2015
I have a few style nitpicks on both patches, with those addressed for
the series:
Reviewed-by: Dylan Baker <baker.dylan.c at gmail.com>
On Wed, Jul 08, 2015 at 02:38:51PM -0700, Eric Anholt wrote:
> We don't do a full run, because that takes approximately an eternity.
> However, running a small subset can be useful to catch certain bugs in
> Render implementations. This passes on an fb implementation in <4
> seconds on my laptop.
> ---
> tests/xts-render.py | 4 ++++
> tests/xts.py | 55 +++++++++++++++++++++++++++++++++++++++++++++++++----
> 2 files changed, 55 insertions(+), 4 deletions(-)
>
> diff --git a/tests/xts-render.py b/tests/xts-render.py
> index c9adece..aba87f0 100644
> --- a/tests/xts-render.py
> +++ b/tests/xts-render.py
> @@ -23,6 +23,10 @@ from framework import core
> from framework.profile import load_test_profile
>
> def xts_render_filter(path, test):
> + # Keep any tests that aren't from xts.
> + if 'xts5' not in path:
> + return True
> +
> # All of Xlib9 is for rendering.
> return 'xlib9' in path
>
> diff --git a/tests/xts.py b/tests/xts.py
> index d9e3a3e..c8c8717 100644
> --- a/tests/xts.py
> +++ b/tests/xts.py
> @@ -160,11 +160,20 @@ class XTSTest(Test): # pylint: disable=too-few-public-methods
>
> self.result['images'] = self._process_log_for_images(log)
two newlines between toplevel classes and functions please
>
> +class RendercheckTest(Test):
> + def __init__(self, args):
> + super(RendercheckTest, self).__init__(['rendercheck'] + args)
> + self.testname = "rendercheck " + " ".join(args)
>
> -def _populate_profile():
> - """ Populate the profile attribute """
> - # Add all tests to the profile
> - profile = XTSProfile() # pylint: disable=redefined-outer-name
> + def interpret_result(self):
> + if self.result['returncode'] == 0:
> + self.result['result'] = 'pass'
> + elif self.result['returncode'] == 77:
> + self.result['result'] = 'skip'
> + else:
> + self.result['result'] = 'fail'
> +
> +def populate_profile_xts(profile):
> fpath = os.path.join(X_TEST_SUITE, 'xts5')
> for dirpath, _, filenames in os.walk(fpath):
> for fname in filenames:
> @@ -192,6 +201,44 @@ def _populate_profile():
> os.path.join(dirpath, testname),
> testname,
> num)
> +
> +def add_rendercheck_test(profile, path, args):
> + path = 'rendercheck/' + path
Could we use os.path.join here?
> + test = RendercheckTest(args.split(' '))
> + group = grouptools.join(grouptools.from_path(path))
> + profile.test_list[group] = test
> +
> +def populate_profile_rendercheck(profile):
> + add_rendercheck_test(profile, 'blend/All/a8r8g8b8', '-t blend -f a8r8g8b8')
> + add_rendercheck_test(profile, 'blend/All/x8r8g8b8', '-t blend -f a8r8g8b8,x8r8g8b8')
> + add_rendercheck_test(profile, 'blend/All/a2r10g10b10', '-t blend -f a8r8g8b8,a2r10g10b10')
> + add_rendercheck_test(profile, 'blend/Clear', '-t blend -o clear')
> + add_rendercheck_test(profile, 'blend/Src', '-t blend -o src')
> + add_rendercheck_test(profile, 'blend/Over', '-t blend -o over')
> + add_rendercheck_test(profile, 'composite/All/a8r8g8b8', '-t composite -f a8r8g8b8')
> + add_rendercheck_test(profile, 'composite/All/x8r8g8b8', '-t composite -f a8r8g8b8,x8r8g8b8')
> + add_rendercheck_test(profile, 'composite/All/a2r10g10b10', '-t composite -f a8r8g8b8,a2r10g10b10')
> + add_rendercheck_test(profile, 'ca composite/All/a8r8g8b8', '-t cacomposite -f a8r8g8b8')
> + add_rendercheck_test(profile, 'ca composite/All/x8r8g8b8', '-t cacomposite -f a8r8g8b8,x8r8g8b8')
> + add_rendercheck_test(profile, 'ca composite/All/a2r10g10b10', '-t cacomposite -f a8r8g8b8,a2r10g10b10')
> + add_rendercheck_test(profile, 'fill', '-t fill')
> + add_rendercheck_test(profile, 'bug7366', '-t bug7366')
> + add_rendercheck_test(profile, 'destination coordinates', '-t dcoords')
> + add_rendercheck_test(profile, 'source coordinates', '-t scoords')
> + add_rendercheck_test(profile, 'mask coordinates', '-t mcoords')
> + add_rendercheck_test(profile, 'translated source coordinates', '-t tscoords')
> + add_rendercheck_test(profile, 'translated mask coordinates', '-t tmcoords')
> + add_rendercheck_test(profile, 'triangles', '-t triangles')
> + add_rendercheck_test(profile, 'LibreOffice xRGB', '-t libreoffice_xrgb')
> + add_rendercheck_test(profile, 'GTK ARGB vs xBGR', '-t gtk_argb_xbgr')
> + add_rendercheck_test(profile, 'large blend source', '-t large_blend_src')
> +
> +def _populate_profile():
> + """ Populate the profile attribute """
> + # Add all tests to the profile
> + profile = XTSProfile() # pylint: disable=redefined-outer-name
> + populate_profile_xts(profile)
> + populate_profile_rendercheck(profile)
Could you preface both of these functions with underscores? That hides
them from export.
> return profile
>
>
> --
> 2.1.4
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20150708/dd28ad3f/attachment.sig>
More information about the Piglit
mailing list