[SCM] build.samba.org - branch master updated

Jelmer Vernooij jelmer at samba.org
Tue Nov 9 22:57:12 MST 2010


The branch, master has been updated
       via  9b5d8e0 Cope with intermediate errors.
       via  d08baa5 Cope with other_failures being the same.
       via  794ca6c Use standard infrastructure for cmp.
      from  1866e85 Return to the current directory after dealing with git revision calculation

http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 9b5d8e01a53fcf035b153b05b06fb364e33c4822
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Nov 10 06:57:53 2010 +0100

    Cope with intermediate errors.

commit d08baa5a63fbb39346b1decacb5aaabdc5ee5adb
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Nov 10 06:41:33 2010 +0100

    Cope with other_failures being the same.

commit 794ca6c26b0070b0caf6e6181e1c1cfa084fa1ff
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Wed Nov 10 06:23:18 2010 +0100

    Use standard infrastructure for cmp.

-----------------------------------------------------------------------

Summary of changes:
 buildfarm/data.py            |   23 ++++++++-------------
 buildfarm/tests/test_data.py |   44 ++++++++++++++++++++++++++++-------------
 2 files changed, 39 insertions(+), 28 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/data.py b/buildfarm/data.py
index ffe4d64..8b73ee9 100644
--- a/buildfarm/data.py
+++ b/buildfarm/data.py
@@ -57,28 +57,23 @@ class BuildStatus(object):
             return False
         return cmp(self._status_tuple(), other._status_tuple())
 
-    def cmp(a, b):
-
-        #Give more importance to other failures
-        if len(b.other_failures):
+    def __cmp__(self, other):
+        other_extra = other.other_failures - self.other_failures
+        self_extra = self.other_failures - other.other_failures
+        # Give more importance to other failures
+        if other_extra:
             return 1
-        if len(a.other_failures):
+        if self_extra:
             return -1
 
-        la = len(a.stages)
-        lb = len(b.stages)
+        la = len(self.stages)
+        lb = len(other.stages)
         if la > lb:
             return 1
         elif lb > la:
             return -1
         else:
-            if la == 0:
-                return 0
-
-            sa = a.stages[-1]
-            sb = b.stages[-1]
-
-            return cmp(sb[1], sa[1])
+            return cmp(other.stages, self.stages)
 
     def __str__(self):
         return repr((self.stages, self.other_failures))
diff --git a/buildfarm/tests/test_data.py b/buildfarm/tests/test_data.py
index aff868a..e4ebb54 100755
--- a/buildfarm/tests/test_data.py
+++ b/buildfarm/tests/test_data.py
@@ -257,38 +257,54 @@ class BuildStatusTest(testtools.TestCase):
         a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
         b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
 
-        self.assertEquals(a.cmp(b), 0)
+        self.assertEquals(cmp(a, b), 0)
 
-        self.assertEquals(data.BuildStatus().cmp(data.BuildStatus()), 0)
+    def test_cmp_empty(self):
+        self.assertEquals(cmp(data.BuildStatus(), data.BuildStatus()), 0)
+
+    def test_cmp_other_failures(self):
+        self.assertEquals(cmp(
+            data.BuildStatus((), set(["foo"])), data.BuildStatus((), set(["foo"]))),
+            0)
+
+    def test_cmp_intermediate_errors(self):
+        a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
+        b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 7), ("CC_CHECKER", 3)])
+        self.assertEquals(cmp(a, b), 1)
 
     def test_cmp_bigger(self):
         a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 3)])
         b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
         c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
-        d = data.BuildStatus([], ("super error"))
-        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], ("super error"))
+        d = data.BuildStatus([], set(["super error"]))
+        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
 
         # less stage means smaller, more error/higher error code means smaller as well
-        self.assertEquals(b.cmp(a), 1)
+        self.assertEquals(cmp(b, a), 1)
 
-        self.assertEquals(a.cmp(c), 1)
+        self.assertEquals(cmp(a, c), 1)
 
-        self.assertEquals(a.cmp(d), 1)
+        self.assertEquals(cmp(a, d), 1)
 
-        self.assertEquals(b.cmp(e), 1)
+        self.assertEquals(cmp(b, e), 1)
 
     def test_cmp_smaller(self):
         a = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 2)])
         b = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)])
         c = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3)])
-        d = data.BuildStatus([], ("super error"))
-        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], ("super error"))
+        d = data.BuildStatus([], set(["super error"]))
+        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
 
         # less stage means smaller, more error/higher error code means smaller as well
-        self.assertEquals(a.cmp(b), -1)
+        self.assertEquals(cmp(a, b), -1)
+
+        self.assertEquals(cmp(c, b), -1)
 
-        self.assertEquals(c.cmp(b), -1)
+        self.assertEquals(cmp(d, c), -1)
 
-        self.assertEquals(d.cmp(c), -1)
+        self.assertEquals(cmp(e, c), -1)
 
-        self.assertEquals(e.cmp(c), -1)
+    def test_cmp_with_other_failures(self):
+        d = data.BuildStatus([], set(["super error"]))
+        e = data.BuildStatus([("CONFIGURE", 2), ("TEST", 3), ("CC_CHECKER", 1)], set(["super error"]))
+        self.assertEquals(cmp(d, e), -1)


-- 
build.samba.org


More information about the samba-cvs mailing list