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

Jelmer Vernooij jelmer at samba.org
Sun Nov 21 19:17:26 MST 2010


The branch, master has been updated
       via  7e86dfd Drop checker prefix (color should be sufficient).
       via  65ebc3f Fix tests.
      from  44b0f42 Switch to python web interface.

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


- Log -----------------------------------------------------------------
commit 7e86dfdff3c063df78a7f484ad3fe1c7979bab7e
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Nov 22 03:16:41 2010 +0100

    Drop checker prefix (color should be sufficient).

commit 65ebc3f63410fab9ef41d2dd895a39b000e8569f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Nov 22 03:15:21 2010 +0100

    Fix tests.

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

Summary of changes:
 buildfarm/data.py                 |   13 +++-----
 buildfarm/sqldb.py                |    4 +-
 buildfarm/tests/__init__.py       |    1 +
 buildfarm/tests/test_buildfarm.py |    9 +++--
 buildfarm/tests/test_data.py      |   58 ++++++++++++++++++++----------------
 import-and-analyse.py             |    6 ++--
 web/build_farm.css                |    3 --
 7 files changed, 48 insertions(+), 46 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/data.py b/buildfarm/data.py
index 5ae1286..bec96f0 100644
--- a/buildfarm/data.py
+++ b/buildfarm/data.py
@@ -203,15 +203,12 @@ def build_status_from_logs(log, err):
 
 def revision_from_log(log):
     revid = None
-    timestamp = None
     for l in log:
         if l.startswith("BUILD COMMIT REVISION: "):
             revid = l.split(":", 1)[1].strip()
-        elif l.startswith("BUILD COMMIT TIME"):
-            timestamp = l.split(":", 1)[1].strip()
     if revid is None:
         raise MissingRevisionInfo()
-    return (revid, timestamp)
+    return revid
 
 
 class NoSuchBuildError(Exception):
@@ -294,14 +291,14 @@ class Build(object):
             f.close()
 
     def summary(self):
-        (revid, timestamp) = self.revision_details()
+        revid = self.revision_details()
         status = self.status()
         return BuildSummary(self.host, self.tree, self.compiler, revid, status)
 
     def revision_details(self):
         """get the revision of build
 
-        :return: Tuple with revision id and timestamp (if available)
+        :return: revision id
         """
         f = self.read_log()
         try:
@@ -384,7 +381,7 @@ class BuildResultStore(object):
             if build.revision:
                 rev = build.revision
             else:
-                rev, timestamp = build.revision_details()
+                rev = build.revision_details()
             self.get_build(build.tree, build.host, build.compiler, rev)
         except NoSuchBuildError:
             return False
@@ -427,7 +424,7 @@ class BuildResultStore(object):
         return ret
 
     def upload_build(self, build):
-        (rev, rev_timestamp) = build.revision_details()
+        rev = build.revision_details()
 
         new_basename = self.build_fname(build.tree, build.host, build.compiler, rev)
         try:
diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py
index 7dd1f83..47c33d3 100644
--- a/buildfarm/sqldb.py
+++ b/buildfarm/sqldb.py
@@ -79,7 +79,7 @@ class StormBuild(Build):
         return BuildStatus.__deserialize__(self.status_str)
 
     def revision_details(self):
-        return (self.revision, None)
+        return self.revision
 
     def log_checksum(self):
         return self.checksum
@@ -221,7 +221,7 @@ class StormCachingBuildResultStore(BuildResultStore):
             assert build.host == existing_build.host
             assert build.compiler == existing_build.compiler
             return existing_build
