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 d
self.command = c d = self.command.start() return d def interrupt(self): self.interrupted = True self.command.kill("command interrupted") def writeStdin(self, data): self.command.writeStdin(data) def closeStdin(self): self.command.closeStdin() registerSlaveCommand("shell", SlaveShellCommand, command_version) class DummyCommand(Command): """ I am a dummy no-op command that by default takes 5 seconds to complete. See L{buildbot.steps.dummy.RemoteDummy} """ def start(self): self.d = defer.Deferred() log.msg(" starting dummy command [%s]" % self.stepId) self.timer = self._reactor.callLater(1, self.doStatus) return self.d def interrupt(self): if self.interrupted:
c._reactor = self._reactor self.command = c d = self.command.start() return d def interrupt(self): self.interrupted = True self.command.kill("command interrupted") def writeStdin(self, data): self.command.writeStdin(data) def closeStdin(self): self.command.closeStdin() registerSlaveCommand("shell", SlaveShellCommand, command_version) class DummyCommand(Command): """ I am a dummy no-op command that by default takes 5 seconds to complete. See L{buildbot.steps.dummy.RemoteDummy} """ def start(self): self.d = defer.Deferred() log.msg(" starting dummy command [%s]" % self.stepId) self.timer = self._reactor.callLater(1, self.doStatus) return self.d def interrupt(self):
self.stderr = 'Upload of %r interrupted' % self.path self.rc = 1 self.interrupted = True # the next _writeBlock call will notice the .interrupted flag def finished(self, res): if self.debug: log.msg('finished: stderr=%r, rc=%r' % (self.stderr, self.rc)) if self.stderr is None: self.sendStatus({'rc': self.rc}) else: self.sendStatus({'stderr': self.stderr, 'rc': self.rc}) return res registerSlaveCommand("uploadFile", SlaveFileUploadCommand, command_version) class SlaveDirectoryUploadCommand(SlaveFileUploadCommand): """ Upload a directory from slave to build master Arguments: - ['workdir']: base directory to use - ['slavesrc']: name of the slave-side directory to read from - ['writer']: RemoteReference to a transfer._DirectoryWriter object - ['maxsize']: max size (in bytes) of file to write - ['blocksize']: max size for each data block - ['compress']: one of [None, 'bz2', 'gz'] """ debug = True
if self.stderr is None: self.stderr = 'Upload of %r interrupted' % self.path self.rc = 1 self.interrupted = True # the next _writeBlock call will notice the .interrupted flag def finished(self, res): if self.debug: log.msg('finished: stderr=%r, rc=%r' % (self.stderr, self.rc)) if self.stderr is None: self.sendStatus({'rc': self.rc}) else: self.sendStatus({'stderr': self.stderr, 'rc': self.rc}) return res registerSlaveCommand("uploadFile", SlaveFileUploadCommand, command_version) class SlaveDirectoryUploadCommand(SlaveFileUploadCommand): """ Upload a directory from slave to build master Arguments: - ['workdir']: base directory to use - ['slavesrc']: name of the slave-side directory to read from - ['writer']: RemoteReference to a transfer._DirectoryWriter object - ['maxsize']: max size (in bytes) of file to write - ['blocksize']: max size for each data block - ['compress']: one of [None, 'bz2', 'gz'] """ debug = True