Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/buildbot/buildbot/steps/maxq.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildbot/buildbot/steps/maxq.py')
-rw-r--r--buildbot/buildbot/steps/maxq.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/buildbot/buildbot/steps/maxq.py b/buildbot/buildbot/steps/maxq.py
new file mode 100644
index 0000000..23538a5
--- /dev/null
+++ b/buildbot/buildbot/steps/maxq.py
@@ -0,0 +1,44 @@
+from buildbot.steps.shell import ShellCommand
+from buildbot.status.builder import Event, SUCCESS, FAILURE
+
+class MaxQ(ShellCommand):
+ flunkOnFailure = True
+ name = "maxq"
+
+ def __init__(self, testdir=None, **kwargs):
+ if not testdir:
+ raise TypeError("please pass testdir")
+ kwargs['command'] = 'run_maxq.py %s' % (testdir,)
+ ShellCommand.__init__(self, **kwargs)
+ self.addFactoryArguments(testdir=testdir)
+
+ def startStatus(self):
+ evt = Event("yellow", ['running', 'maxq', 'tests'],
+ files={'log': self.log})
+ self.setCurrentActivity(evt)
+
+
+ def finished(self, rc):
+ self.failures = 0
+ if rc:
+ self.failures = 1
+ output = self.log.getAll()
+ self.failures += output.count('\nTEST FAILURE:')
+
+ result = (SUCCESS, ['maxq'])
+
+ if self.failures:
+ result = (FAILURE, [str(self.failures), 'maxq', 'failures'])
+
+ return self.stepComplete(result)
+
+ def finishStatus(self, result):
+ if self.failures:
+ text = ["maxq", "failed"]
+ else:
+ text = ['maxq', 'tests']
+ self.updateCurrentActivity(text=text)
+ self.finishStatusSummary()
+ self.finishCurrentActivity()
+
+