[Buildbot-commits] buildbot/buildbot/test test_steps.py,1.28,1.29

Brian Warner warner at users.sourceforge.net
Fri Sep 15 14:49:42 UTC 2006


Update of /cvsroot/buildbot/buildbot/buildbot/test
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv21701/buildbot/test

Modified Files:
	test_steps.py 
Log Message:
[project @ test_steps: validate new just-run-the-steps StepTester utility class]

Original author: warner at lothar.com
Date: 2006-09-09 06:12:41

Index: test_steps.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_steps.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- test_steps.py	15 Sep 2006 14:47:41 -0000	1.28
+++ test_steps.py	15 Sep 2006 14:49:39 -0000	1.29
@@ -17,17 +17,17 @@
 import os, time
 
 from twisted.trial import unittest
-from twisted.internet import reactor
-from twisted.internet.defer import Deferred
+from twisted.internet import reactor, defer
 
 from buildbot.sourcestamp import SourceStamp
 from buildbot.process import step, base, factory
 from buildbot.steps import shell, source
 from buildbot.status import builder
+from buildbot.status.builder import SUCCESS
 from buildbot.test.runutils import RunMixin, rmtree
-from buildbot.test.runutils import makeBuildStep
+from buildbot.test.runutils import makeBuildStep, StepTester
 from buildbot.twcompat import maybeWait
-from buildbot.slave import commands
+from buildbot.slave import commands, registry
 
 
 class MyShellCommand(shell.ShellCommand):
@@ -57,7 +57,7 @@
 ##         if self.callRemoteNotifier:
 ##             reactor.callLater(0, self.callRemoteNotifier, event)
         self.remoteCalls += 1
-        self.deferred = Deferred()
+        self.deferred = defer.Deferred()
         return self.deferred
     def notifyOnDisconnect(self, callback):
         pass
@@ -363,3 +363,32 @@
         from buildbot.process.step import Dummy
         from buildbot.process.step import FailingDummy
         from buildbot.process.step import RemoteDummy
+
+
+class _SimpleBuildStep(step.BuildStep):
+    def start(self):
+        args = {"arg1": "value"}
+        cmd = step.RemoteCommand("simple", args)
+        d = self.runCommand(cmd)
+        d.addCallback(lambda res: self.finished(SUCCESS))
+
+class _SimpleCommand(commands.Command):
+    def start(self):
+        self.builder.flag = True
+        self.builder.flag_args = self.args
+        return defer.succeed(None)
+
+class CheckStepTester(StepTester, unittest.TestCase):
+    def testSimple(self):
+        self.slavebase = "testSimple.slave"
+        self.masterbase = "testSimple.master"
+        sb = self.makeSlaveBuilder()
+        sb.flag = False
+        registry.registerSlaveCommand("simple", _SimpleCommand, "1")
+        step = self.makeStep(_SimpleBuildStep)
+        d = self.runStep(step)
+        def _checkSimple(results):
+            self.failUnless(sb.flag)
+            self.failUnlessEqual(sb.flag_args, {"arg1": "value"})
+        d.addCallback(_checkSimple)
+        return maybeWait(d)





More information about the Commits mailing list