Merge lp:~salgado/launchpad/tech-debt into lp:launchpad
- tech-debt
- Merge into devel
Proposed by
Guilherme Salgado
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | Ian Booth | ||||
Approved revision: | no longer in the source branch. | ||||
Merged at revision: | 14777 | ||||
Proposed branch: | lp:~salgado/launchpad/tech-debt | ||||
Merge into: | lp:launchpad | ||||
Diff against target: |
512 lines (+67/-59) 10 files modified
lib/lp/buildmaster/interfaces/builder.py (+1/-6) lib/lp/buildmaster/model/builder.py (+1/-18) lib/lp/buildmaster/tests/test_builder.py (+8/-5) lib/lp/buildmaster/tests/test_manager.py (+15/-10) lib/lp/buildmaster/tests/test_packagebuild.py (+2/-1) lib/lp/code/model/tests/test_sourcepackagerecipebuild.py (+2/-1) lib/lp/soyuz/tests/test_binarypackagebuild.py (+4/-1) lib/lp/soyuz/tests/test_binarypackagebuildbehavior.py (+29/-15) lib/lp/translations/stories/buildfarm/xx-build-summary.txt (+3/-1) lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py (+2/-1) |
||||
To merge this branch: | bzr merge lp:~salgado/launchpad/tech-debt | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ian Booth (community) | Approve | ||
Review via email: mp+92390@code.launchpad.net |
Commit message
[bug=888010] [r=wallyworld]
Description of the change
Remove Builder.
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'lib/lp/buildmaster/interfaces/builder.py' |
2 | --- lib/lp/buildmaster/interfaces/builder.py 2012-01-11 08:52:22 +0000 |
3 | +++ lib/lp/buildmaster/interfaces/builder.py 2012-02-10 05:25:23 +0000 |
4 | @@ -193,9 +193,6 @@ |
5 | def failBuilder(reason): |
6 | """Mark builder as failed for a given reason.""" |
7 | |
8 | - def setSlaveForTesting(proxy): |
9 | - """Sets the RPC proxy through which to operate the build slave.""" |
10 | - |
11 | def verifySlaveBuildCookie(slave_build_id): |
12 | """Verify that a slave's build cookie is consistent. |
13 | |
14 | @@ -337,11 +334,9 @@ |
15 | or immediately if it's a non-virtual slave. |
16 | """ |
17 | |
18 | - def findAndStartJob(buildd_slave=None): |
19 | + def findAndStartJob(): |
20 | """Find a job to run and send it to the buildd slave. |
21 | |
22 | - :param buildd_slave: An optional buildd slave that this builder should |
23 | - talk to. |
24 | :return: A Deferred whose value is the `IBuildQueue` instance |
25 | found or None if no job was found. |
26 | """ |
27 | |
28 | === modified file 'lib/lp/buildmaster/model/builder.py' |
29 | --- lib/lp/buildmaster/model/builder.py 2012-01-24 10:09:47 +0000 |
30 | +++ lib/lp/buildmaster/model/builder.py 2012-02-10 05:25:23 +0000 |
31 | @@ -540,25 +540,11 @@ |
32 | |
33 | return d.addCallback(got_resume_ok).addErrback(got_resume_bad) |
34 | |
35 | - _testing_slave = None |
36 | - |
37 | @cachedproperty |
38 | def slave(self): |
39 | """See IBuilder.""" |
40 | - # When testing it's possible to substitute the slave object, which is |
41 | - # usually an XMLRPC client, with a stub object that removes the need |
42 | - # to actually create a buildd slave in various states - which can be |
43 | - # hard to create. We cannot use the property cache because it is |
44 | - # cleared on transaction boundaries, hence the low tech approach. |
45 | - if self._testing_slave is not None: |
46 | - return self._testing_slave |
47 | return BuilderSlave.makeBuilderSlave(self.url, self.vm_host) |
48 | |
49 | - def setSlaveForTesting(self, proxy): |
50 | - """See IBuilder.""" |
51 | - self._testing_slave = proxy |
52 | - del get_property_cache(self).slave |
53 | - |
54 | def startBuild(self, build_queue_item, logger): |
55 | """See IBuilder.""" |
56 | self.current_build_behavior = build_queue_item.required_build_behavior |
57 | @@ -845,7 +831,7 @@ |
58 | self.failBuilder(error_message) |
59 | return defer.succeed(None) |
60 | |
61 | - def findAndStartJob(self, buildd_slave=None): |
62 | + def findAndStartJob(self): |
63 | """See IBuilder.""" |
64 | # XXX This method should be removed in favour of two separately |
65 | # called methods that find and dispatch the job. It will |
66 | @@ -857,9 +843,6 @@ |
67 | logger.debug("No build candidates available for builder.") |
68 | return defer.succeed(None) |
69 | |
70 | - if buildd_slave is not None: |
71 | - self.setSlaveForTesting(buildd_slave) |
72 | - |
73 | d = self._dispatchBuildCandidate(candidate) |
74 | return d.addCallback(lambda ignored: candidate) |
75 | |
76 | |
77 | === modified file 'lib/lp/buildmaster/tests/test_builder.py' |
78 | --- lib/lp/buildmaster/tests/test_builder.py 2012-01-11 08:52:22 +0000 |
79 | +++ lib/lp/buildmaster/tests/test_builder.py 2012-02-10 05:25:23 +0000 |
80 | @@ -205,7 +205,7 @@ |
81 | processor = self.factory.makeProcessor(name="i386") |
82 | builder = self.factory.makeBuilder( |
83 | processor=processor, virtualized=True, vm_host="bladh") |
84 | - builder.setSlaveForTesting(OkSlave()) |
85 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
86 | distroseries = self.factory.makeDistroSeries() |
87 | das = self.factory.makeDistroArchSeries( |
88 | distroseries=distroseries, architecturetag="i386", |
89 | @@ -370,7 +370,8 @@ |
90 | builder, build = self._setupBinaryBuildAndBuilder() |
91 | candidate = build.queueBuild() |
92 | building_slave = BuildingSlave() |
93 | - builder.setSlaveForTesting(building_slave) |
94 | + self.patch( |
95 | + BuilderSlave, 'makeBuilderSlave', FakeMethod(building_slave)) |
96 | candidate.markAsBuilding(builder) |
97 | |
98 | # At this point we should see a valid behaviour on the builder: |
99 | @@ -405,7 +406,7 @@ |
100 | build_status=None, logtail=False, filemap=None, |
101 | dependencies=None): |
102 | builder = self.factory.makeBuilder() |
103 | - builder.setSlaveForTesting(slave) |
104 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
105 | d = builder.slaveStatus() |
106 | |
107 | def got_status(status_dict): |
108 | @@ -458,13 +459,15 @@ |
109 | |
110 | def test_isAvailable_with_slave_fault(self): |
111 | builder = self.factory.makeBuilder() |
112 | - builder.setSlaveForTesting(BrokenSlave()) |
113 | + self.patch( |
114 | + BuilderSlave, 'makeBuilderSlave', FakeMethod(BrokenSlave())) |
115 | d = builder.isAvailable() |
116 | return d.addCallback(self.assertFalse) |
117 | |
118 | def test_isAvailable_with_slave_idle(self): |
119 | builder = self.factory.makeBuilder() |
120 | - builder.setSlaveForTesting(OkSlave()) |
121 | + self.patch( |
122 | + BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
123 | d = builder.isAvailable() |
124 | return d.addCallback(self.assertTrue) |
125 | |
126 | |
127 | === modified file 'lib/lp/buildmaster/tests/test_manager.py' |
128 | --- lib/lp/buildmaster/tests/test_manager.py 2012-01-20 15:42:44 +0000 |
129 | +++ lib/lp/buildmaster/tests/test_manager.py 2012-02-10 05:25:23 +0000 |
130 | @@ -33,7 +33,10 @@ |
131 | NewBuildersScanner, |
132 | SlaveScanner, |
133 | ) |
134 | -from lp.buildmaster.model.builder import Builder |
135 | +from lp.buildmaster.model.builder import ( |
136 | + Builder, |
137 | + BuilderSlave, |
138 | + ) |
139 | from lp.buildmaster.tests.harness import BuilddManagerTestSetup |
140 | from lp.buildmaster.tests.mock_slaves import ( |
141 | BrokenSlave, |
142 | @@ -134,7 +137,7 @@ |
143 | # Reset sampledata builder. |
144 | builder = getUtility(IBuilderSet)[BOB_THE_BUILDER_NAME] |
145 | self._resetBuilder(builder) |
146 | - builder.setSlaveForTesting(OkSlave()) |
147 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
148 | # Set this to 1 here so that _checkDispatch can make sure it's |
149 | # reset to 0 after a successful dispatch. |
150 | builder.failure_count = 1 |
151 | @@ -246,7 +249,8 @@ |
152 | |
153 | login('foo.bar@canonical.com') |
154 | builder.builderok = True |
155 | - builder.setSlaveForTesting(BuildingSlave(build_id='8-1')) |
156 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
157 | + FakeMethod(BuildingSlave(build_id='8-1'))) |
158 | transaction.commit() |
159 | login(ANONYMOUS) |
160 | |
161 | @@ -263,7 +267,7 @@ |
162 | def test_scan_with_nothing_to_dispatch(self): |
163 | factory = LaunchpadObjectFactory() |
164 | builder = factory.makeBuilder() |
165 | - builder.setSlaveForTesting(OkSlave()) |
166 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
167 | scanner = self._getScanner(builder_name=builder.name) |
168 | d = scanner.scan() |
169 | return d.addCallback(self._checkNoDispatch, builder) |
170 | @@ -272,7 +276,7 @@ |
171 | # Reset sampledata builder. |
172 | builder = getUtility(IBuilderSet)[BOB_THE_BUILDER_NAME] |
173 | self._resetBuilder(builder) |
174 | - builder.setSlaveForTesting(OkSlave()) |
175 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
176 | builder.manual = True |
177 | scanner = self._getScanner() |
178 | d = scanner.scan() |
179 | @@ -283,7 +287,7 @@ |
180 | # Reset sampledata builder. |
181 | builder = getUtility(IBuilderSet)[BOB_THE_BUILDER_NAME] |
182 | self._resetBuilder(builder) |
183 | - builder.setSlaveForTesting(OkSlave()) |
184 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(OkSlave())) |
185 | builder.builderok = False |
186 | scanner = self._getScanner() |
187 | d = scanner.scan() |
188 | @@ -295,7 +299,8 @@ |
189 | def test_scan_of_broken_slave(self): |
190 | builder = getUtility(IBuilderSet)[BOB_THE_BUILDER_NAME] |
191 | self._resetBuilder(builder) |
192 | - builder.setSlaveForTesting(BrokenSlave()) |
193 | + self.patch( |
194 | + BuilderSlave, 'makeBuilderSlave', FakeMethod(BrokenSlave())) |
195 | builder.failure_count = 0 |
196 | scanner = self._getScanner(builder_name=builder.name) |
197 | d = scanner.scan() |
198 | @@ -390,7 +395,7 @@ |
199 | getUtility(IBuilderSet)[BOB_THE_BUILDER_NAME]) |
200 | self._resetBuilder(builder) |
201 | self.assertEqual(0, builder.failure_count) |
202 | - builder.setSlaveForTesting(slave) |
203 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
204 | builder.vm_host = "fake_vm_host" |
205 | |
206 | scanner = self._getScanner() |
207 | @@ -434,7 +439,7 @@ |
208 | # For now, we can only cancel virtual builds. |
209 | builder.virtualized = True |
210 | builder.vm_host = "fake_vm_host" |
211 | - builder.setSlaveForTesting(slave) |
212 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
213 | transaction.commit() |
214 | login(ANONYMOUS) |
215 | buildqueue = builder.currentjob |
216 | @@ -508,7 +513,7 @@ |
217 | slave = OkSlave() |
218 | slave.resume = fake_resume |
219 | self.builder.vm_host = "fake_vm_host" |
220 | - self.builder.setSlaveForTesting(slave) |
221 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
222 | buildqueue = self.builder.currentjob |
223 | build = getUtility(IBinaryPackageBuildSet).getByQueueEntry(buildqueue) |
224 | build.status = BuildStatus.CANCELLING |
225 | |
226 | === modified file 'lib/lp/buildmaster/tests/test_packagebuild.py' |
227 | --- lib/lp/buildmaster/tests/test_packagebuild.py 2012-01-11 08:52:22 +0000 |
228 | +++ lib/lp/buildmaster/tests/test_packagebuild.py 2012-02-10 05:25:23 +0000 |
229 | @@ -26,6 +26,7 @@ |
230 | IPackageBuildSet, |
231 | IPackageBuildSource, |
232 | ) |
233 | +from lp.buildmaster.model.builder import BuilderSlave |
234 | from lp.buildmaster.model.buildfarmjob import BuildFarmJob |
235 | from lp.buildmaster.model.packagebuild import PackageBuild |
236 | from lp.buildmaster.tests.mock_slaves import WaitingSlave |
237 | @@ -303,7 +304,7 @@ |
238 | self.build.buildqueue_record.setDateStarted(UTC_NOW) |
239 | self.slave = WaitingSlave('BuildStatus.OK') |
240 | self.slave.valid_file_hashes.append('test_file_hash') |
241 | - builder.setSlaveForTesting(self.slave) |
242 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(self.slave)) |
243 | |
244 | # We overwrite the buildmaster root to use a temp directory. |
245 | tempdir = tempfile.mkdtemp() |
246 | |
247 | === modified file 'lib/lp/code/model/tests/test_sourcepackagerecipebuild.py' |
248 | --- lib/lp/code/model/tests/test_sourcepackagerecipebuild.py 2012-01-11 08:52:22 +0000 |
249 | +++ lib/lp/code/model/tests/test_sourcepackagerecipebuild.py 2012-02-10 05:25:23 +0000 |
250 | @@ -21,6 +21,7 @@ |
251 | from lp.app.errors import NotFoundError |
252 | from lp.buildmaster.enums import BuildStatus |
253 | from lp.buildmaster.interfaces.buildqueue import IBuildQueue |
254 | +from lp.buildmaster.model.builder import BuilderSlave |
255 | from lp.buildmaster.model.buildfarmjob import BuildFarmJob |
256 | from lp.buildmaster.model.packagebuild import PackageBuild |
257 | from lp.buildmaster.tests.mock_slaves import WaitingSlave |
258 | @@ -608,7 +609,7 @@ |
259 | result=True) |
260 | queue_record.builder = self.factory.makeBuilder() |
261 | slave = WaitingSlave('BuildStatus.OK') |
262 | - queue_record.builder.setSlaveForTesting(slave) |
263 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
264 | return build |
265 | |
266 | def assertDeferredNotifyCount(self, status, build, expected_count): |
267 | |
268 | === modified file 'lib/lp/soyuz/tests/test_binarypackagebuild.py' |
269 | --- lib/lp/soyuz/tests/test_binarypackagebuild.py 2012-01-11 08:52:22 +0000 |
270 | +++ lib/lp/soyuz/tests/test_binarypackagebuild.py 2012-02-10 05:25:23 +0000 |
271 | @@ -18,6 +18,7 @@ |
272 | from lp.buildmaster.interfaces.builder import IBuilderSet |
273 | from lp.buildmaster.interfaces.buildqueue import IBuildQueue |
274 | from lp.buildmaster.interfaces.packagebuild import IPackageBuild |
275 | +from lp.buildmaster.model.builder import BuilderSlave |
276 | from lp.buildmaster.model.buildqueue import BuildQueue |
277 | from lp.buildmaster.tests.mock_slaves import WaitingSlave |
278 | from lp.buildmaster.tests.test_packagebuild import ( |
279 | @@ -48,6 +49,7 @@ |
280 | logout, |
281 | TestCaseWithFactory, |
282 | ) |
283 | +from lp.testing.fakemethod import FakeMethod |
284 | from lp.testing.layers import ( |
285 | DatabaseFunctionalLayer, |
286 | LaunchpadZopelessLayer, |
287 | @@ -522,7 +524,8 @@ |
288 | self.build = gedit_src_hist.createMissingBuilds()[0] |
289 | |
290 | self.builder = self.factory.makeBuilder() |
291 | - self.builder.setSlaveForTesting(WaitingSlave('BuildStatus.OK')) |
292 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
293 | + FakeMethod(WaitingSlave('BuildStatus.OK'))) |
294 | self.build.buildqueue_record.markAsBuilding(self.builder) |
295 | |
296 | def testDependencies(self): |
297 | |
298 | === modified file 'lib/lp/soyuz/tests/test_binarypackagebuildbehavior.py' |
299 | --- lib/lp/soyuz/tests/test_binarypackagebuildbehavior.py 2012-01-20 15:42:44 +0000 |
300 | +++ lib/lp/soyuz/tests/test_binarypackagebuildbehavior.py 2012-02-10 05:25:23 +0000 |
301 | @@ -18,6 +18,7 @@ |
302 | from zope.security.proxy import removeSecurityProxy |
303 | |
304 | from lp.buildmaster.enums import BuildStatus |
305 | +from lp.buildmaster.model.builder import BuilderSlave |
306 | from lp.buildmaster.tests.mock_slaves import ( |
307 | AbortedSlave, |
308 | AbortingSlave, |
309 | @@ -40,6 +41,7 @@ |
310 | from lp.soyuz.enums import ArchivePurpose |
311 | from lp.testing import TestCaseWithFactory |
312 | from lp.testing.dbuser import switch_dbuser |
313 | +from lp.testing.fakemethod import FakeMethod |
314 | from lp.testing.layers import LaunchpadZopelessLayer |
315 | |
316 | |
317 | @@ -138,7 +140,7 @@ |
318 | archive = self.factory.makeArchive(virtualized=False) |
319 | slave = OkSlave() |
320 | builder = self.factory.makeBuilder(virtualized=False) |
321 | - builder.setSlaveForTesting(slave) |
322 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
323 | build = self.factory.makeBinaryPackageBuild( |
324 | builder=builder, archive=archive) |
325 | lf = self.factory.makeLibraryFileAlias() |
326 | @@ -158,7 +160,7 @@ |
327 | slave = OkSlave() |
328 | builder = self.factory.makeBuilder( |
329 | virtualized=True, vm_host="foohost") |
330 | - builder.setSlaveForTesting(slave) |
331 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
332 | build = self.factory.makeBinaryPackageBuild( |
333 | builder=builder, archive=archive) |
334 | lf = self.factory.makeLibraryFileAlias() |
335 | @@ -181,7 +183,7 @@ |
336 | virtualized=False, purpose=ArchivePurpose.PARTNER) |
337 | slave = OkSlave() |
338 | builder = self.factory.makeBuilder(virtualized=False) |
339 | - builder.setSlaveForTesting(slave) |
340 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
341 | build = self.factory.makeBinaryPackageBuild( |
342 | builder=builder, archive=archive) |
343 | lf = self.factory.makeLibraryFileAlias() |
344 | @@ -309,7 +311,8 @@ |
345 | # When a package fails to build, make sure the builder notes are |
346 | # stored and the build status is set as failed. |
347 | waiting_slave = WaitingSlave('BuildStatus.PACKAGEFAIL') |
348 | - self.builder.setSlaveForTesting(waiting_slave) |
349 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
350 | + FakeMethod(waiting_slave)) |
351 | |
352 | def got_update(ignored): |
353 | self.assertBuildProperties(self.build) |
354 | @@ -322,7 +325,8 @@ |
355 | # Package build was left in dependency wait. |
356 | DEPENDENCIES = 'baz (>= 1.0.1)' |
357 | waiting_slave = WaitingSlave('BuildStatus.DEPFAIL', DEPENDENCIES) |
358 | - self.builder.setSlaveForTesting(waiting_slave) |
359 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
360 | + FakeMethod(waiting_slave)) |
361 | |
362 | def got_update(ignored): |
363 | self.assertBuildProperties(self.build) |
364 | @@ -335,7 +339,8 @@ |
365 | def test_chrootfail_collection(self): |
366 | # There was a chroot problem for this build. |
367 | waiting_slave = WaitingSlave('BuildStatus.CHROOTFAIL') |
368 | - self.builder.setSlaveForTesting(waiting_slave) |
369 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
370 | + FakeMethod(waiting_slave)) |
371 | |
372 | def got_update(ignored): |
373 | self.assertBuildProperties(self.build) |
374 | @@ -347,7 +352,8 @@ |
375 | def test_builderfail_collection(self): |
376 | # The builder failed after we dispatched the build. |
377 | waiting_slave = WaitingSlave('BuildStatus.BUILDERFAIL') |
378 | - self.builder.setSlaveForTesting(waiting_slave) |
379 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
380 | + FakeMethod(waiting_slave)) |
381 | |
382 | def got_update(ignored): |
383 | self.assertEqual( |
384 | @@ -363,7 +369,8 @@ |
385 | |
386 | def test_building_collection(self): |
387 | # The builder is still building the package. |
388 | - self.builder.setSlaveForTesting(BuildingSlave()) |
389 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
390 | + FakeMethod(BuildingSlave())) |
391 | |
392 | def got_update(ignored): |
393 | # The fake log is returned from the BuildingSlave() mock. |
394 | @@ -374,7 +381,8 @@ |
395 | |
396 | def test_aborted_collection(self): |
397 | # The builder aborted the job. |
398 | - self.builder.setSlaveForTesting(AbortedSlave()) |
399 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
400 | + FakeMethod(AbortedSlave())) |
401 | |
402 | def got_update(ignored): |
403 | self.assertEqual(BuildStatus.NEEDSBUILD, self.build.status) |
404 | @@ -384,7 +392,8 @@ |
405 | |
406 | def test_aborting_collection(self): |
407 | # The builder is in the process of aborting. |
408 | - self.builder.setSlaveForTesting(AbortingSlave()) |
409 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
410 | + FakeMethod(AbortingSlave())) |
411 | |
412 | def got_update(ignored): |
413 | self.assertEqual( |
414 | @@ -398,7 +407,8 @@ |
415 | # If we collected a build for a superseded/deleted source then |
416 | # the build should get marked superseded as the build results |
417 | # get discarded. |
418 | - self.builder.setSlaveForTesting(WaitingSlave('BuildStatus.OK')) |
419 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
420 | + FakeMethod(WaitingSlave('BuildStatus.OK'))) |
421 | spr = removeSecurityProxy(self.build.source_package_release) |
422 | pub = self.build.current_source_publication |
423 | pub.requestDeletion(spr.creator) |
424 | @@ -412,7 +422,8 @@ |
425 | |
426 | def test_uploading_collection(self): |
427 | # After a successful build, the status should be UPLOADING. |
428 | - self.builder.setSlaveForTesting(WaitingSlave('BuildStatus.OK')) |
429 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
430 | + FakeMethod(WaitingSlave('BuildStatus.OK'))) |
431 | |
432 | def got_update(ignored): |
433 | self.assertEqual(self.build.status, BuildStatus.UPLOADING) |
434 | @@ -425,7 +436,8 @@ |
435 | |
436 | def test_givenback_collection(self): |
437 | waiting_slave = WaitingSlave('BuildStatus.GIVENBACK') |
438 | - self.builder.setSlaveForTesting(waiting_slave) |
439 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
440 | + FakeMethod(waiting_slave)) |
441 | score = self.candidate.lastscore |
442 | |
443 | def got_update(ignored): |
444 | @@ -440,7 +452,8 @@ |
445 | return d.addCallback(got_update) |
446 | |
447 | def test_log_file_collection(self): |
448 | - self.builder.setSlaveForTesting(WaitingSlave('BuildStatus.OK')) |
449 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
450 | + FakeMethod(WaitingSlave('BuildStatus.OK'))) |
451 | self.build.status = BuildStatus.FULLYBUILT |
452 | old_tmps = sorted(os.listdir('/tmp')) |
453 | |
454 | @@ -488,7 +501,8 @@ |
455 | def test_private_build_log_storage(self): |
456 | # Builds in private archives should have their log uploaded to |
457 | # the restricted librarian. |
458 | - self.builder.setSlaveForTesting(WaitingSlave('BuildStatus.OK')) |
459 | + self.patch(BuilderSlave, 'makeBuilderSlave', |
460 | + FakeMethod(WaitingSlave('BuildStatus.OK'))) |
461 | |
462 | # Go behind Storm's back since the field validator on |
463 | # Archive.private prevents us from setting it to True with |
464 | |
465 | === modified file 'lib/lp/translations/stories/buildfarm/xx-build-summary.txt' |
466 | --- lib/lp/translations/stories/buildfarm/xx-build-summary.txt 2012-01-15 13:32:27 +0000 |
467 | +++ lib/lp/translations/stories/buildfarm/xx-build-summary.txt 2012-02-10 05:25:23 +0000 |
468 | @@ -9,12 +9,14 @@ |
469 | |
470 | Create a builder working on a TranslationTemplatesBuild for a branch. |
471 | |
472 | + >>> from testtools.monkey import patch |
473 | >>> from zope.component import getUtility |
474 | >>> from lp.app.interfaces.launchpad import ILaunchpadCelebrities |
475 | >>> from lp.services.librarian.interfaces import ( |
476 | ... ILibraryFileAliasSet) |
477 | >>> from lp.app.enums import ServiceUsage |
478 | >>> from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet |
479 | + >>> from lp.buildmaster.model.builder import BuilderSlave |
480 | >>> from lp.testing.factory import ( |
481 | ... remove_security_proxy_and_shout_at_engineer) |
482 | >>> from lp.testing.fakemethod import FakeMethod |
483 | @@ -51,7 +53,7 @@ |
484 | ... fake_chroot) |
485 | |
486 | >>> builder = factory.makeBuilder(vm_host=factory.getUniqueString()) |
487 | - >>> builder.setSlaveForTesting(FakeSlave()) |
488 | + >>> _ = patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(FakeSlave())) |
489 | >>> buildqueue.markAsBuilding(builder) |
490 | |
491 | >>> builder_page = canonical_url(builder) |
492 | |
493 | === modified file 'lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py' |
494 | --- lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py 2012-02-01 05:57:16 +0000 |
495 | +++ lib/lp/translations/tests/test_translationtemplatesbuildbehavior.py 2012-02-10 05:25:23 +0000 |
496 | @@ -20,6 +20,7 @@ |
497 | IBuildFarmJobBehavior, |
498 | ) |
499 | from lp.buildmaster.interfaces.buildqueue import IBuildQueueSet |
500 | +from lp.buildmaster.model.builder import BuilderSlave |
501 | from lp.buildmaster.tests.mock_slaves import ( |
502 | SlaveTestHelpers, |
503 | WaitingSlave, |
504 | @@ -79,7 +80,7 @@ |
505 | behavior = IBuildFarmJobBehavior(specific_job) |
506 | slave = WaitingSlave() |
507 | behavior._builder = removeSecurityProxy(self.factory.makeBuilder()) |
508 | - behavior._builder.setSlaveForTesting(slave) |
509 | + self.patch(BuilderSlave, 'makeBuilderSlave', FakeMethod(slave)) |
510 | if use_fake_chroot: |
511 | lf = self.factory.makeLibraryFileAlias() |
512 | self.layer.txn.commit() |
Thank you, this is a great change.