[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