Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(83)

Side by Side Diff: third_party/buildbot_7_12/buildbot/test/test_control.py

Issue 12207158: Bye bye buildbot 0.7.12. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 # -*- test-case-name: buildbot.test.test_control -*-
2
3 import os
4
5 from twisted.trial import unittest
6 from twisted.internet import defer
7
8 from buildbot import master, interfaces
9 from buildbot.sourcestamp import SourceStamp
10 from buildbot.slave import bot
11 from buildbot.status.builder import SUCCESS
12 from buildbot.process import base
13 from buildbot.test.runutils import rmtree
14
15 config = """
16 from buildbot.process import factory
17 from buildbot.steps import dummy
18 from buildbot.buildslave import BuildSlave
19 from buildbot.config import BuilderConfig
20
21 def s(klass, **kwargs):
22 return (klass, kwargs)
23
24 f1 = factory.BuildFactory([
25 s(dummy.Dummy, timeout=1),
26 ])
27 c = {}
28 c['slaves'] = [BuildSlave('bot1', 'sekrit')]
29 c['schedulers'] = []
30 c['builders'] = [
31 BuilderConfig(name='force', slavename='bot1', factory=f1),
32 ]
33 c['slavePortnum'] = 0
34 BuildmasterConfig = c
35 """
36
37 class FakeBuilder:
38 name = "fake"
39 def getSlaveCommandVersion(self, command, oldversion=None):
40 return "1.10"
41
42
43 class Force(unittest.TestCase):
44
45 def rmtree(self, d):
46 rmtree(d)
47
48 def setUp(self):
49 self.master = None
50 self.slave = None
51 self.rmtree("control_basedir")
52 os.mkdir("control_basedir")
53 self.master = master.BuildMaster("control_basedir")
54 self.slavebase = os.path.abspath("control_slavebase")
55 self.rmtree(self.slavebase)
56 os.mkdir("control_slavebase")
57
58 def connectSlave(self):
59 port = self.master.slavePort._port.getHost().port
60 slave = bot.BuildSlave("localhost", port, "bot1", "sekrit",
61 self.slavebase, keepalive=0, usePTY=1)
62 self.slave = slave
63 slave.startService()
64 d = self.master.botmaster.waitUntilBuilderAttached("force")
65 return d
66
67 def tearDown(self):
68 dl = []
69 if self.slave:
70 dl.append(self.master.botmaster.waitUntilBuilderDetached("force"))
71 dl.append(defer.maybeDeferred(self.slave.stopService))
72 if self.master:
73 dl.append(defer.maybeDeferred(self.master.stopService))
74 return defer.DeferredList(dl)
75
76 def testRequest(self):
77 m = self.master
78 m.loadConfig(config)
79 m.startService()
80 d = self.connectSlave()
81 d.addCallback(self._testRequest_1)
82 return d
83 def _testRequest_1(self, res):
84 c = interfaces.IControl(self.master)
85 req = base.BuildRequest("I was bored", SourceStamp(), 'test_builder')
86 builder_control = c.getBuilder("force")
87 d = defer.Deferred()
88 req.subscribe(d.callback)
89 builder_control.requestBuild(req)
90 d.addCallback(self._testRequest_2)
91 # we use the same check-the-results code as testForce
92 return d
93
94 def _testRequest_2(self, build_control):
95 self.failUnless(interfaces.IBuildControl.providedBy(build_control))
96 d = build_control.getStatus().waitUntilFinished()
97 d.addCallback(self._testRequest_3)
98 return d
99
100 def _testRequest_3(self, bs):
101 self.failUnless(interfaces.IBuildStatus.providedBy(bs))
102 self.failUnless(bs.isFinished())
103 self.failUnlessEqual(bs.getResults(), SUCCESS)
104 #self.failUnlessEqual(bs.getResponsibleUsers(), ["bob"]) # TODO
105 self.failUnlessEqual(bs.getChanges(), ())
106 #self.failUnlessEqual(bs.getReason(), "forced") # TODO
OLDNEW
« no previous file with comments | « third_party/buildbot_7_12/buildbot/test/test_console.py ('k') | third_party/buildbot_7_12/buildbot/test/test_dependencies.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698