[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