Exemplo n.º 1
0
    def setUp(self):
        self.master = None
        self.sch = None

        def spawnProcess(pp, executable, args, environ):
            tmpfile = os.path.join(self.jobdir, 'tmp', 'testy')
            newfile = os.path.join(self.jobdir, 'new', 'testy')
            with open(tmpfile, "w") as f:
                f.write(pp.job)
            os.rename(tmpfile, newfile)
            log.msg("wrote jobfile {}".format(newfile))
            # get the scheduler to poll this directory now
            d = self.sch.watcher.poll()
            d.addErrback(log.err, 'while polling')

            @d.addCallback
            def finished(_):
                st = mock.Mock()
                st.value.signal = None
                st.value.exitCode = 0
                pp.processEnded(st)

        self.patch(reactor, 'spawnProcess', spawnProcess)

        self.sourcestamp = tryclient.SourceStamp(branch='br',
                                                 revision='rr',
                                                 patch=(0, '++--'))

        def getSourceStamp(vctype, treetop, branch=None, repository=None):
            return defer.succeed(self.sourcestamp)

        self.patch(tryclient, 'getSourceStamp', getSourceStamp)

        self.output = []

        # stub out printStatus, as it's timing-based and thus causes
        # occasional test failures.
        self.patch(tryclient.Try, 'printStatus', lambda _: None)

        def output(*msg):
            msg = ' '.join(map(str, msg))
            log.msg("output: {}".format(msg))
            self.output.append(msg)

        self.patch(tryclient, 'output', output)
Exemplo n.º 2
0
    def test_userpass_wait_bytes(self):
        self.sourcestamp = tryclient.SourceStamp(branch=b'br',
                                                 revision=b'rr',
                                                 patch=(0, b'++--'))

        yield self.startMaster(
            trysched.Try_Userpass('try', ['a'], 0, [('u', b'p')]))
        yield self.runClient({
            'connect': 'pb',
            'master': '127.0.0.1:{}'.format(self.serverPort),
            'username': '******',
            'passwd': b'p',
            'wait': True,
        })
        self.assertEqual(self.output, [
            "using 'pb' connect method",
            'job created',
            'Delivering job; comment= None',
            'job has been delivered',
            'All Builds Complete',
            'a: success (build successful)',
        ])
        buildsets = yield self.master.db.buildsets.getBuildsets()
        self.assertEqual(len(buildsets), 1)
Exemplo n.º 3
0
 def getSourceStamp(vctype, treetop, branch=None, repository=None):
     return defer.succeed(
         tryclient.SourceStamp(branch='br', revision='rr',
                               patch=(0, '++--')))