[pypy-svn] r60897 - in pypy/build/bot2/pypybuildbot: . test
pedronis at codespeak.net
pedronis at codespeak.net
Mon Jan 12 01:39:55 CET 2009
Author: pedronis
Date: Mon Jan 12 01:39:53 2009
New Revision: 60897
Modified:
pypy/build/bot2/pypybuildbot/summary.py
pypy/build/bot2/pypybuildbot/test/test_summary.py
Log:
tentative support for disambiguating multiple repos, avoiding implicitly named trunk in the summary
Modified: pypy/build/bot2/pypybuildbot/summary.py
==============================================================================
--- pypy/build/bot2/pypybuildbot/summary.py (original)
+++ pypy/build/bot2/pypybuildbot/summary.py Mon Jan 12 01:39:53 2009
@@ -497,6 +497,7 @@
def __init__(self):
HtmlResource.__init__(self)
self.putChild('longrepr', LongRepr())
+ self._defaultBranchCache = {}
def getTitle(self, request):
status = self.getStatus(request)
@@ -509,6 +510,30 @@
for rev in sorted(runs.keys())[:-cutnum]:
del runs[rev]
+ def _fish_defaultBranch(self, status, builderName):
+ try:
+ return self._defaultBranchCache[builderName]
+ except KeyError:
+ pass
+ builder = status.botmaster.builders[builderName]
+ branch = None
+ for _, kw in builder.buildFactory.steps:
+ if 'defaultBranch' in kw:
+ if kw.get('explicitBranch'):
+ branch = kw['defaultBranch']
+ break
+ self._defaultBranchCache[builderName] = branch
+ return branch
+
+ def _get_branch(self, status, build):
+ branch = getProp(build, 'explicitBranch')
+ # fish
+ if branch is None:
+ builderName = build.getBuilder().getName()
+ branch = self._fish_defaultBranch(status, builderName)
+ branch = branch or getProp(build, 'branch')
+ return branch
+
def recentRuns(self, status, only_recentrevs=None, only_branches=None,
only_builder=None, only_builds=None):
test_rev = make_test(only_recentrevs)
@@ -533,7 +558,7 @@
builditer = builderStatus.generateFinishedBuilds(num_builds=5*N)
for build in builditer:
- branch = getProp(build, 'branch')
+ branch = self._get_branch(status, build)
if not test_branch(branch):
continue
got_rev = getProp(build, 'got_revision', None)
Modified: pypy/build/bot2/pypybuildbot/test/test_summary.py
==============================================================================
--- pypy/build/bot2/pypybuildbot/test/test_summary.py (original)
+++ pypy/build/bot2/pypybuildbot/test/test_summary.py Mon Jan 12 01:39:53 2009
@@ -1,6 +1,8 @@
from zope.interface import implements
from buildbot import interfaces as buildbot_intefaces
from buildbot.status import builder as status_builder
+from buildbot.process import builder as process_builder
+from buildbot.process import factory as process_factory
from pypybuildbot import summary
from StringIO import StringIO
import re
@@ -267,10 +269,11 @@
res = summary.show_elapsed(90*60)
assert res == "1h30"
-class _BuilderToStatus(object):
+def _BuilderToStatus(status):
- def __init__(self, status):
- self.builder_status = status
+ setup = {'name': 'builder', 'builddir': 'BUILDDIR',
+ 'factory': process_factory.BuildFactory() }
+ return process_builder.Builder(setup, status)
class FakeRequest(object):
More information about the Pypy-commit
mailing list