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

Jelmer Vernooij jelmer at samba.org
Sun Nov 14 17:51:25 MST 2010


The branch, master has been updated
       via  73afd26 Actually use sqldb.
      from  2641334 Add missing extensions for git repositories.

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


- Log -----------------------------------------------------------------
commit 73afd267aae1ebbdda438fd57d2ffddfbaa7f71c
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Mon Nov 15 01:51:02 2010 +0100

    Actually use sqldb.

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

Summary of changes:
 buildfarm/data.py      |    7 +++++++
 buildfarm/filecache.py |    4 ++--
 buildfarm/sqldb.py     |    9 ++++++++-
 3 files changed, 17 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/data.py b/buildfarm/data.py
index 5c25aab..36c3424 100644
--- a/buildfarm/data.py
+++ b/buildfarm/data.py
@@ -61,6 +61,13 @@ class BuildStatus(object):
         else:
             self.other_failures = set()
 
+    def __serialize__(self):
+        return repr(self)
+
+    @classmethod
+    def __deserialize__(cls, text):
+        return eval(text)
+
     def __str__(self):
         if self.other_failures:
             return ",".join(self.other_failures)
diff --git a/buildfarm/filecache.py b/buildfarm/filecache.py
index d9c4a16..bd15d5f 100644
--- a/buildfarm/filecache.py
+++ b/buildfarm/filecache.py
@@ -100,12 +100,12 @@ class CachingBuild(Build):
             st2 = None
 
         if st2 and st1.st_ctime <= st2.st_mtime:
-            return eval(util.FileLoad(cachefile))
+            return BuildStatus.__deserialize__(util.FileLoad(cachefile))
 
         ret = super(CachingBuild, self).status()
 
         if not self._store.readonly:
-            util.FileSave(cachefile, repr(ret))
+            util.FileSave(cachefile, ret.__serialize__())
 
         return ret
 
diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py
index dc506f0..a2c424a 100644
--- a/buildfarm/sqldb.py
+++ b/buildfarm/sqldb.py
@@ -23,6 +23,7 @@ from buildfarm import (
 from buildfarm.data import (
     Build,
     BuildResultStore,
+    BuildStatus,
     NoSuchBuildError,
     )
 from buildfarm.hostdb import (
@@ -55,6 +56,12 @@ class StormBuild(Build):
     status_str = Unicode(name="status")
     commit_revision = RawStr()
 
+    def status(self):
+        return BuildStatus.__deserialize__(self.status_str)
+
+    def revision_details(self):
+        return (self.commit_revision, None)
+
     def log_checksum(self):
         return self.checksum
 
@@ -192,7 +199,7 @@ class StormCachingBuildResultStore(BuildResultStore):
         new_build = StormBuild(new_basename, unicode(build.tree), unicode(build.host), unicode(build.compiler), rev)
         new_build.checksum = build.log_checksum()
         new_build.age = build.age_mtime()
-        new_build.status_str = unicode(str(build.status()))
+        new_build.status_str = unicode(build.status().__serialize__())
         self.store.add(new_build)
         return new_build
 


-- 
build.samba.org


More information about the samba-cvs mailing list