More fixes, implement Build.__repr__.
authorJelmer Vernooij <jelmer@samba.org>
Fri, 12 Nov 2010 19:17:09 +0000 (20:17 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Fri, 12 Nov 2010 19:17:09 +0000 (20:17 +0100)
buildfarm/data.py
buildfarm/tests/test_data.py
import-and-analyse.py

index 24e05d7e9affa90fca2062b6df43459d7b7e32e6..8c30b7edadced0fc61651d8d2c10b26c73fe6d7d 100644 (file)
@@ -177,6 +177,12 @@ class Build(object):
         self.compiler = compiler
         self.rev = rev
 
+    def __repr__(self):
+        if self.rev:
+            return "<%s: revision %s of %s on %s using %s>" % (self.__class__.__name__, self.rev, self.tree, self.host, self.compiler)
+        else:
+            return "<%s: %s on %s using %s>" % (self.__class__.__name__, self.tree, self.host, self.compiler)
+
     def remove(self):
         os.unlink(self.basename + ".log")
         if os.path.exists(self.basename+".err"):
@@ -460,7 +466,7 @@ class BuildResultStore(object):
         # $st->execute($tree, $rev, $commit, $host, $compiler, $checksum, $stat->ctime, $status_html)
 
     def get_previous_revision(self, tree, host, compiler, revision):
-        raise NoSuchBuildError(self):
+        raise NoSuchBuildError(tree, host, compiler, revision)
 
 """
     def get_previous_revision(self, tree, host, compiler, revision):
index 43451da62d7f0eaa415ec8e399f12c3377a79e03..f89cfb1772fa83433f3187079ee4a7e1a985e174 100755 (executable)
@@ -47,6 +47,11 @@ class BuildResultStoreTestBase(object):
         self.assertFalse(os.path.exists(path))
         self.assertRaises(data.NoSuchBuildError, self.x.get_build, "tdb", "charis", "cc", "12")
 
+    def test_build_repr(self):
+        path = self.create_mock_logfile("tdb", "charis", "cc", "12")
+        build = self.x.get_build("tdb", "charis", "cc", "12")
+        self.assertEquals("<%s: revision 12 of tdb on charis using cc>" % build.__class__.__name__, repr(build))
+
     def test_build_age_mtime(self):
         path = self.create_mock_logfile("tdb", "charis", "cc", "12")
         # Set mtime to something in the past
index 89dae0ac5dfc50576948b6234469dacf97581e93..9431f56bcef5ac94737c0d3db4b7ea72b3e2d685 100755 (executable)
@@ -94,7 +94,7 @@ for build in buildfarm.get_new_builds():
 
     try:
         prev_rev = buildfarm.builds.get_previous_revision(build.tree, build.host, build.compiler, rev)
-    except data.NoSuchBuild:
+    except data.NoSuchBuildError:
         # Can't send a nastygram until there are 2 builds..
         continue
     else: