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

Jelmer Vernooij jelmer at samba.org
Fri Nov 12 16:32:07 MST 2010


The branch, master has been updated
       via  92dcfd6 Use sqlite backed buildfarm in import-and-analyse.
       via  64392cb Add sql caching buildfarm.
      from  ba21c21 Use commit_revision rather revision.

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


- Log -----------------------------------------------------------------
commit 92dcfd6261517d1972952b8e674f0ae0975fc63f
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 13 00:32:59 2010 +0100

    Use sqlite backed buildfarm in import-and-analyse.

commit 64392cb86d34dadeb1329b4c4419229b5ad96c91
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Nov 13 00:30:57 2010 +0100

    Add sql caching buildfarm.

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

Summary of changes:
 buildfarm/__init__.py             |   19 +++++++++++++++++++
 buildfarm/tests/__init__.py       |    5 +++++
 buildfarm/tests/test_buildfarm.py |    9 +++++++++
 import-and-analyse.py             |    5 ++---
 4 files changed, 35 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/buildfarm/__init__.py b/buildfarm/__init__.py
index 822dc1f..6b44309 100644
--- a/buildfarm/__init__.py
+++ b/buildfarm/__init__.py
@@ -20,6 +20,7 @@
 import ConfigParser
 import os
 import re
+import sqlite3
 
 
 class Tree(object):
@@ -187,6 +188,24 @@ class CachingBuildFarm(BuildFarm):
         return perc
 
 
+class SQLCachingBuildFarm(BuildFarm):
+
+    def __init__(self, path=None, db=None):
+        self.db = db
+        super(SQLCachingBuildFarm, self).__init__(path)
+
+    def _get_db(self):
+        if self.db is not None:
+            return self.db
+        else:
+            return sqlite3.connect(os.path.join(self.path, "hostdb.sqlite"))
+
+    def _open_build_results(self):
+        from buildfarm import data
+        return data.SQLCachingBuildResultStore(os.path.join(self.path, "data", "oldrevs"),
+            self.db)
+
+
 def setup_db(db):
     db.executescript("""
         CREATE TABLE IF NOT EXISTS host (name text, owner text, owner_email text, password text, ssh_access int, fqdn text, platform text, permission text, last_dead_mail int, join_time int);
diff --git a/buildfarm/tests/__init__.py b/buildfarm/tests/__init__.py
index 65912f8..046d1fa 100644
--- a/buildfarm/tests/__init__.py
+++ b/buildfarm/tests/__init__.py
@@ -15,7 +15,9 @@
 #   along with this program; if not, write to the Free Software
 #   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
+from buildfarm import setup_db
 import os
+import sqlite3
 from testtools import TestCase
 import shutil
 import tempfile
@@ -72,6 +74,9 @@ class BuildFarmTestCase(TestCase):
         for subdir in ["data", "data/upload", "data/oldrevs", "cache", "web", "lcov", "lcov/data"]:
             os.mkdir(os.path.join(self.path, subdir))
 
+        db = sqlite3.connect(os.path.join(self.path, "hostdb.sqlite"))
+        setup_db(db)
+
     def tearDown(self):
         shutil.rmtree(self.path)
         super(BuildFarmTestCase, self).tearDown()
diff --git a/buildfarm/tests/test_buildfarm.py b/buildfarm/tests/test_buildfarm.py
index 02eda60..2927f72 100644
--- a/buildfarm/tests/test_buildfarm.py
+++ b/buildfarm/tests/test_buildfarm.py
@@ -18,6 +18,7 @@
 from buildfarm import (
     BuildFarm,
     CachingBuildFarm,
+    SQLCachingBuildFarm,
     data,
     read_trees_from_conf,
     )
@@ -126,3 +127,11 @@ class CachingBuildFarmTests(BuildFarmTestBase, BuildFarmTestCase):
         BuildFarmTestCase.setUp(self)
         BuildFarmTestBase.setUp(self)
         self.x = CachingBuildFarm(self.path)
+
+
+class SQLCachingBuildFarmTests(BuildFarmTestBase, BuildFarmTestCase):
+
+    def setUp(self):
+        BuildFarmTestCase.setUp(self)
+        BuildFarmTestBase.setUp(self)
+        self.x = SQLCachingBuildFarm(self.path)
diff --git a/import-and-analyse.py b/import-and-analyse.py
index d88d42c..726407e 100755
--- a/import-and-analyse.py
+++ b/import-and-analyse.py
@@ -11,7 +11,7 @@ on recent commits.
 """
 
 from buildfarm import (
-    BuildFarm,
+    SQLCachingBuildFarm,
     data,
     )
 from email.mime.text import MIMEText
@@ -25,8 +25,7 @@ parser.add_option("--verbose", help="Be verbose", action="count")
 
 (opts, args) = parser.parse_args()
 
-# we open readonly here as only apache(www-run) has write access
-buildfarm = BuildFarm()
+buildfarm = SQLCachingBuildFarm()
 
 smtp = smtplib.SMTP()
 smtp.connect()


-- 
build.samba.org


More information about the samba-cvs mailing list