[Buildbot-commits] buildbot/buildbot/test runutils.py, 1.6, 1.7 test_slavecommand.py, 1.20, 1.21
Brian Warner
warner at users.sourceforge.net
Tue Jun 20 08:08:13 UTC 2006
Update of /cvsroot/buildbot/buildbot/buildbot/test
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv14443/buildbot/test
Modified Files:
runutils.py test_slavecommand.py
Log Message:
[project @ move some test utilities like SignalMixin and FakeSlaveBuilder to a common file]
Original author: warner at lothar.com
Date: 2006-06-16 17:03:56
Index: runutils.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/test/runutils.py,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -d -r1.6 -r1.7
--- runutils.py 16 Jun 2006 05:28:06 -0000 1.6
+++ runutils.py 20 Jun 2006 08:08:11 -0000 1.7
@@ -1,7 +1,8 @@
+import signal
import shutil, os, errno
-from twisted.internet import defer
-from twisted.python import log
+from twisted.internet import defer, reactor
+from twisted.python import log, util
from buildbot import master, interfaces
from buildbot.twcompat import maybeWait
@@ -17,16 +18,19 @@
class MyBuildSlave(bot.BuildSlave):
botClass = MyBot
+def rmtree(d):
+ try:
+ shutil.rmtree(d, ignore_errors=1)
+ except OSError, e:
+ # stupid 2.2 appears to ignore ignore_errors
+ if e.errno != errno.ENOENT:
+ raise
+
class RunMixin:
master = None
def rmtree(self, d):
- try:
- shutil.rmtree(d, ignore_errors=1)
- except OSError, e:
- # stupid 2.2 appears to ignore ignore_errors
- if e.errno != errno.ENOENT:
- raise
+ rmtree(d)
def setUp(self):
self.slaves = {}
@@ -222,3 +226,38 @@
s3.started = True
s3.stepStarted()
return s3
+
+def findDir():
+ # the same directory that holds this script
+ return util.sibpath(__file__, ".")
+
+class SignalMixin:
+ sigchldHandler = None
+
+ def setUpClass(self):
+ # make sure SIGCHLD handler is installed, as it should be on
+ # reactor.run(). problem is reactor may not have been run when this
+ # test runs.
+ if hasattr(reactor, "_handleSigchld") and hasattr(signal, "SIGCHLD"):
+ self.sigchldHandler = signal.signal(signal.SIGCHLD,
+ reactor._handleSigchld)
+
+ def tearDownClass(self):
+ if self.sigchldHandler:
+ signal.signal(signal.SIGCHLD, self.sigchldHandler)
+
+# these classes are used to test SlaveCommands in isolation
+
+class FakeSlaveBuilder:
+ debug = False
+ def __init__(self, usePTY):
+ self.updates = []
+ self.basedir = findDir()
+ self.usePTY = usePTY
+
+ def sendUpdate(self, data):
+ if self.debug:
+ print "FakeSlaveBuilder.sendUpdate", data
+ self.updates.append(data)
+
+
Index: test_slavecommand.py
===================================================================
RCS file: /cvsroot/buildbot/buildbot/buildbot/test/test_slavecommand.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- test_slavecommand.py 7 May 2006 00:44:28 -0000 1.20
+++ test_slavecommand.py 20 Jun 2006 08:08:11 -0000 1.21
@@ -2,53 +2,19 @@
from twisted.trial import unittest
from twisted.internet import reactor, interfaces
-from twisted.python import util, runtime, failure
+from twisted.python import runtime, failure
from buildbot.twcompat import maybeWait
-noisy = False
-if noisy:
- from twisted.python.log import startLogging
- import sys
- startLogging(sys.stdout)
-
import os, re, sys
-import signal
from buildbot.slave import commands
SlaveShellCommand = commands.SlaveShellCommand
+from buildbot.test.runutils import findDir, SignalMixin, FakeSlaveBuilder
+
# test slavecommand.py by running the various commands with a fake
# SlaveBuilder object that logs the calls to sendUpdate()
-def findDir():
- # the same directory that holds this script
- return util.sibpath(__file__, ".")
-
-class FakeSlaveBuilder:
- def __init__(self, usePTY):
- self.updates = []
- self.basedir = findDir()
- self.usePTY = usePTY
-
- def sendUpdate(self, data):
- if noisy: print "FakeSlaveBuilder.sendUpdate", data
- self.updates.append(data)
-
-
-class SignalMixin:
- sigchldHandler = None
-
- def setUpClass(self):
- # make sure SIGCHLD handler is installed, as it should be on
- # reactor.run(). problem is reactor may not have been run when this
- # test runs.
- if hasattr(reactor, "_handleSigchld") and hasattr(signal, "SIGCHLD"):
- self.sigchldHandler = signal.signal(signal.SIGCHLD,
- reactor._handleSigchld)
-
- def tearDownClass(self):
- if self.sigchldHandler:
- signal.signal(signal.SIGCHLD, self.sigchldHandler)
class ShellBase(SignalMixin):
More information about the Commits
mailing list