[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