-        rev, timestamp = build.revision_details()
+        rev = build.revision_details()
         super(StormCachingBuildResultStore, self).upload_build(build)
         new_basename = self.build_fname(build.tree, build.host, build.compiler, rev)
         new_build = StormBuild(new_basename, build.tree, build.host,
diff --git a/buildfarm/tests/__init__.py b/buildfarm/tests/__init__.py
index b510dbb..3c40379 100644
--- a/buildfarm/tests/__init__.py
+++ b/buildfarm/tests/__init__.py
@@ -36,6 +36,7 @@ class BuildFarmTestCase(TestCase):
             err_path = self.create_mock_logfile(tree, host, compiler, kind="stderr", contents=stderr_contents, mtime=mtime)
         build = Build(log_path[:-4], tree, host, compiler)
         store.upload_build(build)
+        return log_path
 
     def create_mock_logfile(self, tree, host, compiler, rev=None,
             kind="stdout", contents="FOO", mtime=None):
diff --git a/buildfarm/tests/test_buildfarm.py b/buildfarm/tests/test_buildfarm.py
index a988be3..e213f90 100644
--- a/buildfarm/tests/test_buildfarm.py
+++ b/buildfarm/tests/test_buildfarm.py
@@ -108,10 +108,10 @@ class BuildFarmTestBase(object):
         builds = list(self.x.get_last_builds())
         self.assertEquals(2, len(builds))
         self.assertEquals(4200, builds[0].upload_time)
-        self.assertEquals("42", builds[0].revision_details()[0])
+        self.assertEquals("42", builds[0].revision_details())
         self.assertEquals("trivial", builds[0].tree)
         self.assertEquals(1200, builds[1].upload_time)
-        self.assertEquals("12", builds[1].revision_details()[0])
+        self.assertEquals("12", builds[1].revision_details())
         self.assertEquals("other", builds[1].tree)
 
     def test_get_host_builds_empty(self):
@@ -128,8 +128,9 @@ class BuildFarmTestBase(object):
         self.assertEquals("master", tree.branch)
 
     def test_get_build_rev(self):
-        path = self.create_mock_logfile("tdb", "charis", "cc", "12",
-            contents="This is what a log file looks like.")
+        path = self.upload_mock_logfile(self.x.builds, "tdb", "charis", "cc",
+            stdout_contents="This is what a log file looks like.\n"
+            "BUILD COMMIT REVISION: 12\n")
         build = self.x.get_build("tdb", "charis", "cc", "12")
         self.assertEquals("tdb", build.tree)
         self.assertEquals("charis", build.host)
diff --git a/buildfarm/tests/test_data.py b/buildfarm/tests/test_data.py
index c507a8c..fd39675 100755
--- a/buildfarm/tests/test_data.py
+++ b/buildfarm/tests/test_data.py
@@ -40,14 +40,17 @@ class BuildResultStoreTestBase(object):
             "%s/data/oldrevs/build.mytree.myhost.cc-123" % self.path)
 
     def test_build_remove(self):
-        path = self.create_mock_logfile("tdb", "charis", "cc", "12")
+        path = self.upload_mock_logfile(self.x, "tdb", "charis", "cc", 
+                "BUILD COMMIT REVISION: 12\n")
         build = self.x.get_build("tdb", "charis", "cc", "12")
+        logname = build.basename + ".log"
         build.remove()
-        self.assertFalse(os.path.exists(path))
+        self.assertFalse(os.path.exists(logname))
         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")
+        path = self.upload_mock_logfile(self.x, "tdb", "charis", "cc", 
+            "BUILD COMMIT REVISION: 12\n")
         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))
 
@@ -55,56 +58,59 @@ class BuildResultStoreTestBase(object):
         self.assertRaises(data.NoSuchBuildError, self.x.get_build, "tdb",
             "charis", "cc", "12")
 
-    def test_build_age_ctime(self):
-        path = self.create_mock_logfile("tdb", "charis", "cc", "12")
-        # Set mtime to something in the past
-        os.utime(path, (5, 5))
+    def test_build_upload_time(self):
+        path = self.upload_mock_logfile(self.x, "tdb", "charis", "cc", 
+                "BUILD COMMIT REVISION: 12\n", mtime=5)
         build = self.x.get_build("tdb", "charis", "cc", "12")
         self.assertEquals(5, build.upload_time)
 
     def test_read_log(self):
-        path = self.create_mock_logfile("tdb", "charis", "cc", "12",
-            contents="This is what a log file looks like.")
+        path = self.upload_mock_logfile(self.x, "tdb", "charis", "cc", 
+            stdout_contents="This is what a log file looks like.\n"
+            "BUILD COMMIT REVISION: 12\n")
         build = self.x.get_build("tdb", "charis", "cc", "12")
-        self.assertEquals("This is what a log file looks like.", build.read_log().read())
+        self.assertEquals("This is what a log file looks like.\n"
+                          "BUILD COMMIT REVISION: 12\n",
+                          build.read_log().read())
 
     def test_read_err(self):
