[SCM] build.samba.org - branch master updated
Jelmer Vernooij
jelmer at samba.org
Sat Nov 13 10:31:01 MST 2010
The branch, master has been updated
via 2ec5988 Cope with missing revision info in logs.
from 926046e Fix override of status method.
http://gitweb.samba.org/?p=build-farm.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 2ec59886e606ae73e0c9305450a9e1c148b7b41e
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Sat Nov 13 18:30:56 2010 +0100
Cope with missing revision info in logs.
-----------------------------------------------------------------------
Summary of changes:
buildfarm/data.py | 13 ++++++++++---
buildfarm/sqldb.py | 2 +-
import-and-analyse.py | 12 ++++++++++--
3 files changed, 21 insertions(+), 6 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildfarm/data.py b/buildfarm/data.py
index 10966f4..5c25aab 100644
--- a/buildfarm/data.py
+++ b/buildfarm/data.py
@@ -42,6 +42,13 @@ class BuildSummary(object):
BuildStageResult = collections.namedtuple("BuildStageResult", "name result")
+class MissingRevisionInfo(Exception):
+ """Revision info could not be found in the build log."""
+
+ def __init__(self, build):
+ self.build = build
+
+
class BuildStatus(object):
def __init__(self, stages=None, other_failures=None):
@@ -259,6 +266,9 @@ class Build(object):
finally:
f.close()
+ if revid is None:
+ raise MissingRevisionInfo(self)
+
return (revid, timestamp)
def status(self):
@@ -375,9 +385,6 @@ class BuildResultStore(object):
def upload_build(self, build):
(rev, rev_timestamp) = build.revision_details()
- if not rev:
- raise Exception("Unable to find revision in %r log" % build)
-
new_basename = self.build_fname(build.tree, build.host, build.compiler, rev)
try:
existing_build = self.get_build(build.tree, build.host, build.compiler, rev)
diff --git a/buildfarm/sqldb.py b/buildfarm/sqldb.py
index 2f65931..709784f 100644
--- a/buildfarm/sqldb.py
+++ b/buildfarm/sqldb.py
@@ -192,7 +192,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 = unicode(str(build.status()))
+ new_build.status_str = unicode(str(build.status()))
self.store.add(new_build)
return new_build
diff --git a/import-and-analyse.py b/import-and-analyse.py
index dcfcec6..773a03f 100755
--- a/import-and-analyse.py
+++ b/import-and-analyse.py
@@ -90,9 +90,17 @@ for build in buildfarm.get_new_builds():
continue
if not opts.dry_run:
- build = buildfarm.builds.upload_build(build)
+ try:
+ build = buildfarm.builds.upload_build(build)
+ except data.MissingRevisionInfo:
+ print "No revision info in %r, skipping" % build
+ continue
- (rev, rev_timestamp) = build.revision_details()
+ try:
+ (rev, rev_timestamp) = build.revision_details()
+ except data.MissingRevisionInfo:
+ print "No revision info in %r, skipping" % build
+ continue
if opts.verbose >= 2:
print str(build.status())
--
build.samba.org
More information about the samba-cvs
mailing list