[Piglit] [PATCH v2 2/2] framework/summary/common.py: Add enabled, disabled, and skip to changes

Ilia Mirkin imirkin at alum.mit.edu
Wed Oct 21 12:58:18 PDT 2015


On Wed, Oct 21, 2015 at 3:53 PM, Dylan Baker <baker.dylan.c at gmail.com> wrote:
> On Wed, Oct 21, 2015 at 02:52:38PM -0400, Ilia Mirkin wrote:
>> On Wed, Oct 21, 2015 at 2:24 PM, Ilia Mirkin <imirkin at alum.mit.edu> wrote:
>> > On Wed, Oct 21, 2015 at 2:23 PM,  <baker.dylan.c at gmail.com> wrote:
>> >> From: Dylan Baker <baker.dylan.c at gmail.com>
>> >>
>> >> This changes the changes category to include every case were the first
>> >> status is not the same as the previous status, including
>> >> <status> <-> notrun, except when <status> is skip.
>> >>
>> >> This fixes the failing unit tests from the previous commit.
>> >>
>> >> v2: - don't include skip <-> notrun (Ilia)
>> >>
>> >> cc: Michel Dänzer <michel at daenzer.net>
>> >> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
>> >> ---
>> >>  framework/summary/common.py | 21 ++++++++++++++++++++-
>> >>  1 file changed, 20 insertions(+), 1 deletion(-)
>> >>
>> >> diff --git a/framework/summary/common.py b/framework/summary/common.py
>> >> index 95af02a..671a540 100644
>> >> --- a/framework/summary/common.py
>> >> +++ b/framework/summary/common.py
>> >> @@ -101,7 +101,26 @@ class Names(object):
>> >>
>> >>      @lazy_property
>> >>      def changes(self):
>> >> -        return self.__diff(operator.ne)
>> >> +        def handler(names, name, prev, cur):
>> >> +            """Handle missing tests.
>> >> +
>> >> +            For changes we want literally anything where the first result
>> >> +            isn't the same as the second result.
>> >> +
>> >> +            """
>> >> +            def _get(res):
>> >> +                try:
>> >> +                    return res.get_result(name)
>> >> +                except KeyError:
>> >> +                    return so.NOTRUN
>> >> +
>> >> +            # Add any case of a != b except skip <-> notrun
>> >> +            cur = _get(cur)
>> >> +            prev = _get(prev)
>> >> +            if cur != prev and {cur, prev} != {so.SKIP, so.NOTRUN}:
>> >
>> > Looks like a python3-ism?
>>
>> Or not. Looks like python2.7 added it -- fun. Looks right.
>>
>> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
>>
>
> Yeah, I'm still not sure about how I feel about {} being both the dict
> and the set brackets. In this case though the terseness lets this fit on
> one line, and I like that a lot.

If you wanted to be all fancy (aka even more difficult to read), you
could do something like

if {cur, prev} - {so.SKIP, so.NOTRUN}:
  asdf

But normally I just do set([...]). I'll have to remember this {} thing.

>
>> >
>> >> +                names.add(name)
>> >> +
>> >> +        return self.__diff(operator.ne, handler=handler)
>> >>
>> >>      @lazy_property
>> >>      def problems(self):
>> >> --
>> >> 2.6.1
>> >>
>> >> _______________________________________________
>> >> Piglit mailing list
>> >> Piglit at lists.freedesktop.org
>> >> http://lists.freedesktop.org/mailman/listinfo/piglit


More information about the Piglit mailing list