-        self.create_mock_logfile("tdb", "charis", "cc", "12")
-        path = self.create_mock_logfile("tdb", "charis", "cc", "12",
-            kind="stderr",
-            contents="This is what an stderr file looks like.")
+        self.upload_mock_logfile(self.x, "tdb", "charis", "cc",
+            stdout_contents="BUILD COMMIT REVISION: 12\n",
+            stderr_contents="This is what an stderr file looks like.")
         build = self.x.get_build("tdb", "charis", "cc", "12")
-        self.assertEquals("This is what an stderr file looks like.", build.read_err().read())
+        self.assertEquals("This is what an stderr file looks like.",
+                build.read_err().read())
 
     def test_read_err_nofile(self):
-        self.create_mock_logfile("tdb", "charis", "cc", "12")
+        self.upload_mock_logfile(self.x, "tdb", "charis", "cc",
+                stdout_contents="BUILD COMMIT REVISION: 12\n")
         build = self.x.get_build("tdb", "charis", "cc", "12")
         self.assertEquals("", build.read_err().read())
 
     def test_revision_details(self):
-        self.create_mock_logfile("tdb", "charis", "cc", "12", contents="""
+        self.upload_mock_logfile(self.x, "tdb", "charis", "cc", stdout_contents="""
 BUILD COMMIT REVISION: 43
 bla
 BUILD COMMIT TIME: 3 August 2010
 """)
-        build = self.x.get_build("tdb", "charis", "cc", "12")
-        (rev, timestamp) = build.revision_details()
+        build = self.x.get_build("tdb", "charis", "cc", "43")
+        rev = build.revision_details()
         self.assertIsInstance(rev, str)
-        self.assertIsInstance(timestamp, str)
-        self.assertEquals(("43", "3 August 2010"), (rev, timestamp))
+        self.assertEquals("43", rev)
 
     def test_revision_details_no_timestamp(self):
-        self.create_mock_logfile("tdb", "charis", "cc", rev="12", contents="""
+        self.upload_mock_logfile(self.x, "tdb", "charis", "cc", stdout_contents="""
 BUILD COMMIT REVISION: 43
 BUILD REVISION: 42
 BLA
 """)
-        build = self.x.get_build("tdb", "charis", "cc", "12")
-        self.assertEquals(("43", None), build.revision_details())
+        build = self.x.get_build("tdb", "charis", "cc", "43")
+        self.assertEquals("43", build.revision_details())
 
     def test_err_count(self):
-        self.create_mock_logfile("tdb", "charis", "cc", "12")
-        self.create_mock_logfile("tdb", "charis", "cc", "12", kind="stderr", contents="""error1
+        self.upload_mock_logfile(self.x, "tdb", "charis", "cc",
+            stdout_contents="BUILD COMMIT REVISION: 12\n",
+            stderr_contents="""error1
 error2
 error3""")
         build = self.x.get_build("tdb", "charis", "cc", "12")
diff --git a/import-and-analyse.py b/import-and-analyse.py
index ee389df..9e24ebe 100755
--- a/import-and-analyse.py
+++ b/import-and-analyse.py
@@ -31,10 +31,10 @@ smtp.connect()
 def check_and_send_mails(tree, host, compiler, cur, old):
     t = buildfarm.trees[tree]
 
-    (cur_rev, cur_rev_timestamp) = cur.revision_details()
+    cur_rev = cur.revision_details()
     cur_status = cur.status()
 
-    (old_rev, old_rev_timestamp) = old.revision_details()
+    old_rev = old.revision_details()
     old_status = old.status()
 
     if not cur_status.regressed_since(old_status):
@@ -102,7 +102,7 @@ for build in buildfarm.get_new_builds():
             continue
 
     try:
-        (rev, rev_timestamp) = build.revision_details()
+        rev = build.revision_details()
     except data.MissingRevisionInfo:
         print "No revision info in %r, skipping" % build
         continue
diff --git a/web/build_farm.css b/web/build_farm.css
index e3dd0a3..860d438 100644
--- a/web/build_farm.css
+++ b/web/build_farm.css
@@ -70,9 +70,6 @@ a + div.action.status {margin-left: 0.5em;}
 .status.checker { 
         color: rgb(255, 127, 0);
 }
-.status.checker:before { 
-        content: "Checker: ";
-}
 .status.unknown { 
         color: rgb(0, 0, 255);
 }


-- 
build.samba.org


More information about the samba-cvs mailing list