Don't rely on stages having the same names.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 14 Dec 2010 07:57:07 +0000 (08:57 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Tue, 14 Dec 2010 07:57:07 +0000 (08:57 +0100)
buildfarm/build.py

index 28ff6d9c9d298a125cc606ea9423707519000893..7689364a6654e3f1ff4e61078f0f840d2eb2a1b0 100644 (file)
@@ -130,9 +130,13 @@ class BuildStatus(object):
         if len(self.stages) < len(older.stages):
             # Less stages completed
             return True
-        for ((old_name, old_result), (new_name, new_result)) in zip(
-            older.stages, self.stages):
-            assert old_name == new_name, "build stage name mismatch: %s != %s" % (old_name, new_name)
+        old_stages = dict(older.stages)
+        new_stages = dict(self.stages)
+        for name, new_result in new_stages.iteritems():
+            try:
+                old_result = old_stages[name]
+            except KeyError:
+                continue
             if new_result == old_result:
                 continue
             if new_result < 0 and old_result >= 0: