示例#1
0
文件: worker.py 项目: clopez/buildbot
    def getFileContentFromWorker(self, filename, abandonOnFailure=False):
        self.checkWorkerHasCommand("uploadFile")
        fileWriter = remotetransfer.StringFileWriter()
        # default arguments
        args = {
            'workdir': self.workdir,
            'writer': fileWriter,
            'maxsize': None,
            'blocksize': 32 * 1024,
        }

        if self.workerVersionIsOlderThan('uploadFile', '3.0'):
            args['slavesrc'] = filename
        else:
            args['workersrc'] = filename

        def commandComplete(cmd):
            if cmd.didFail():
                return None
            return fileWriter.buffer

        return self.runRemoteCommand('uploadFile',
                                     args,
                                     abandonOnFailure=abandonOnFailure,
                                     evaluateCommand=commandComplete)
示例#2
0
    def getFileContentFromSlave(self, filename, abandonOnFailure=False):
        self.checkSlaveHasCommand("uploadFile")
        fileWriter = remotetransfer.StringFileWriter()
        # default arguments
        args = {
            'slavesrc': filename,
            'workdir': self.workdir,
            'writer': fileWriter,
            'maxsize': None,
            'blocksize': 32 * 1024,
        }

        def commandComplete(cmd):
            if cmd.didFail():
                return None
            return fileWriter.buffer

        return self.runRemoteCommand('uploadFile', args,
                                     abandonOnFailure=abandonOnFailure,
                                     evaluateCommand=commandComplete)
示例#3
0
 def testBasic(self):
     sfw = remotetransfer.StringFileWriter()
     # StringFileWriter takes bytes or native string and outputs native strings
     sfw.remote_write(b'bytes')
     sfw.remote_write(' or str')
     self.assertEqual(sfw.buffer, 'bytes or str')