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)
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)
def getSourceStamp(vctype, treetop, branch=None, repository=None): return defer.succeed( tryclient.SourceStamp(branch='br', revision='rr', patch=(0, '++--')))