From: Dylan Baker <[email protected]>

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 <[email protected]>
Signed-off-by: Dylan Baker <[email protected]>
---
 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}:
+                names.add(name)
+
+        return self.__diff(operator.ne, handler=handler)
 
     @lazy_property
     def problems(self):
-- 
2.6.1

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to