[Piglit] [PATCH] framework: Try to fix the exclusions of llvmpipe test list.

Dylan Baker baker.dylan.c at gmail.com
Fri Mar 6 11:39:16 PST 2015


On Fri, Mar 06, 2015 at 10:55:18AM -0800, Dylan Baker wrote:
> On Fri, Mar 06, 2015 at 12:14:42PM +0000, Jose Fonseca wrote:
> > The
> > 
> >   del profile.test_list[key]
> > 
> > statement was silently failing because the TestDict's key lowering magic
> > was not happening for deleted items.
> > 
> > Unfortunately this still is not enough to fix the glean exclusions:
> > somehow all glean test names are being munged with extra whitespace.
> > For example:
> > 
> >   $ ./piglit-print-commands.py tests/llvmpipe.py | grep '^glean/p'
> >   warning: test glean/pointAtten does not exist
> >   warning: test glean/texCombine does not exist
> >   [...]
> >   glean/p o i n t a t t e n ::: bin/glean -o -v -v -v -t +pointAtten --quick
> > 
> > But couldn't find out where this happens.
> > ---
> >  framework/profile.py | 4 ++++
> >  tests/llvmpipe.py    | 3 ++-
> >  2 files changed, 6 insertions(+), 1 deletion(-)
> > 
> > diff --git a/framework/profile.py b/framework/profile.py
> > index e8e8ba1..409b87e 100644
> > --- a/framework/profile.py
> > +++ b/framework/profile.py
> > @@ -80,6 +80,10 @@ class TestDict(dict):  # pylint: disable=too-few-public-methods
> >          """Lower the value before returning."""
> >          return super(TestDict, self).__getitem__(key.lower())
> >  
> > +    def __delitem__(self, key):
> > +        """Lower the value before returning."""
> > +        return super(TestDict, self).__delitem__(key.lower())
> > +
> 
> This is absolutely the right way to handle this, I should have done
> this.
> 
> >  
> >  class TestProfile(object):
> >      """ Class that holds a list of tests for execution
> > diff --git a/tests/llvmpipe.py b/tests/llvmpipe.py
> > index 64c651d..d3c9e6d 100644
> > --- a/tests/llvmpipe.py
> > +++ b/tests/llvmpipe.py
> > @@ -1,6 +1,7 @@
> >  # -*- coding: utf-8 -*-
> >  
> >  import platform
> > +import sys
> >  
> >  from framework.grouptools import join
> >  from tests.gpu import profile
> > @@ -12,7 +13,7 @@ def remove(key):
> >      try:
> >          del profile.test_list[key]
> >      except KeyError:
> > -        pass
> > +        sys.stderr.write('warning: test %s does not exist\n' % key)
> 
> If you import print_function from __future__ you can do this:
> print('warning: test {} does not exist\n'.format(key), file=sys.stderr)

errrr, but don't add the newline, print will do that for you.. I should
have read that more carefully...

> 
> Otherwise you'll need to add sys.stderr.flush() to ensure that it
> actually makes it's way to the console.
> 
> With the print function change, this patch is:
> Reviewed-by: Dylan Baker <baker.dylan.c at gmail.com>
> 
> >  
> >  
> >  # These take too long or too much memory
> > -- 
> > 2.1.0
> > 
> > _______________________________________________
> > 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/20150306/36041c3a/attachment.sig>


More information about the Piglit mailing list