From warner at users.sourceforge.net Tue Jul 15 19:52:25 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Tue, 15 Jul 2008 19:52:25 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1068,1.1069 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv10915 Modified Files: ChangeLog Log Message: [project @ ChangeLog update for 0.7.8] Original author: dustin at v.igoro.us Date: 2008-07-15 19:36:41+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1068 retrieving revision 1.1069 diff -u -d -r1.1068 -r1.1069 --- ChangeLog 29 Apr 2008 20:21:36 -0000 1.1068 +++ ChangeLog 15 Jul 2008 19:52:22 -0000 1.1069 @@ -1,3 +1,74 @@ +2008-06-25 Dustin J. Mitchell + + * docs/buildbot.texinfo: Patch by Albert Hofkamp to use step + instances universally in the documentation. (#305) + +2008-06-25 Dustin J. Mitchell + + * buildbot/status/builder.py: Upgrading from version 2 to 3 + of BuildStatus had an incorrect call to properties.update. + Closes #295. + +2008-06-13 Dustin J. Mitchell + + * buildbot/status/web/grid.py: Sort the builders in the + grid display (#300) + +2008-06-01 Dustin J. Mitchell + + * buildbot/buildslave.py buildbot/process/base.py + buildbot/status/builder.py buildbot/status/web/slaves.py + buildbot/test/test_slaves.py: short patch by Ben Hearsum to + make the /buildslaves WebStatus? page a little more useful. It + does do things: 1) bolds the 'slave is NOT connected' line + to make it more visible 2) shows whether each slave is busy + (building) or not (#278) + +2008-05-26 Dustin J. Mitchell + + * buildbot/process/factory.py buildbot/status/web/waterfall.py + buildbot/steps/shell.py buildbot/test/test_steps.py + docs/buildbot.texinfo: Patch by Neil Hemingway + to add a PerlModuleTest step (#228) + +2008-05-19 Dustin J. Mitchell + + * buildbot/changes/dnotify.py buildbot/clients/base.py + buildbot/clients/debug.py buildbot/clients/gtkPanes.py + buildbot/dnotify.py buildbot/test/emit.py + buildbot/test/emitlogs.py buildbot/test/sleep.py: Patch by + Gianluca Sforna to remove unnecessary + shebangs about which rpmlint complains. (#282) + +2008-05-17 Dustin J. Mitchell + + * buildbot/test/test_vc.py: Configure username and email in + case the user running trial does not have git config in their + home directory. (#281) + +2008-05-16 Dustin J. Mitchell + + * buildbot/changes/svnpoller.py + buildbot/test/test_svnpoller.py: Patch by Neil Hemingway + that has svnpoller checking + whether the change reported by SVN is a branch deletion. If + it is, a buildbot Change is not created. (#261) + +2008-05-15 Dustin J. Mitchell + + * buildbot/status/words.py buildbot/test/test_status.py + docs/buildbot.texinfo: Patch by Neil Hemingway + : allow the IRC daemon to notify + users on build events, either via private messages or channel + messages (#171) + +2008-05-14 Dustin J. Mitchell + + * buildbot/steps/shell.py buildbot/test/test_properties.py + docs/buildbot.texinfo: A buildstep that is similar to + ShellCommand, except that it captures the output of the + command into a property. (#232) + 2008-04-29 Brian Warner * buildbot/slave/commands.py (SourceBase.doCopy): use 'cp -RPp' @@ -28,6 +99,11 @@ * docs/buildbot.texinfo (IRC Bot): fix typo, patch by Christian Theune. Closes #231. +2008-04-28 Dustin J. Mitchell + + * buildbot/status/web/xmlrpc.py: Change xmlrpc_getStatus to + xmlrpc_getLastBuildResults as Brian suggested (#195) + 2008-04-24 Brian Warner * setup.py (setup_args): apply patches from zooko: prepare @@ -40,12 +116,158 @@ * README (REQUIREMENTS): we handle twisted-8.0.1 just fine. +2008-04-21 Dustin J. Mitchell + + * buildbot/process/base.py: Patch by Ben Hearsum + : delay status notification + about build start until _startBuild_2 (after a lock has + been acquired) (#107) + +2008-04-20 Dustin J. Mitchell + + * buildbot/status/web/baseweb.py: Patch by Ben Hearsum + : don't appear to be able to control + builds when you can't (#246) + 2008-04-15 Brian Warner * buildbot/__init__.py (version): bump to 0.7.7+ while between releases * docs/buildbot.texinfo: same +2008-04-15 Dustin J. Mitchell + + * buildbot/process/properties.py + buildbot/test/test_properties.py docs/buildbot.texinfo: + Add support for shell-style substitutions, e.g., + %(propname:-replacement)s and %(propname:+replacement)s (#234) + +2008-04-14 Dustin J. Mitchell + + * buildbot/process/properties.py buildbot/status/web/build.py + buildbot/steps/shell.py buildbot/steps/source.py: Display + build properties in the build status page. + + * docs/buildbot.texinfo: Add properties to the documentation, + along with a nontrivial reorganization of the scheduler + section of the documentation. (#124) + +2008-04-13 Dustin J. Mitchell + + * buildbot/buildset.py buildbot/clients/debug.py + buildbot/master.py buildbot/process/base.py + buildbot/scheduler.py buildbot/scripts/runner.py + buildbot/scripts/tryclient.py buildbot/status/web/builder.py: + Remove custom properties, which are now largely redundant, + and on which the properties interface was modeled. (#124) + +2008-04-13 Dustin J. Mitchell + + * buildbot/buildset.py buildbot/interfaces.py + buildbot/process/properties.py buildbot/scheduler.py + buildbot/steps/trigger.py buildbot/test/runutils.py + buildbot/test/test_properties.py buildbot/test/test_run.py: + Make the scheduler classes actually provide properties to + the buildsets they submit. Triggerable schedulers also do + a nice job of configurably propagating properties from the + triggering build. (#124) + +2008-04-12 Dustin J. Mitchell + + * buildbot/master.py buildbot/process/base.py + buildbot/process/properties.py buildbot/test/runutils.py + buildbot/test/test_properties.py: Support global properties, + defined with c['properties'] = {} in master.cfg (#124) + +2008-04-12 Dustin J. Mitchell + + * buildbot/buildset.py buildbot/buildslave.py + buildbot/process/base.py buildbot/process/builder.py + buildbot/process/properties.py buildbot/scheduler.py + buildbot/steps/trigger.py buildbot/test/runutils.py + buildbot/test/test_properties.py: Arrange for properties to + come down from schedulers, via BuildStep and BuildRequest + objects. custom_props are still present, in parallel, but + will go eventually. Triggered builds no longer propagate + custom props. (#124) + +2008-04-12 Dustin J. Mitchell + + * buildbot/process/properties.py + buildbot/test/test_properties.py: Change Property.getProperty + to just return the property value, since having getProperty + return different things on different objects is confusing. (#124) + +2008-04-12 Dustin J. Mitchell + + * buildbot/process/base.py buildbot/process/buildstep.py + buildbot/process/properties.py buildbot/status/builder.py + buildbot/steps/python.py buildbot/steps/shell.py + buildbot/steps/source.py buildbot/steps/transfer.py + buildbot/test/test_properties.py buildbot/test/test_steps.py + buildbot/test/test_vc.py: Add and use a Properties class, + refactor the way properties are rendered, and update unit + tests accordingly. (#124) + +2008-04-12 Dustin J. Mitchell + + * buildbot/master.py buildbot/status/builder.py: Remove unused + and undocumented customBuildProperties config. This did not + allow users to specify global properties; rather, it specified + descriptions for properties that were not used anywhere in + the codebase. (#124) + +2008-04-11 Dustin J. Mitchell + + * docs/buildbot.texinfo: fix typo (thanks to Christian Theune) + +2008-04-04 Dustin J. Mitchell + + * buildbot/clients/debug.py buildbot/master.py + buildbot/process/base.py: Patch by gward to teach + DebugPerspective and debugclient about custom build properties + (#87) + +2008-04-03 Dustin J. Mitchell + + * buildbot/buildset.py buildbot/master.py + buildbot/process/base.py buildbot/scheduler.py + buildbot/scripts/runner.py buildbot/scripts/tryclient.py + buildbot/status/builder.py buildbot/status/web/builder.py + buildbot/steps/shell.py buildbot/steps/trigger.py: Patch + by Paul Gain, Roch Gadson , + and Aaron Maxwell to implement "custom + properties": build properties that can be specified when the + build is initially created, e.g., by a scheduler. (#87) + +2008-04-03 Dustin J. Mitchell + + * buildbot/status/web/base.py: Patch from Aaron Maxwell + . Refactor OneLineMixin.make_line(), + splitting in into two methods: one that gathers all the data + needed for a build (get_line_values), and one that takes that + data, and renders it into an HTML line (make_line). (#145) + +2008-04-03 Dustin J. Mitchell + + * buildbot/slave/commands.py: Patch from Aaron + Maxwell : introduce a method + SVN.getSvnVersionCommand() that returns the shell command used + to determine the svn version. Useful for subclassing. (#140) + +2008-04-03 Dustin J. Mitchell + + * buildbot/buildset.py buildbot/process/base.py + buildbot/scheduler.py buildbot/test/test_properties.py: Patch + by Dossy Shiobara : It is useful to know + the name of the scheduler that initiated a build request, + i.e., to conditionally FileUpload the results of a Nightly + scheduled build. This patch passes the Scheduler along the + BuildRequest chain so that Build can setProperty("scheduler", + self.scheduler.name) in Build.setupStatus(). (#227) + + * docs/buildbot.texinfo: docs for same + 2008-03-29 Brian Warner * buildbot/__init__.py (version): Releasing buildbot-0.7.7 @@ -273,6 +495,23 @@ system, but not on older unixes, so I suspect some change in behavior in the kernel or glibc or something similar. +2008-03-12 Dustin J. Mitchell + + * buildbot/status/web/grid.py: Use "absolute" instead + of "specific" sourcestamps; thanks to Ivan Chelyubeev + for providing the patch. (#72) + +2008-02-17 Dustin J. Mitchell + + Bug #72: the grid display + * buildbot/status/web/grid.py: new 'grid' display to complement waterfall + * buildbot/status/web/baseweb.py: add link to grid + * buildbot/status/web/build.py: add footer, fix redirects + * buildbot/status/web/builder.py: same + * buildbot/status/web/classic.css: grid styles + * buildbot/status/web/index.html: link to grid + * buildbot/status/web/waterfall.py: fix footer + 2008-02-05 Brian Warner * buildbot/buildslave.py (BuildSlave._missing_timer_fired): add a From warner at users.sourceforge.net Mon Jul 21 14:52:26 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Mon, 21 Jul 2008 14:52:26 +0000 Subject: [Buildbot-commits] buildbot/buildbot/test test_status.py, 1.46, 1.47 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/test In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25425/buildbot/test Modified Files: test_status.py Log Message: [project @ #228:step-statistics.patch] Introduce steps statistics Original author: dustin at v.igoro.us Date: 2008-06-26 03:30:36+00:00 Index: test_status.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_status.py,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- test_status.py 26 May 2008 23:52:18 -0000 1.46 +++ test_status.py 21 Jul 2008 14:52:24 -0000 1.47 @@ -1,6 +1,7 @@ # -*- test-case-name: buildbot.test.test_status -*- import email, os +import operator from zope.interface import implements from twisted.internet import defer, reactor @@ -1194,3 +1195,36 @@ def send(self, msg): self.message += msg + +class StepStatistics(unittest.TestCase): + def testStepStatistics(self): + status = builder.BuildStatus(builder.BuilderStatus("test"), 123) + status.addStepWithName('step1') + status.addStepWithName('step2') + status.addStepWithName('step3') + status.addStepWithName('step4') + + steps = status.getSteps() + (step1, step2, step3, step4) = steps + + step1.setStatistic('test-prop', 1) + step3.setStatistic('test-prop', 2) + step4.setStatistic('test-prop', 4) + + step1.setStatistic('other-prop', 27) + # Just to have some other properties around + + self.failUnlessEqual(step1.getStatistic('test-prop'), 1, + 'Retrieve an existing property') + self.failUnlessEqual(step1.getStatistic('test-prop', 99), 1, + "Don't default an existing property") + self.failUnlessEqual(step2.getStatistic('test-prop', 99), 99, + 'Default a non-existant property') + + self.failUnlessEqual( + status.getSummaryStatistic('test-prop', operator.add), 7, + 'Sum property across the build') + + self.failUnlessEqual( + status.getSummaryStatistic('test-prop', operator.add, 13), 20, + 'Sum property across the build with initial value') From warner at users.sourceforge.net Mon Jul 21 14:52:26 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Mon, 21 Jul 2008 14:52:26 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status builder.py, 1.111, 1.112 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25425/buildbot/status Modified Files: builder.py Log Message: [project @ #228:step-statistics.patch] Introduce steps statistics Original author: dustin at v.igoro.us Date: 2008-06-26 03:30:36+00:00 Index: builder.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/builder.py,v retrieving revision 1.111 retrieving revision 1.112 diff -u -d -r1.111 -r1.112 --- builder.py 25 Jun 2008 23:52:41 -0000 1.111 +++ builder.py 21 Jul 2008 14:52:20 -0000 1.112 @@ -449,7 +449,6 @@ self.finish() # releases self.openfile, which will be closed del self.entries - class HTMLLogFile: implements(interfaces.IStatusLog) @@ -642,6 +641,11 @@ I represent a collection of output status for a L{buildbot.process.step.BuildStep}. + Statistics contain any information gleaned from a step that is + not in the form of a logfile. As an example, steps that run + tests might gather statistics about the number of passed, failed, + or skipped tests. + @type color: string @cvar color: color that this step feels best represents its current mood. yellow,green,red,orange are the @@ -655,11 +659,13 @@ @cvar text2: list of short texts added to the overall build description @type logs: dict of string -> L{buildbot.status.builder.LogFile} @ivar logs: logs of steps + @type statistics: dict + @ivar statistics: results from running this step """ # note that these are created when the Build is set up, before each # corresponding BuildStep has started. implements(interfaces.IBuildStepStatus, interfaces.IStatusEvent) - persistenceVersion = 1 + persistenceVersion = 2 started = None finished = None @@ -671,6 +677,7 @@ watchers = [] updates = {} finishedWatchers = [] + statistics = {} def __init__(self, parent): assert interfaces.IBuildStatus(parent) @@ -680,6 +687,7 @@ self.watchers = [] self.updates = {} self.finishedWatchers = [] + self.statistics = {} def getName(self): """Returns a short string with the name of this step. This string @@ -764,6 +772,16 @@ """ return (self.results, self.text2) + def hasStatistic(self, name): + """Return true if this step has a value for the given statistic. + """ + return self.statistics.has_key(name) + + def getStatistic(self, name, default=None): + """Return the given statistic, if present + """ + return self.statistics.get(name, default) + # subscription interface def subscribe(self, receiver, updateInterval=10): @@ -847,6 +865,11 @@ def setText2(self, text): self.text2 = text + def setStatistic(self, name, value): + """Set the given statistic. Usually called by subclasses. + """ + self.statistics[name] = value + def stepFinished(self, results): self.finished = util.now() self.results = results @@ -886,6 +909,10 @@ if not hasattr(self, "urls"): self.urls = {} + def upgradeToVersion2(self): + if not hasattr(self, "statistics"): + self.statistics = {} + class BuildStatus(styles.Versioned): implements(interfaces.IBuildStatus, interfaces.IStatusEvent) @@ -978,6 +1005,23 @@ def getTimes(self): return (self.started, self.finished) + _sentinel = [] # used as a sentinel to indicate unspecified initial_value + def getSummaryStatistic(self, name, summary_fn, initial_value=_sentinel): + """Summarize the named statistic over all steps in which it + exists, using combination_fn and initial_value to combine multiple + results into a single result. This translates to a call to Python's + X{reduce}:: + return reduce(summary_fn, step_stats_list, initial_value) + """ + step_stats_list = [ + st.getStatistic(name) + for st in self.steps + if st.hasStatistic(name) ] + if initial_value is self._sentinel: + return reduce(summary_fn, step_stats_list) + else: + return reduce(summary_fn, step_stats_list, initial_value) + def isFinished(self): return (self.finished is not None) From warner at users.sourceforge.net Mon Jul 21 14:52:31 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Mon, 21 Jul 2008 14:52:31 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web waterfall.py, 1.31, 1.32 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv25448/buildbot/status/web Modified Files: waterfall.py Log Message: [project @ #228:comment-out-sumStepProperty.patch] comment out a call to a non-existent function, temporarily Original author: dustin at v.igoro.us Date: 2008-07-01 15:33:39+00:00 Index: waterfall.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/waterfall.py,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- waterfall.py 25 Jun 2008 23:52:26 -0000 1.31 +++ waterfall.py 21 Jul 2008 14:52:28 -0000 1.32 @@ -110,8 +110,8 @@ number = b.getNumber() url = path_to_build(req, b) text = b.getText() - tests_failed = b.sumStepProperty('tests-failed') - if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) + #tests_failed = b.sumStepProperty('tests-failed') + #if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) # TODO: maybe add logs? # TODO: add link to the per-build page at 'url' c = b.getColor() From warner at users.sourceforge.net Mon Jul 21 17:52:18 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Mon, 21 Jul 2008 17:52:18 +0000 Subject: [Buildbot-commits] buildbot/buildbot/steps shell.py,1.26,1.27 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/steps In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4099/buildbot/steps Modified Files: shell.py Log Message: [project @ #228:pmt-use-stats.patch] Use statistics in the PerlModuleTest, and move the test-display getText method to the Test class. Original author: dustin at v.igoro.us Date: 2008-07-21 15:00:17+00:00 Index: shell.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/steps/shell.py,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- shell.py 27 May 2008 00:52:29 -0000 1.26 +++ shell.py 21 Jul 2008 17:52:16 -0000 1.27 @@ -322,6 +322,9 @@ if self.warnCount: self.addCompleteLog("warnings", "\n".join(warnings) + "\n") + warnings_stat = self.step_status.getStatistic('warnings', 0) + self.step_status.setStatistic('warnings', warnings_stat + self.warnCount) + try: old_count = self.getProperty("warnings-count") except KeyError: @@ -363,6 +366,36 @@ descriptionDone = ["test"] command = ["make", "test"] + def setTestResults(self, total=0, failed=0, passed=0, warnings=0): + """ + Called by subclasses to set the relevant statistics; this actually + adds to any statistics already present + """ + total += self.step_status.getStatistic('total', 0) + self.step_status.setStatistic('total', total) + failed += self.step_status.getStatistic('failed', 0) + self.step_status.setStatistic('failed', failed) + warnings += self.step_status.getStatistic('warnings', 0) + self.step_status.setStatistic('warnings', warnings) + passed += self.step_status.getStatistic('passed', 0) + self.step_status.setStatistic('passed', passed) + + def getText(self, cmd, results): + if self.step_status.hasStatistic('total'): + total, failed, passed, warnings = \ + [ self.step_status.getStatistic(n,0) + for n in 'total', 'failed', 'passed', 'warnings' ] + if not total: total = failed + passed + warnings + + rv = [] + if total: rv.append('%d tests' % total) + if passed: rv.append('%d passed' % passed) + if warnings: rv.append('%d warnings' % warnings) + if failed: rv.append('%d failed' % failed) + return rv + else: + return [ "no test results" ] + class PerlModuleTest(Test): command=["prove", "--lib", "lib", "-r", "t"] total = 0 @@ -400,19 +433,6 @@ total = int(total_str) passed = total - failed - self.total, self.failed, self.passed = total, failed, passed - - self.setProperty('tests-total', total, "PerlModuleTest") - self.setProperty('tests-failed', failed, "PerlModuleTest") - self.setProperty('tests-passed', passed, "PerlModuleTest") - - self.warnings = failed + self.setTestResults(total=total, failed=failed, passed=passed) return rc - - def getText(self, cmd, results): - if self.total: - return [ "%d failed, %d passed" % (self.failed, self.passed) ] - else: - return [ "no results" ] - From warner at users.sourceforge.net Mon Jul 21 17:52:22 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Mon, 21 Jul 2008 17:52:22 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web waterfall.py, 1.32, 1.33 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv4111/buildbot/status/web Modified Files: waterfall.py Log Message: [project @ #228:summarize-failures.patch] Summarize failures, using the 'failed' statistic, in the box at the top of each waterfall column. Original author: dustin at v.igoro.us Date: 2008-07-21 15:03:53+00:00 Index: waterfall.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/waterfall.py,v retrieving revision 1.32 retrieving revision 1.33 diff -u -d -r1.32 -r1.33 --- waterfall.py 21 Jul 2008 14:52:28 -0000 1.32 +++ waterfall.py 21 Jul 2008 17:52:20 -0000 1.33 @@ -6,6 +6,7 @@ import urllib import time +import operator from buildbot import interfaces, util from buildbot import version @@ -110,8 +111,8 @@ number = b.getNumber() url = path_to_build(req, b) text = b.getText() - #tests_failed = b.sumStepProperty('tests-failed') - #if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) + tests_failed = b.getSummaryStatistic('failed', operator.add) + if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) # TODO: maybe add logs? # TODO: add link to the per-build page at 'url' c = b.getColor() From warner at users.sourceforge.net Thu Jul 24 00:57:45 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:45 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1069,1.1070 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21144 Modified Files: ChangeLog Log Message: [project @ * .darcs-boring: resurrect this file after it was accidentally deleted] Original author: warner at lothar.com Date: 2008-07-23 23:17:44+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1069 retrieving revision 1.1070 diff -u -d -r1.1069 -r1.1070 --- ChangeLog 15 Jul 2008 19:52:22 -0000 1.1069 +++ ChangeLog 24 Jul 2008 00:57:41 -0000 1.1070 @@ -1,3 +1,8 @@ +2008-07-23 Brian Warner + + * .darcs-boring: resurrect this file after it was accidentally + deleted + 2008-06-25 Dustin J. Mitchell * docs/buildbot.texinfo: Patch by Albert Hofkamp to use step From warner at users.sourceforge.net Thu Jul 24 00:57:50 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:50 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.152,1.153 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21157/docs Modified Files: buildbot.texinfo Log Message: [project @ * docs/buildbot.texinfo: update node names and menus] Original author: warner at lothar.com Date: 2008-07-23 23:30:51+00:00 Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.152 retrieving revision 1.153 diff -u -d -r1.152 -r1.153 --- buildbot.texinfo 26 Jun 2008 03:52:19 -0000 1.152 +++ buildbot.texinfo 24 Jul 2008 00:57:48 -0000 1.153 @@ -109,7 +109,7 @@ * BuildRequest:: * Builder:: * Users:: -* Build Properties:: +* Build Properties:: Version Control Systems @@ -134,20 +134,20 @@ * Change Sources and Schedulers:: * Setting the slaveport:: * Buildslave Specifiers:: -* Defining Global Properties:: +* Defining Global Properties:: * Defining Builders:: * Defining Status Targets:: * Debug options:: Change Sources and Schedulers -* Scheduler Scheduler:: +* Scheduler Scheduler:: * AnyBranchScheduler:: -* Dependent Scheduler:: +* Dependent Scheduler:: * Periodic Scheduler:: -* Nightly Scheduler:: -* Try Schedulers:: -* Triggerable Scheduler:: +* Nightly Scheduler:: +* Try Schedulers:: +* Triggerable Scheduler:: Buildslave Specifiers @@ -187,7 +187,7 @@ Build Steps * Common Parameters:: -* Using Build Properties:: +* Using Build Properties:: * Source Checkout:: * ShellCommand:: * Simple ShellCommand Subclasses:: @@ -214,6 +214,8 @@ * Compile:: * Test:: * TreeSize:: +* PerlModuleTest:: +* SetProperty:: Python BuildSteps @@ -1238,7 +1240,7 @@ * BuildRequest:: * Builder:: * Users:: -* Build Properties:: +* Build Properties:: @end menu @node Version Control Systems, Schedulers, Concepts, Concepts @@ -1894,7 +1896,7 @@ user has been inactive on the channel), which might prompt the Problem Hassler logic to send them an email message instead. - at node Live Status Clients + at node Live Status Clients, , IRC Nicknames, Users @subsection Live Status Clients The Buildbot also offers a PB-based status client interface which can @@ -1905,7 +1907,7 @@ alternative way to deliver low-latency high-interruption messages to the developer (like ``hey, you broke the build''). - at node Build Properties + at node Build Properties, , Users, Concepts @section Build Properties @cindex Properties @@ -1979,7 +1981,7 @@ * Change Sources and Schedulers:: * Setting the slaveport:: * Buildslave Specifiers:: -* Defining Global Properties:: +* Defining Global Properties:: * Defining Builders:: * Defining Status Targets:: * Debug options:: @@ -2230,16 +2232,16 @@ taken by each one. @menu -* Scheduler Scheduler:: +* Scheduler Scheduler:: * AnyBranchScheduler:: -* Dependent Scheduler:: +* Dependent Scheduler:: * Periodic Scheduler:: -* Nightly Scheduler:: -* Try Schedulers:: -* Triggerable Scheduler:: +* Nightly Scheduler:: +* Try Schedulers:: +* Triggerable Scheduler:: @end menu - at node Scheduler Scheduler + at node Scheduler Scheduler, AnyBranchScheduler, Change Sources and Schedulers, Change Sources and Schedulers @subsection Scheduler Scheduler @slindex buildbot.scheduler.Scheduler @@ -2304,7 +2306,7 @@ on other branches are ignored by these Schedulers. Each Scheduler triggers a different set of Builders, referenced by name. - at node AnyBranchScheduler + at node AnyBranchScheduler, Dependent Scheduler, Scheduler Scheduler, Change Sources and Schedulers @subsection AnyBranchScheduler @slindex buildbot.scheduler.AnyBranchScheduler @@ -2339,7 +2341,7 @@ that all Changes are important. @end table - at node Dependent Scheduler + at node Dependent Scheduler, Periodic Scheduler, AnyBranchScheduler, Change Sources and Schedulers @subsection Dependent Scheduler @cindex Dependent @cindex Dependencies @@ -2403,7 +2405,7 @@ c['schedulers'] = [tests, package] @end example - at node Periodic Scheduler + at node Periodic Scheduler, Nightly Scheduler, Dependent Scheduler, Change Sources and Schedulers @subsection Periodic Scheduler @slindex buildbot.scheduler.Periodic @@ -2438,7 +2440,7 @@ could easily wind up a ``daily'' or ``every afternoon'' scheduler depending upon when it was first activated. - at node Nightly Scheduler + at node Nightly Scheduler, Try Schedulers, Periodic Scheduler, Change Sources and Schedulers @subsection Nightly Scheduler @slindex buildbot.scheduler.Nightly @@ -2527,7 +2529,7 @@ minute=0) @end example - at node Try Schedulers + at node Try Schedulers, Triggerable Scheduler, Nightly Scheduler, Change Sources and Schedulers @subsection Try Schedulers @slindex buildbot.scheduler.Try_Jobdir @slindex buildbot.scheduler.Try_Userpass @@ -2542,7 +2544,7 @@ connections on a specific @code{port}, and authenticates against @code{userport}. - at node Triggerable Scheduler + at node Triggerable Scheduler, , Try Schedulers, Change Sources and Schedulers @subsection Triggerable Scheduler @cindex Triggers @slindex buildbot.scheduler.Triggerable @@ -2647,7 +2649,7 @@ @code{localhost:10000}. - at node Buildslave Specifiers + at node Buildslave Specifiers, Defining Global Properties, Setting the slaveport, Configuration @section Buildslave Specifiers @bcindex c['slaves'] @@ -2762,7 +2764,7 @@ ] @end example - at node Defining Global Properties + at node Defining Global Properties, Defining Builders, Buildslave Specifiers, Configuration @section Defining Global Properties @bcindex c['properties'] @cindex Properties @@ -2778,7 +2780,7 @@ @} @end example - at node Defining Builders + at node Defining Builders, Defining Status Targets, Defining Global Properties, Configuration @section Defining Builders @bcindex c['builders'] @@ -2858,7 +2860,7 @@ @end table - at node Defining Status Targets + at node Defining Status Targets, Debug options, Defining Builders, Configuration @section Defining Status Targets The Buildmaster has a variety of ways to present build status to @@ -4002,7 +4004,7 @@ * Build Factories:: @end menu - at node Build Steps + at node Build Steps, Interlocks, Build Process, Build Process @section Build Steps @code{BuildStep}s are usually specified in the buildmaster's @@ -4037,7 +4039,7 @@ @menu * Common Parameters:: -* Using Build Properties:: +* Using Build Properties:: * Source Checkout:: * ShellCommand:: * Simple ShellCommand Subclasses:: @@ -4047,7 +4049,7 @@ * Writing New BuildSteps:: @end menu - at node Common Parameters + at node Common Parameters, Using Build Properties, Build Steps, Build Steps @subsection Common Parameters The standard @code{Build} runs a series of @code{BuildStep}s in order, @@ -4098,7 +4100,7 @@ @end table - at node Using Build Properties + at node Using Build Properties, Source Checkout, Common Parameters, Build Steps @subsection Using Build Properties @cindex Properties @@ -4269,7 +4271,7 @@ @end table - at node Source Checkout + at node Source Checkout, ShellCommand, Using Build Properties, Build Steps @subsection Source Checkout The first step of any build is typically to acquire the source code @@ -4929,8 +4931,8 @@ * Compile:: * Test:: * TreeSize:: -* PerlModuleTest:: -* SetProperty:: +* PerlModuleTest:: +* SetProperty:: @end menu @node Configure, Compile, Simple ShellCommand Subclasses, Simple ShellCommand Subclasses @@ -4986,7 +4988,7 @@ This is meant to handle unit tests. The default command is @code{make test}, and the @code{warnOnFailure} flag is set. - at node TreeSize + at node TreeSize, PerlModuleTest, Test, Simple ShellCommand Subclasses @subsubsection TreeSize @bsindex buildbot.steps.shell.TreeSize @@ -4996,7 +4998,7 @@ aka 'KiB' or 'kibibytes') on the step's status text, and sets a build property named 'tree-size-KiB' with the same value. - at node PerlModuleTest + at node PerlModuleTest, SetProperty, TreeSize, Simple ShellCommand Subclasses @subsubsection PerlModuleTest @bsindex buildbot.steps.shell.PerlModuleTest @@ -5005,7 +5007,7 @@ It parses the output to determine the number of tests passed and failed and total number executed, saving the results for later query. - at node SetProperty + at node SetProperty, , PerlModuleTest, Simple ShellCommand Subclasses @subsubsection SetProperty @bsindex buildbot.steps.shell.SetProperty @@ -5048,7 +5050,7 @@ Then @code{my_extract} will see @code{stdout="output1\noutput2\n"} and @code{stderr="error\n"}. - at node Python BuildSteps + at node Python BuildSteps, Transferring Files, Simple ShellCommand Subclasses, Build Steps @subsection Python BuildSteps Here are some BuildSteps that are specifcally useful for projects @@ -5059,7 +5061,7 @@ * PyFlakes:: @end menu - at node BuildEPYDoc + at node BuildEPYDoc, PyFlakes, Python BuildSteps, Python BuildSteps @subsubsection BuildEPYDoc @bsindex buildbot.steps.python.BuildEPYDoc From warner at users.sourceforge.net Thu Jul 24 00:57:50 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:50 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1070,1.1071 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21157 Modified Files: ChangeLog Log Message: [project @ * docs/buildbot.texinfo: update node names and menus] Original author: warner at lothar.com Date: 2008-07-23 23:30:51+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1070 retrieving revision 1.1071 diff -u -d -r1.1070 -r1.1071 --- ChangeLog 24 Jul 2008 00:57:41 -0000 1.1070 +++ ChangeLog 24 Jul 2008 00:57:47 -0000 1.1071 @@ -1,5 +1,6 @@ 2008-07-23 Brian Warner + * docs/buildbot.texinfo: update node names and menus * .darcs-boring: resurrect this file after it was accidentally deleted From warner at users.sourceforge.net Thu Jul 24 00:57:58 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:58 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1071,1.1072 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21175 Modified Files: ChangeLog Log Message: [project @ * buildbot/steps/shell.py (Test.setTestResults): set statistics] with names like "tests-total" instead of just "total". (Test.getText): same * buildbot/test/test_steps.py (PerlModuleTest): use getStatistic (with "tests-total") instead of getProperty, and call it on the step_status, not the step itself. This pair makes the PerlModuleTest pass again Original author: warner at lothar.com Date: 2008-07-24 00:20:05+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1071 retrieving revision 1.1072 diff -u -d -r1.1071 -r1.1072 --- ChangeLog 24 Jul 2008 00:57:47 -0000 1.1071 +++ ChangeLog 24 Jul 2008 00:57:56 -0000 1.1072 @@ -1,5 +1,13 @@ 2008-07-23 Brian Warner + * buildbot/steps/shell.py (Test.setTestResults): set statistics + with names like "tests-total" instead of just "total". + (Test.getText): same + * buildbot/test/test_steps.py (PerlModuleTest): use + getStatistic (with "tests-total") instead of getProperty, and call + it on the step_status, not the step itself. This pair makes the + PerlModuleTest pass again + * docs/buildbot.texinfo: update node names and menus * .darcs-boring: resurrect this file after it was accidentally deleted From warner at users.sourceforge.net Thu Jul 24 00:57:58 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:58 +0000 Subject: [Buildbot-commits] buildbot/buildbot/steps shell.py,1.27,1.28 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/steps In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21175/buildbot/steps Modified Files: shell.py Log Message: [project @ * buildbot/steps/shell.py (Test.setTestResults): set statistics] with names like "tests-total" instead of just "total". (Test.getText): same * buildbot/test/test_steps.py (PerlModuleTest): use getStatistic (with "tests-total") instead of getProperty, and call it on the step_status, not the step itself. This pair makes the PerlModuleTest pass again Original author: warner at lothar.com Date: 2008-07-24 00:20:05+00:00 Index: shell.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/steps/shell.py,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- shell.py 21 Jul 2008 17:52:16 -0000 1.27 +++ shell.py 24 Jul 2008 00:57:56 -0000 1.28 @@ -371,21 +371,23 @@ Called by subclasses to set the relevant statistics; this actually adds to any statistics already present """ - total += self.step_status.getStatistic('total', 0) - self.step_status.setStatistic('total', total) - failed += self.step_status.getStatistic('failed', 0) - self.step_status.setStatistic('failed', failed) - warnings += self.step_status.getStatistic('warnings', 0) - self.step_status.setStatistic('warnings', warnings) - passed += self.step_status.getStatistic('passed', 0) - self.step_status.setStatistic('passed', passed) + total += self.step_status.getStatistic('tests-total', 0) + self.step_status.setStatistic('tests-total', total) + failed += self.step_status.getStatistic('tests-failed', 0) + self.step_status.setStatistic('tests-failed', failed) + warnings += self.step_status.getStatistic('tests-warnings', 0) + self.step_status.setStatistic('tests-warnings', warnings) + passed += self.step_status.getStatistic('tests-passed', 0) + self.step_status.setStatistic('tests-passed', passed) def getText(self, cmd, results): - if self.step_status.hasStatistic('total'): - total, failed, passed, warnings = \ - [ self.step_status.getStatistic(n,0) - for n in 'total', 'failed', 'passed', 'warnings' ] - if not total: total = failed + passed + warnings + if self.step_status.hasStatistic('tests-total'): + total = self.step_status.getStatistic("tests-total", 0) + failed = self.step_status.getStatistic("tests-failed", 0) + passed = self.step_status.getStatistic("tests-passed", 0) + warnings = self.step_status.getStatistic("tests-warnings", 0) + if not total: + total = failed + passed + warnings rv = [] if total: rv.append('%d tests' % total) From warner at users.sourceforge.net Thu Jul 24 00:57:59 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:57:59 +0000 Subject: [Buildbot-commits] buildbot/buildbot/test test_steps.py,1.49,1.50 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/test In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21175/buildbot/test Modified Files: test_steps.py Log Message: [project @ * buildbot/steps/shell.py (Test.setTestResults): set statistics] with names like "tests-total" instead of just "total". (Test.getText): same * buildbot/test/test_steps.py (PerlModuleTest): use getStatistic (with "tests-total") instead of getProperty, and call it on the step_status, not the step itself. This pair makes the PerlModuleTest pass again Original author: warner at lothar.com Date: 2008-07-24 00:20:05+00:00 Index: test_steps.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_steps.py,v retrieving revision 1.49 retrieving revision 1.50 diff -u -d -r1.49 -r1.50 --- test_steps.py 27 May 2008 00:52:29 -0000 1.49 +++ test_steps.py 24 Jul 2008 00:57:56 -0000 1.50 @@ -654,9 +654,10 @@ log.addStdout(output) log.finish() step.evaluateCommand(log) - self.failUnlessEqual(step.getProperty('tests-failed'), 0) - self.failUnlessEqual(step.getProperty('tests-total'), 123) - self.failUnlessEqual(step.getProperty('tests-passed'), 123) + ss = step.step_status + self.failUnlessEqual(ss.getStatistic('tests-failed'), 0) + self.failUnlessEqual(ss.getStatistic('tests-total'), 123) + self.failUnlessEqual(ss.getStatistic('tests-passed'), 123) def testFailures(self): self.masterbase = "Warnings.testFailures" @@ -671,6 +672,7 @@ log.addStdout(output) log.finish() step.evaluateCommand(log) - self.failUnlessEqual(step.getProperty('tests-failed'), 3) - self.failUnlessEqual(step.getProperty('tests-total'), 7) - self.failUnlessEqual(step.getProperty('tests-passed'), 4) + ss = step.step_status + self.failUnlessEqual(ss.getStatistic('tests-failed'), 3) + self.failUnlessEqual(ss.getStatistic('tests-total'), 7) + self.failUnlessEqual(ss.getStatistic('tests-passed'), 4) From warner at users.sourceforge.net Thu Jul 24 00:58:05 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:58:05 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web build.py, 1.18, 1.19 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21207/buildbot/status/web Modified Files: build.py Log Message: [project @ * buildbot/status/web/build.py (StatusResourceBuild.stop): fix] failure due to typo, caught by pyflakes Original author: warner at lothar.com Date: 2008-07-24 00:43:51+00:00 Index: build.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/build.py,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- build.py 22 May 2008 22:13:26 -0000 1.18 +++ build.py 24 Jul 2008 00:58:03 -0000 1.19 @@ -207,7 +207,7 @@ c.stopBuild(reason) # we're at http://localhost:8080/svn-hello/builds/5/stop?[args] and # we want to go to: http://localhost:8080/svn-hello - return Redirect("../..") + r = Redirect("../..") d = defer.Deferred() reactor.callLater(1, d.callback, r) return DeferredResource(d) From warner at users.sourceforge.net Thu Jul 24 00:58:05 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 00:58:05 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1072,1.1073 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21207 Modified Files: ChangeLog Log Message: [project @ * buildbot/status/web/build.py (StatusResourceBuild.stop): fix] failure due to typo, caught by pyflakes Original author: warner at lothar.com Date: 2008-07-24 00:43:51+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1072 retrieving revision 1.1073 diff -u -d -r1.1072 -r1.1073 --- ChangeLog 24 Jul 2008 00:57:56 -0000 1.1072 +++ ChangeLog 24 Jul 2008 00:58:03 -0000 1.1073 @@ -1,5 +1,8 @@ 2008-07-23 Brian Warner + * buildbot/status/web/build.py (StatusResourceBuild.stop): fix + failure due to typo, caught by pyflakes + * buildbot/steps/shell.py (Test.setTestResults): set statistics with names like "tests-total" instead of just "total". (Test.getText): same From warner at users.sourceforge.net Thu Jul 24 01:35:40 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 01:35:40 +0000 Subject: [Buildbot-commits] buildbot/buildbot/process buildstep.py, 1.12, 1.13 properties.py, 1.8, 1.9 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/process In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3739/buildbot/process Modified Files: buildstep.py properties.py Log Message: [project @ various: hush pyflakes by removing unused imports] Original author: warner at lothar.com Date: 2008-07-24 01:35:01+00:00 Index: buildstep.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/process/buildstep.py,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- buildstep.py 22 May 2008 22:12:57 -0000 1.12 +++ buildstep.py 24 Jul 2008 01:35:37 -0000 1.13 @@ -8,7 +8,6 @@ from twisted.python.failure import Failure from twisted.web.util import formatFailure -from buildbot import util from buildbot import interfaces from buildbot.status import progress from buildbot.status.builder import SUCCESS, WARNINGS, FAILURE, SKIPPED, \ @@ -1094,3 +1093,6 @@ # (WithProeprties used to be available in this module) from buildbot.process.properties import WithProperties +_hush_pyflakes = [WithProperties] +del _hush_pyflakes + Index: properties.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/process/properties.py,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- properties.py 26 May 2008 23:52:27 -0000 1.8 +++ properties.py 24 Jul 2008 01:35:38 -0000 1.9 @@ -1,9 +1,6 @@ import re import weakref -from zope.interface import implements from buildbot import util -from twisted.python import log -from twisted.python.failure import Failure class Properties(util.ComparableMixin): """ From warner at users.sourceforge.net Thu Jul 24 01:35:40 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 01:35:40 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web grid.py,1.3,1.4 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3739/buildbot/status/web Modified Files: grid.py Log Message: [project @ various: hush pyflakes by removing unused imports] Original author: warner at lothar.com Date: 2008-07-24 01:35:01+00:00 Index: grid.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/grid.py,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- grid.py 25 Jun 2008 23:52:45 -0000 1.3 +++ grid.py 24 Jul 2008 01:35:38 -0000 1.4 @@ -1,9 +1,9 @@ from __future__ import generators -import sys, string, types, time, os.path +import sys, time, os.path import urllib -from buildbot import interfaces, util +from buildbot import util from buildbot import version from buildbot.status.web.base import HtmlResource From warner at users.sourceforge.net Thu Jul 24 01:35:41 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 01:35:41 +0000 Subject: [Buildbot-commits] buildbot/buildbot/test test_properties.py, 1.20, 1.21 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/test In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3739/buildbot/test Modified Files: test_properties.py Log Message: [project @ various: hush pyflakes by removing unused imports] Original author: warner at lothar.com Date: 2008-07-24 01:35:01+00:00 Index: test_properties.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_properties.py,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- test_properties.py 26 May 2008 23:52:23 -0000 1.20 +++ test_properties.py 24 Jul 2008 01:35:39 -0000 1.21 @@ -7,7 +7,6 @@ from buildbot.sourcestamp import SourceStamp from buildbot.process import base from buildbot.process.properties import WithProperties, Properties -from buildbot.steps.shell import ShellCommand from buildbot.status import builder from buildbot.slave.commands import rmdirRecursive from buildbot.test.runutils import RunMixin From warner at users.sourceforge.net Thu Jul 24 01:35:41 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 01:35:41 +0000 Subject: [Buildbot-commits] buildbot/buildbot/steps shell.py, 1.28, 1.29 trigger.py, 1.6, 1.7 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/steps In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv3739/buildbot/steps Modified Files: shell.py trigger.py Log Message: [project @ various: hush pyflakes by removing unused imports] Original author: warner at lothar.com Date: 2008-07-24 01:35:01+00:00 Index: shell.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/steps/shell.py,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- shell.py 24 Jul 2008 00:57:56 -0000 1.28 +++ shell.py 24 Jul 2008 01:35:38 -0000 1.29 @@ -8,6 +8,8 @@ # for existing configurations that import WithProperties from here. We like # to move this class around just to keep our readers guessing. from buildbot.process.properties import WithProperties +_hush_pyflakes = [WithProperties] +del _hush_pyflakes class ShellCommand(LoggingBuildStep): """I run a single shell command on the buildslave. I return FAILURE if Index: trigger.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/steps/trigger.py,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- trigger.py 22 May 2008 22:13:17 -0000 1.6 +++ trigger.py 24 Jul 2008 01:35:38 -0000 1.7 @@ -1,5 +1,5 @@ from buildbot.process.buildstep import LoggingBuildStep, SUCCESS, FAILURE, EXCEPTION -from buildbot.process.properties import WithProperties, Properties +from buildbot.process.properties import Properties from buildbot.scheduler import Triggerable from twisted.internet import defer From warner at users.sourceforge.net Thu Jul 24 18:52:27 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 18:52:27 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web waterfall.py, 1.33, 1.34 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18575/buildbot/status/web Modified Files: waterfall.py Log Message: [project @ #228:fix-summary-with-no-values.patch] Correctly display the summary, even with no test results (thanks to Pike) Original author: dustin at v.igoro.us Date: 2008-07-24 15:07:35+00:00 Index: waterfall.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/waterfall.py,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- waterfall.py 21 Jul 2008 17:52:20 -0000 1.33 +++ waterfall.py 24 Jul 2008 18:52:23 -0000 1.34 @@ -111,7 +111,7 @@ number = b.getNumber() url = path_to_build(req, b) text = b.getText() - tests_failed = b.getSummaryStatistic('failed', operator.add) + tests_failed = b.getSummaryStatistic('failed', operator.add, 0) if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) # TODO: maybe add logs? # TODO: add link to the per-build page at 'url' From warner at users.sourceforge.net Thu Jul 24 18:52:32 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 18:52:32 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status tinderbox.py, 1.10, 1.11 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18626/buildbot/status Modified Files: tinderbox.py Log Message: [project @ axel-tinderbox-fix.patch] Fix by Axel Hecht to a regression in tinderbox Original author: dustin at v.igoro.us Date: 2008-07-24 15:11:08+00:00 Index: tinderbox.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/tinderbox.py,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- tinderbox.py 29 Apr 2008 16:17:59 -0000 1.10 +++ tinderbox.py 24 Jul 2008 18:52:30 -0000 1.11 @@ -172,7 +172,7 @@ text += "%s build: %s\n" % (t, self.columnName) elif isinstance(self.columnName, WithProperties): # interpolate the WithProperties instance, use that - text += "%s build: %s\n" % (t, self.columnName.render(build)) + text += "%s build: %s\n" % (t, build.getProperties().render(self.columnName)) else: raise Exception("columnName is an unhandled value") text += "%s errorparser: %s\n" % (t, self.errorparser) From warner at users.sourceforge.net Thu Jul 24 18:52:38 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 18:52:38 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web waterfall.py, 1.34, 1.35 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18658/buildbot/status/web Modified Files: waterfall.py Log Message: [project @ merge-fix.patch] Fix to use the correct name for the failed-tests statistic. Original author: dustin at v.igoro.us Date: 2008-07-24 18:48:28+00:00 Index: waterfall.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/waterfall.py,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- waterfall.py 24 Jul 2008 18:52:23 -0000 1.34 +++ waterfall.py 24 Jul 2008 18:52:36 -0000 1.35 @@ -111,7 +111,7 @@ number = b.getNumber() url = path_to_build(req, b) text = b.getText() - tests_failed = b.getSummaryStatistic('failed', operator.add, 0) + tests_failed = b.getSummaryStatistic('tests-failed', operator.add, 0) if tests_failed: text.extend(["Failed tests: %d" % tests_failed]) # TODO: maybe add logs? # TODO: add link to the per-build page at 'url' From warner at users.sourceforge.net Thu Jul 24 20:22:39 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 20:22:39 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1073,1.1074 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22270 Modified Files: ChangeLog Log Message: [project @ ChangeLog: update for the recent patches, improve description of earlier ones] Original author: warner at lothar.com Date: 2008-07-24 20:05:49+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1073 retrieving revision 1.1074 diff -u -d -r1.1073 -r1.1074 --- ChangeLog 24 Jul 2008 00:58:03 -0000 1.1073 +++ ChangeLog 24 Jul 2008 20:22:36 -0000 1.1074 @@ -1,3 +1,12 @@ +2008-07-21 Dustin J. Mitchell + + * buildbot/status/web/waterfall.py (BuildTopBox): show summary + even if there were no test results, patch from Pike + (BuildTopBox): use the right statistic name, 'tests-failed' + instead of just 'failed' + * buildbot/status/tinderbox.py: fix regression, patch from Axel + Hecht + 2008-07-23 Brian Warner * buildbot/status/web/build.py (StatusResourceBuild.stop): fix @@ -15,47 +24,77 @@ * .darcs-boring: resurrect this file after it was accidentally deleted +2008-07-21 Dustin J. Mitchell + + * buildbot/steps/shell.py (WarningCountingShellCommand): add + warning count to the 'warnings' statistic + (Test.setTestResults): count stats + (Test.getText): include stats in summary text + (PerlModuleTest): use setTestResults + 2008-06-25 Dustin J. Mitchell * docs/buildbot.texinfo: Patch by Albert Hofkamp to use step instances universally in the documentation. (#305) -2008-06-25 Dustin J. Mitchell - * buildbot/status/builder.py: Upgrading from version 2 to 3 of BuildStatus had an incorrect call to properties.update. Closes #295. + * buildbot/status/builder.py (BuildStepStatus): introduce + 'statistics': counters of things that happen a build that + aren't better expressed as logfiles or properties. Examples + include the number of tests that pass/fail/skip. + (BuildStepStatus.hasStatistic) + (BuildStepStatus.getStatistic): accessor methods + (BuildStepStatus.setStatistic): setter + (BuildStatus.getSummaryStatistic): method to summarize stats, + using a caller-provided sum() function + * buildbot/test/test_status.py (StepStatistics): test it + + * buildbot/status/web/waterfall.py (BuildTopBox): use stats instead + of sumStepProperty + 2008-06-13 Dustin J. Mitchell - * buildbot/status/web/grid.py: Sort the builders in the - grid display (#300) + * buildbot/status/web/grid.py (GridStatusResource): Sort the + builders in the grid display (#300) 2008-06-01 Dustin J. Mitchell - * buildbot/buildslave.py buildbot/process/base.py - buildbot/status/builder.py buildbot/status/web/slaves.py - buildbot/test/test_slaves.py: short patch by Ben Hearsum to - make the /buildslaves WebStatus? page a little more useful. It - does do things: 1) bolds the 'slave is NOT connected' line - to make it more visible 2) shows whether each slave is busy - (building) or not (#278) + * buildbot/status/web/slaves.py (BuildSlavesResource): short patch + by Ben Hearsum to make the /buildslaves WebStatus? page a little + more useful. It does do things: 1) bolds the 'slave is NOT + connected' line to make it more visible 2) shows whether each + slave is busy (building) or not (#278) + * buildbot/buildslave.py (BuildSlave.updateSlaveStatus): notify + the SlaveStatus monitor each time we start or finish a build + * buildbot/status/builder.py: same + * buildbot/process/base.py: call updateSlaveStatus at start/finish + * buildbot/test/test_slaves.py (SlaveBusyness): test it 2008-05-26 Dustin J. Mitchell - * buildbot/process/factory.py buildbot/status/web/waterfall.py - buildbot/steps/shell.py buildbot/test/test_steps.py - docs/buildbot.texinfo: Patch by Neil Hemingway + * buildbot/steps/shell.py (PerlModuleTest): Patch by Neil Hemingway to add a PerlModuleTest step (#228) + * buildbot/process/factory.py (CPAN): use PerlModuleTest, not Test + * buildbot/status/web/waterfall.py (BuildTopBox): include count of + failed tests in top text, along with 'failed' or 'passed'. + * buildbot/test/test_steps.py (PerlModuleTest): test it + * docs/buildbot.texinfo (PerlModuleTest): docs 2008-05-19 Dustin J. Mitchell - * buildbot/changes/dnotify.py buildbot/clients/base.py - buildbot/clients/debug.py buildbot/clients/gtkPanes.py - buildbot/dnotify.py buildbot/test/emit.py - buildbot/test/emitlogs.py buildbot/test/sleep.py: Patch by - Gianluca Sforna to remove unnecessary - shebangs about which rpmlint complains. (#282) + * buildbot/changes/dnotify.py: Patch by Gianluca Sforna + to remove unnecessary shebangs about which + rpmlint complains. (#282) + * buildbot/clients/base.py: same + * buildbot/clients/debug.py: same + * buildbot/clients/gtkPanes.py: same + * buildbot/dnotify.py: same + * buildbot/test/emit.py: same + * buildbot/test/emitlogs.py: same + * buildbot/test/sleep.py: same 2008-05-17 Dustin J. Mitchell @@ -65,26 +104,30 @@ 2008-05-16 Dustin J. Mitchell - * buildbot/changes/svnpoller.py - buildbot/test/test_svnpoller.py: Patch by Neil Hemingway + * buildbot/changes/svnpoller.py: Patch by Neil Hemingway that has svnpoller checking - whether the change reported by SVN is a branch deletion. If - it is, a buildbot Change is not created. (#261) + whether the change reported by SVN is a branch deletion. If it is, + a buildbot Change is not created. (#261) + * buildbot/test/test_svnpoller.py: test it 2008-05-15 Dustin J. Mitchell - * buildbot/status/words.py buildbot/test/test_status.py - docs/buildbot.texinfo: Patch by Neil Hemingway - : allow the IRC daemon to notify - users on build events, either via private messages or channel - messages (#171) + * buildbot/status/words.py (Contact.command_NOTIFY): Patch by Neil + Hemingway : allow the IRC daemon to + notify users on build events, either via private messages or + channel messages. (#171) + (IRCContact.command_JOIN, IRCContact.command_LEAVE): new commands + to tell the buildbot to join or leave irc channels. + * buildbot/test/test_status.py (ContactTester): test it + * docs/buildbot.texinfo: docs 2008-05-14 Dustin J. Mitchell - * buildbot/steps/shell.py buildbot/test/test_properties.py - docs/buildbot.texinfo: A buildstep that is similar to - ShellCommand, except that it captures the output of the + * buildbot/steps/shell.py (SetProperty): A buildstep that is + similar to ShellCommand, except that it captures the output of the command into a property. (#232) + * buildbot/test/test_properties.py (Run.testSetPropertySimple): same + * docs/buildbot.texinfo (SetProperty): same 2008-04-29 Brian Warner From warner at users.sourceforge.net Thu Jul 24 20:22:44 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 20:22:44 +0000 Subject: [Buildbot-commits] buildbot ChangeLog, 1.1074, 1.1075 NEWS, 1.69, 1.70 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv22283 Modified Files: ChangeLog NEWS Log Message: [project @ update NEWS] Original author: warner at lothar.com Date: 2008-07-24 20:22:07+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1074 retrieving revision 1.1075 diff -u -d -r1.1074 -r1.1075 --- ChangeLog 24 Jul 2008 20:22:36 -0000 1.1074 +++ ChangeLog 24 Jul 2008 20:22:41 -0000 1.1075 @@ -1,3 +1,8 @@ +2008-07-24 Brian Warner + + * NEWS: update with recent changes in preparation for the upcoming + release + 2008-07-21 Dustin J. Mitchell * buildbot/status/web/waterfall.py (BuildTopBox): show summary Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/buildbot/NEWS,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- NEWS 30 Mar 2008 02:48:00 -0000 1.69 +++ NEWS 24 Jul 2008 20:22:41 -0000 1.70 @@ -1,5 +1,83 @@ User visible changes in Buildbot. -*- outline -*- +* Release 0.7.8 (?) + +** New features + +The IRC bot will respond to three new commands: 'notify' subscribes the +channel (or the sender, if the command is sent as a private "/msg") to hear +about build events. 'join' tells the bot to join some new IRC channel. +'leave' tells it to leave a channel. See the "IRC Bot" section of the User's +Manual for details. (#171) + +Build Steps now have "statistics", in addition to logfiles. These are used to +count things like how many tests passed or failed. There are methods to sum +these counters across all steps and display the results in the Build status. +The Waterfall display now shows the count of failed tests on the top-most box +in each column, using this mechanism. + +The new buildbot.steps.shell.PerlModuleTest step was added, to run Perl unit +tests. This is a wrapper around the regular ShellCommand that parses the +output of the standard perl unit test system and counts how many tests +passed/failed/etc. The results are put into the step's summary text, and a +count of tests passed/failed/skipped are tracked in the steps's statistics. +The factory.CPAN build factory has been updated to use this, so configuring a +Buildbot to test a perl module available from CPAN should be as easy as: + + s = source.CVS(cvsroot, cvsmodule) + f = factory.CPAN(s) + +** Other improvements + +The /buildslaves web page shows which slaves are currently running builds. +Offline slaves are displayed in bold. + +Buildbot's setup.py now provides metadata to setuptools (if installed): an +entry_points script was added, and a dependency upon twisted-2.4.x or newer +was declared. This makes it more likely that 'easy_install buildbot' will +work. + +The MailNotifier class acquired a mode="passing" flag: in this mode, the +buildbot will only send mail about passing builds (versus only on failing +builds, or only on builds which failed when the previous build had passed). + +** Bugs fixed + +Don't display force/stop build buttons when build control is disabled (#246) + +When a build is waiting on a lock, don't claim that it has started (#107) + +Make SVN mode=copy tolerate symlinks on freebsd, "cp -rp" -> "cp -RPp" (#86) + +The svnpoller changesource now ignores branch deletion (#261) + +The Git unit tests should run even if the user has not told Git about their +username/email. + +The WebStatus /xmlrpc server's getStatus() method was renamed to the +more-accurate getLastBuildResults(). + +The TinderboxMailNotifier status output acquired an useChangeTime= argument. + +The bonsaipoller changesource got some fixes. + +** Deprecation Schedule + +No features have been deprecated in this release, and no deprecated features +have been removed. As a reminder, the following deprecated features are +scheduled for removal in an upcoming release: + +c['sources'] (plural) was replaced by c['change_source'] (singular) in 0.7.6, +and will be removed by 0.8.0. + +c['bots'] was replaced by c['buildslaves'] in 0.7.6, and will be removed by +0.8.0 . c['bots'] only accepts BuildSlave instances, not name/passwd tuples. + +The html.Waterfall status target was replaced by html.WebStatus in 0.7.6, and +will be removed by 0.8.0. + + + * Release 0.7.7 (29 Mar 2008) ** Things You Need To Know From warner at users.sourceforge.net Thu Jul 24 21:21:35 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 21:21:35 +0000 Subject: [Buildbot-commits] buildbot ChangeLog, 1.1075, 1.1076 setup.py, 1.51, 1.52 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11772 Modified Files: ChangeLog setup.py Log Message: [project @ setup.py: reduce setuptools-visible Twisted dependency to >=2.0.0] Original author: warner at lothar.com Date: 2008-07-24 20:44:40+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1075 retrieving revision 1.1076 diff -u -d -r1.1075 -r1.1076 --- ChangeLog 24 Jul 2008 20:22:41 -0000 1.1075 +++ ChangeLog 24 Jul 2008 21:21:32 -0000 1.1076 @@ -1,5 +1,9 @@ 2008-07-24 Brian Warner + * setup.py: reduce the setuptools-visible dependency on Twisted to + be >=2.0.0 (rather than >=2.4.0), since we can handle older + Twisteds without problems. + * NEWS: update with recent changes in preparation for the upcoming release Index: setup.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/setup.py,v retrieving revision 1.51 retrieving revision 1.52 diff -u -d -r1.51 -r1.52 --- setup.py 25 Jun 2008 23:52:49 -0000 1.51 +++ setup.py 24 Jul 2008 21:21:32 -0000 1.52 @@ -96,7 +96,7 @@ except ImportError: pass else: - setup_args['install_requires'] = ['twisted >= 2.4.0'] + setup_args['install_requires'] = ['twisted >= 2.0.0'] entry_points={ 'console_scripts': [ 'buildbot = buildbot.scripts.runner:run' From warner at users.sourceforge.net Thu Jul 24 21:21:39 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 21:21:39 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1076,1.1077 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11785 Modified Files: ChangeLog Log Message: [project @ test_bonsaipoller.py: fix test failures on systems with low-res time.time] Original author: warner at lothar.com Date: 2008-07-24 20:44:50+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1076 retrieving revision 1.1077 diff -u -d -r1.1076 -r1.1077 --- ChangeLog 24 Jul 2008 21:21:32 -0000 1.1076 +++ ChangeLog 24 Jul 2008 21:21:37 -0000 1.1077 @@ -1,5 +1,10 @@ 2008-07-24 Brian Warner + * buildbot/test/test_bonsaipoller.py + (TestBonsaiPoller.testParserWorksAfterInvalidResult): increment + the .lastPoll timestamp between calls to _process_changes, + otherwise the test fails on a machine with low-res time.time() + * setup.py: reduce the setuptools-visible dependency on Twisted to be >=2.0.0 (rather than >=2.4.0), since we can handle older Twisteds without problems. From warner at users.sourceforge.net Thu Jul 24 21:21:39 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 21:21:39 +0000 Subject: [Buildbot-commits] buildbot/buildbot/test test_bonsaipoller.py, 1.5, 1.6 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/test In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv11785/buildbot/test Modified Files: test_bonsaipoller.py Log Message: [project @ test_bonsaipoller.py: fix test failures on systems with low-res time.time] Original author: warner at lothar.com Date: 2008-07-24 20:44:50+00:00 Index: test_bonsaipoller.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_bonsaipoller.py,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- test_bonsaipoller.py 29 Apr 2008 20:21:27 -0000 1.5 +++ test_bonsaipoller.py 24 Jul 2008 21:21:37 -0000 1.6 @@ -217,9 +217,14 @@ poller = FakeBonsaiPoller() lastChangeBefore = poller.lastChange - # generate an exception first + # generate an exception first. pretend that we're doing a poll and + # increment the timestamp, otherwise the failIfEqual test at the + # bottom will depend upon there being a noticeable difference between + # two successive calls to time.time(). + poller.lastPoll += 1.0 poller._process_changes(badUnparsedResult) # now give it a valid one... + poller.lastPoll += 1.0 poller._process_changes(goodUnparsedResult) # if poller.lastChange has not been updated then the good result # was not parsed From warner at users.sourceforge.net Thu Jul 24 22:16:30 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 22:16:30 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1077,1.1078 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31569 Modified Files: ChangeLog Log Message: [project @ fix a variable-name collision that broken the debugclient 'force build' button] Original author: warner at lothar.com Date: 2008-07-24 22:03:11+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1077 retrieving revision 1.1078 diff -u -d -r1.1077 -r1.1078 --- ChangeLog 24 Jul 2008 21:21:37 -0000 1.1077 +++ ChangeLog 24 Jul 2008 22:16:28 -0000 1.1078 @@ -1,5 +1,10 @@ 2008-07-24 Brian Warner + * buildbot/master.py (DebugPerspective.perspective_requestBuild): + fix variable-name collision that broke the debugclient's 'force + build' button + * buildbot/clients/debug.py (DebugWidget.err): print errors + * buildbot/test/test_bonsaipoller.py (TestBonsaiPoller.testParserWorksAfterInvalidResult): increment the .lastPoll timestamp between calls to _process_changes, From warner at users.sourceforge.net Thu Jul 24 22:16:30 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 22:16:30 +0000 Subject: [Buildbot-commits] buildbot/buildbot/clients debug.py,1.11,1.12 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/clients In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31569/buildbot/clients Modified Files: debug.py Log Message: [project @ fix a variable-name collision that broken the debugclient 'force build' button] Original author: warner at lothar.com Date: 2008-07-24 22:03:11+00:00 Index: debug.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/clients/debug.py,v retrieving revision 1.11 retrieving revision 1.12 diff -u -d -r1.11 -r1.12 --- debug.py 22 May 2008 22:13:21 -0000 1.11 +++ debug.py 24 Jul 2008 22:16:28 -0000 1.12 @@ -165,9 +165,7 @@ d = self.remote.callRemote("setCurrentState", name, state) d.addErrback(self.err) def err(self, failure): - print "received error" - failure.printTraceback() - + print "received error:", failure def run(self): reactor.run() From warner at users.sourceforge.net Thu Jul 24 22:16:30 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 22:16:30 +0000 Subject: [Buildbot-commits] buildbot/buildbot master.py,1.116,1.117 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31569/buildbot Modified Files: master.py Log Message: [project @ fix a variable-name collision that broken the debugclient 'force build' button] Original author: warner at lothar.com Date: 2008-07-24 22:03:11+00:00 Index: master.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/master.py,v retrieving revision 1.116 retrieving revision 1.117 diff -u -d -r1.116 -r1.117 --- master.py 22 May 2008 22:13:21 -0000 1.116 +++ master.py 24 Jul 2008 22:16:28 -0000 1.117 @@ -232,9 +232,9 @@ c = interfaces.IControl(self.master) bc = c.getBuilder(buildername) ss = SourceStamp(branch, revision) - properties = Properties() - properties.update(properties, "remote requestBuild") - br = BuildRequest(reason, ss, builderName=buildername, properties=properties) + bpr = Properties() + bpr.update(properties, "remote requestBuild") + br = BuildRequest(reason, ss, builderName=buildername, properties=bpr) bc.requestBuild(br) def perspective_pingBuilder(self, buildername): From warner at users.sourceforge.net Thu Jul 24 22:16:36 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 22:16:36 +0000 Subject: [Buildbot-commits] buildbot/buildbot/process buildstep.py, 1.13, 1.14 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/process In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31592/buildbot/process Modified Files: buildstep.py Log Message: [project @ BuildStep.setProperty: provide a default value for source=, since there are custom buildsteps that don't provide one] Original author: warner at lothar.com Date: 2008-07-24 22:11:19+00:00 Index: buildstep.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/process/buildstep.py,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- buildstep.py 24 Jul 2008 01:35:37 -0000 1.13 +++ buildstep.py 24 Jul 2008 22:16:34 -0000 1.14 @@ -631,7 +631,7 @@ def getProperty(self, propname): return self.build.getProperty(propname) - def setProperty(self, propname, value, source): + def setProperty(self, propname, value, source="Step"): self.build.setProperty(propname, value, source) def startStep(self, remote): From warner at users.sourceforge.net Thu Jul 24 22:16:36 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 22:16:36 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1078,1.1079 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31592 Modified Files: ChangeLog Log Message: [project @ BuildStep.setProperty: provide a default value for source=, since there are custom buildsteps that don't provide one] Original author: warner at lothar.com Date: 2008-07-24 22:11:19+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1078 retrieving revision 1.1079 diff -u -d -r1.1078 -r1.1079 --- ChangeLog 24 Jul 2008 22:16:28 -0000 1.1078 +++ ChangeLog 24 Jul 2008 22:16:34 -0000 1.1079 @@ -1,5 +1,9 @@ 2008-07-24 Brian Warner + * buildbot/process/buildstep.py (BuildStep.setProperty): provide a + default value for source=, to accomodate custom buildsteps that + don't otherwise provide one + * buildbot/master.py (DebugPerspective.perspective_requestBuild): fix variable-name collision that broke the debugclient's 'force build' button From warner at users.sourceforge.net Thu Jul 24 23:00:50 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:00:50 +0000 Subject: [Buildbot-commits] buildbot/buildbot/status/web build.py, 1.19, 1.20 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/status/web In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16511/buildbot/status/web Modified Files: build.py Log Message: [project @ web/build.py: handle property display better for large values, HTML escape them] Original author: warner at lothar.com Date: 2008-07-24 22:28:39+00:00 Index: build.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/status/web/build.py,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- build.py 24 Jul 2008 00:58:03 -0000 1.19 +++ build.py 24 Jul 2008 23:00:48 -0000 1.20 @@ -124,9 +124,16 @@ data += "

Build Properties:

\n" data += "\n" for name, value, source in b.getProperties().asList(): - data += "\n" % (name, value, source) + value = str(value) + if len(value) > 500: + value = value[:500] + " .. [property value too long]" + data += "" + data += "" % html.escape(name) + data += "" % html.escape(value) + data += "" % html.escape(source) + data += "\n" data += "
NameValueSource
%s%s%s
%s%s%s
" - + data += "

Blamelist:

\n" if list(b.getResponsibleUsers()): data += "
    \n" From warner at users.sourceforge.net Thu Jul 24 23:00:50 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:00:50 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1079,1.1080 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16511 Modified Files: ChangeLog Log Message: [project @ web/build.py: handle property display better for large values, HTML escape them] Original author: warner at lothar.com Date: 2008-07-24 22:28:39+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1079 retrieving revision 1.1080 diff -u -d -r1.1079 -r1.1080 --- ChangeLog 24 Jul 2008 22:16:34 -0000 1.1079 +++ ChangeLog 24 Jul 2008 23:00:48 -0000 1.1080 @@ -1,5 +1,11 @@ 2008-07-24 Brian Warner + * buildbot/status/web/build.py (StatusResourceBuild.body): don't + show more than 500 characters of a property value, since the + got_revision property for Darcs checkouts can be 10kB or more. + Also HTML-escape everything, so <> in the value doesn't confuse + the resulting page. + * buildbot/process/buildstep.py (BuildStep.setProperty): provide a default value for source=, to accomodate custom buildsteps that don't otherwise provide one From warner at users.sourceforge.net Thu Jul 24 23:00:54 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:00:54 +0000 Subject: [Buildbot-commits] buildbot/buildbot/steps shell.py,1.29,1.30 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot/steps In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16530/buildbot/steps Modified Files: shell.py Log Message: [project @ shell.Test: improve summary text by including description from the parent class] Original author: warner at lothar.com Date: 2008-07-24 22:44:01+00:00 Index: shell.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/steps/shell.py,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- shell.py 24 Jul 2008 01:35:38 -0000 1.29 +++ shell.py 24 Jul 2008 23:00:52 -0000 1.30 @@ -383,6 +383,7 @@ self.step_status.setStatistic('tests-passed', passed) def getText(self, cmd, results): + text = WarningCountingShellCommand.getText(self, cmd, results) if self.step_status.hasStatistic('tests-total'): total = self.step_status.getStatistic("tests-total", 0) failed = self.step_status.getStatistic("tests-failed", 0) @@ -391,14 +392,15 @@ if not total: total = failed + passed + warnings - rv = [] - if total: rv.append('%d tests' % total) - if passed: rv.append('%d passed' % passed) - if warnings: rv.append('%d warnings' % warnings) - if failed: rv.append('%d failed' % failed) - return rv - else: - return [ "no test results" ] + if total: + text.append('%d tests' % total) + if passed: + text.append('%d passed' % passed) + if warnings: + text.append('%d warnings' % warnings) + if failed: + text.append('%d failed' % failed) + return text class PerlModuleTest(Test): command=["prove", "--lib", "lib", "-r", "t"] From warner at users.sourceforge.net Thu Jul 24 23:00:54 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:00:54 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1080,1.1081 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv16530 Modified Files: ChangeLog Log Message: [project @ shell.Test: improve summary text by including description from the parent class] Original author: warner at lothar.com Date: 2008-07-24 22:44:01+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1080 retrieving revision 1.1081 diff -u -d -r1.1080 -r1.1081 --- ChangeLog 24 Jul 2008 23:00:48 -0000 1.1080 +++ ChangeLog 24 Jul 2008 23:00:52 -0000 1.1081 @@ -1,5 +1,9 @@ 2008-07-24 Brian Warner + * buildbot/steps/shell.py (Test.getText): include summary text + from the parent class (so 'test' or 'running tests' or whatever), + and don't add anything if there weren't any test results. + * buildbot/status/web/build.py (StatusResourceBuild.body): don't show more than 500 characters of a property value, since the got_revision property for Darcs checkouts can be 10kB or more. From warner at users.sourceforge.net Thu Jul 24 23:04:14 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:04:14 +0000 Subject: [Buildbot-commits] buildbot NEWS,1.70,1.71 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv18060 Modified Files: NEWS Log Message: [project @ NEWS: include Properties improvements] Original author: warner at lothar.com Date: 2008-07-24 23:03:49+00:00 Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/buildbot/NEWS,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- NEWS 24 Jul 2008 20:22:41 -0000 1.70 +++ NEWS 24 Jul 2008 23:04:12 -0000 1.71 @@ -27,6 +27,23 @@ s = source.CVS(cvsroot, cvsmodule) f = factory.CPAN(s) +Build Properties have been generalized: they remain associated with a single +Build, but the properties can be set from a variety of sources. In previous +releases, the Build itself would set properties like 'buildername', 'branch', +and 'revision' (the latter two indicating which version of the source code it +was trying to get), and the source-checkout BuildSteps would set a property +named 'got_revision' (to indicate what version of the soruce code it actually +got). In this release, the 'scheduler' property is set to indicate which +Scheduler caused the build to be started. In addition, the config file can +specify properties to be set on all Builds, or on all Builds for a specific +Builder. All these properties are available for interpolation into +ShellCommands and environment variables by using the WithProperties() marker. + +It may be easier to implement simple build parameterization (e.g. to upload +generated binaries to a specific directory, or to only perform long-running +tests on a nightly build instead of upon every checkin) by using these Build +Properties than to write custom BuildSteps. + ** Other improvements The /buildslaves web page shows which slaves are currently running builds. From warner at users.sourceforge.net Thu Jul 24 23:31:14 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:31:14 +0000 Subject: [Buildbot-commits] buildbot ChangeLog, 1.1081, 1.1082 NEWS, 1.71, 1.72 README, 1.39, 1.40 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28512 Modified Files: ChangeLog NEWS README Log Message: [project @ update NEWS and README] Original author: warner at lothar.com Date: 2008-07-24 23:26:53+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1081 retrieving revision 1.1082 diff -u -d -r1.1081 -r1.1082 --- ChangeLog 24 Jul 2008 23:00:52 -0000 1.1081 +++ ChangeLog 24 Jul 2008 23:31:11 -0000 1.1082 @@ -1,5 +1,8 @@ 2008-07-24 Brian Warner + * README: update dependencies, tested against twisted-8.1.0 + * NEWS: update for 0.7.8 release + * buildbot/steps/shell.py (Test.getText): include summary text from the parent class (so 'test' or 'running tests' or whatever), and don't add anything if there weren't any test results. Index: NEWS =================================================================== RCS file: /cvsroot/buildbot/buildbot/NEWS,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- NEWS 24 Jul 2008 23:04:12 -0000 1.71 +++ NEWS 24 Jul 2008 23:31:12 -0000 1.72 @@ -1,6 +1,6 @@ User visible changes in Buildbot. -*- outline -*- -* Release 0.7.8 (?) +* Release 0.7.8 (24 Jul 2008) ** New features Index: README =================================================================== RCS file: /cvsroot/buildbot/buildbot/README,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- README 24 Apr 2008 22:17:19 -0000 1.39 +++ README 24 Jul 2008 23:31:12 -0000 1.40 @@ -59,8 +59,8 @@ Both the buildmaster and the buildslaves require Twisted-2.0.x or later. As always, the most recent version is recommended. It has been tested - against Twisted-2.5.0, Twisted-8.0.1, and Twisted SVN as of the date of - release. + against Twisted-2.5.0, Twisted-8.0.1, Twisted-8.1.0, and Twisted SVN as of + the date of release. Certain versions of Twisted are delivered as a collection of subpackages. You'll need at least "Twisted" (the core package), and you'll also want @@ -116,7 +116,7 @@ your buildslave's name the password assigned to your buildslave the hostname and port number of the buildmaster, i.e. example.com:8007 - + You also need to pick a working directory for the buildslave. All commands will be run inside this directory. From warner at users.sourceforge.net Thu Jul 24 23:31:19 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:31:19 +0000 Subject: [Buildbot-commits] buildbot ChangeLog,1.1082,1.1083 Message-ID: Update of /cvsroot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28530 Modified Files: ChangeLog Log Message: [project @ release buildbot-0.7.8] Original author: warner at lothar.com Date: 2008-07-24 23:28:25+00:00 Index: ChangeLog =================================================================== RCS file: /cvsroot/buildbot/buildbot/ChangeLog,v retrieving revision 1.1082 retrieving revision 1.1083 diff -u -d -r1.1082 -r1.1083 --- ChangeLog 24 Jul 2008 23:31:11 -0000 1.1082 +++ ChangeLog 24 Jul 2008 23:31:17 -0000 1.1083 @@ -1,5 +1,10 @@ 2008-07-24 Brian Warner + * buildbot/__init__.py (version): Releasing buildbot-0.7.8 + * docs/buildbot.texinfo: same + +2008-07-24 Brian Warner + * README: update dependencies, tested against twisted-8.1.0 * NEWS: update for 0.7.8 release From warner at users.sourceforge.net Thu Jul 24 23:31:19 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:31:19 +0000 Subject: [Buildbot-commits] buildbot/buildbot __init__.py,1.33,1.34 Message-ID: Update of /cvsroot/buildbot/buildbot/buildbot In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28530/buildbot Modified Files: __init__.py Log Message: [project @ release buildbot-0.7.8] Original author: warner at lothar.com Date: 2008-07-24 23:28:25+00:00 Index: __init__.py =================================================================== RCS file: /cvsroot/buildbot/buildbot/buildbot/__init__.py,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- __init__.py 15 Apr 2008 20:30:49 -0000 1.33 +++ __init__.py 24 Jul 2008 23:31:17 -0000 1.34 @@ -1,2 +1,2 @@ -version = "0.7.7+" +version = "0.7.8" From warner at users.sourceforge.net Thu Jul 24 23:31:21 2008 From: warner at users.sourceforge.net (Brian Warner) Date: Thu, 24 Jul 2008 23:31:21 +0000 Subject: [Buildbot-commits] buildbot/docs buildbot.texinfo,1.153,1.154 Message-ID: Update of /cvsroot/buildbot/buildbot/docs In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv28530/docs Modified Files: buildbot.texinfo Log Message: [project @ release buildbot-0.7.8] Original author: warner at lothar.com Date: 2008-07-24 23:28:25+00:00 Index: buildbot.texinfo =================================================================== RCS file: /cvsroot/buildbot/buildbot/docs/buildbot.texinfo,v retrieving revision 1.153 retrieving revision 1.154 diff -u -d -r1.153 -r1.154 --- buildbot.texinfo 24 Jul 2008 00:57:48 -0000 1.153 +++ buildbot.texinfo 24 Jul 2008 23:31:17 -0000 1.154 @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @c %**start of header @setfilename buildbot.info - at settitle BuildBot Manual 0.7.7+ + at settitle BuildBot Manual 0.7.8 @defcodeindex cs @defcodeindex sl @defcodeindex bf