Merge ~cjwatson/launchpad:get-sources-list-accept-behaviour into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 4cfd934f94fb314416be287a3050b9ce58939bdb
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:get-sources-list-accept-behaviour
Merge into: launchpad:master
Prerequisite: ~cjwatson/launchpad:snap-build-macaroon-snap-base
Diff against target: 479 lines (+71/-57)
14 files modified
lib/lp/buildmaster/interfaces/buildfarmjobbehaviour.py (+2/-0)
lib/lp/code/model/recipebuilder.py (+1/-1)
lib/lp/code/model/tests/test_recipebuilder.py (+4/-8)
lib/lp/oci/model/ocirecipebuildbehaviour.py (+1/-1)
lib/lp/oci/tests/test_ocirecipebuildbehaviour.py (+3/-3)
lib/lp/snappy/model/snapbuildbehaviour.py (+1/-1)
lib/lp/snappy/tests/test_snapbuildbehaviour.py (+10/-10)
lib/lp/soyuz/adapters/archivedependencies.py (+5/-3)
lib/lp/soyuz/adapters/tests/test_archivedependencies.py (+6/-2)
lib/lp/soyuz/model/binarypackagebuildbehaviour.py (+1/-1)
lib/lp/soyuz/model/livefsbuildbehaviour.py (+1/-1)
lib/lp/soyuz/tests/test_archive.py (+8/-2)
lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py (+27/-23)
lib/lp/soyuz/tests/test_livefsbuildbehaviour.py (+1/-1)
Reviewer Review Type Date Requested Status
Ioana Lasc (community) Approve
Review via email: mp+401322@code.launchpad.net

Commit message

Pass behaviour rather than build to get_sources_list_for_building

Description of the change

It's straightforward to get a build from a build behaviour, but not necessarily the other way round (since the behaviour has additional state such as the builder). Refactor get_sources_list_for_building and its callers to pass down the behaviour, since that will be useful shortly.

No functional change: this is just preparation for later work.

To post a comment you must log in.
Revision history for this message
Ioana Lasc (ilasc) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/lib/lp/buildmaster/interfaces/buildfarmjobbehaviour.py b/lib/lp/buildmaster/interfaces/buildfarmjobbehaviour.py
2index e9a0b8d..4d768d8 100644
3--- a/lib/lp/buildmaster/interfaces/buildfarmjobbehaviour.py
4+++ b/lib/lp/buildmaster/interfaces/buildfarmjobbehaviour.py
5@@ -25,6 +25,8 @@ class IBuildFarmJobBehaviour(Interface):
6 "A list of `BuildBaseImageType`s indicating which types of base "
7 "images can be used for this build.")
8
9+ build = Attribute("The `IBuildFarmJob` to build.")
10+
11 archive = Attribute("The `Archive` to build against.")
12
13 distro_arch_series = Attribute("The `DistroArchSeries` to build against.")
14diff --git a/lib/lp/code/model/recipebuilder.py b/lib/lp/code/model/recipebuilder.py
15index 532fbbf..dd88550 100644
16--- a/lib/lp/code/model/recipebuilder.py
17+++ b/lib/lp/code/model/recipebuilder.py
18@@ -86,7 +86,7 @@ class RecipeBuildBehaviour(BuildFarmJobBehaviourBase):
19 None).name
20 args['archives'], args['trusted_keys'] = (
21 yield get_sources_list_for_building(
22- self.build, self.distro_arch_series, None,
23+ self, self.distro_arch_series, None,
24 tools_source=config.builddmaster.bzr_builder_sources_list,
25 logger=logger))
26 # XXX cjwatson 2017-07-26: This duplicates "series", which is common
27diff --git a/lib/lp/code/model/tests/test_recipebuilder.py b/lib/lp/code/model/tests/test_recipebuilder.py
28index b353d30..b578a5f 100644
29--- a/lib/lp/code/model/tests/test_recipebuilder.py
30+++ b/lib/lp/code/model/tests/test_recipebuilder.py
31@@ -181,8 +181,7 @@ class TestAsyncRecipeBuilder(TestRecipeBuilderBase):
32 job = self.makeJob(with_builder=True)
33 distroarchseries = job.build.distroseries.architectures[0]
34 expected_archives, expected_trusted_keys = (
35- yield get_sources_list_for_building(
36- job.build, distroarchseries, None))
37+ yield get_sources_list_for_building(job, distroarchseries, None))
38 expected_archives.insert(
39 0, "deb http://foo %s main" % job.build.distroseries.name)
40 args = yield job.extraBuildArgs()
41@@ -273,8 +272,7 @@ class TestAsyncRecipeBuilder(TestRecipeBuilderBase):
42 job = self.makeJob(with_builder=True)
43 distroarchseries = job.build.distroseries.architectures[0]
44 expected_archives, expected_trusted_keys = (
45- yield get_sources_list_for_building(
46- job.build, distroarchseries, None))
47+ yield get_sources_list_for_building(job, distroarchseries, None))
48 logger = BufferLogger()
49 extra_args = yield job.extraBuildArgs(logger)
50 self.assertEqual({
51@@ -308,8 +306,7 @@ class TestAsyncRecipeBuilder(TestRecipeBuilderBase):
52 distroarchseries = job.build.distroseries.architectures[0]
53 args = yield job.extraBuildArgs()
54 expected_archives, expected_trusted_keys = (
55- yield get_sources_list_for_building(
56- job.build, distroarchseries, None))
57+ yield get_sources_list_for_building(job, distroarchseries, None))
58 self.assertEqual(args["archives"], expected_archives)
59 self.assertEqual(args["trusted_keys"], expected_trusted_keys)
60
61@@ -318,8 +315,7 @@ class TestAsyncRecipeBuilder(TestRecipeBuilderBase):
62 job = self.makeJob(git=True, with_builder=True)
63 distroarchseries = job.build.distroseries.architectures[0]
64 expected_archives, expected_trusted_keys = (
65- yield get_sources_list_for_building(
66- job.build, distroarchseries, None))
67+ yield get_sources_list_for_building(job, distroarchseries, None))
68 extra_args = yield job.extraBuildArgs()
69 self.assertEqual({
70 'arch_tag': 'i386',
71diff --git a/lib/lp/oci/model/ocirecipebuildbehaviour.py b/lib/lp/oci/model/ocirecipebuildbehaviour.py
72index f76c6dc..e8a60f5 100644
73--- a/lib/lp/oci/model/ocirecipebuildbehaviour.py
74+++ b/lib/lp/oci/model/ocirecipebuildbehaviour.py
75@@ -128,7 +128,7 @@ class OCIRecipeBuildBehaviour(SnapProxyMixin, BuildFarmJobBehaviourBase):
76 args["name"] = build.recipe.name
77 args["archives"], args["trusted_keys"] = (
78 yield get_sources_list_for_building(
79- build, build.distro_arch_series, None,
80+ self, build.distro_arch_series, None,
81 tools_source=None, tools_fingerprint=None,
82 logger=logger))
83
84diff --git a/lib/lp/oci/tests/test_ocirecipebuildbehaviour.py b/lib/lp/oci/tests/test_ocirecipebuildbehaviour.py
85index 1fe69f3..0fb7574 100644
86--- a/lib/lp/oci/tests/test_ocirecipebuildbehaviour.py
87+++ b/lib/lp/oci/tests/test_ocirecipebuildbehaviour.py
88@@ -381,7 +381,7 @@ class TestAsyncOCIRecipeBuildBehaviour(
89 job = self.makeJob(git_ref=ref)
90 expected_archives, expected_trusted_keys = (
91 yield get_sources_list_for_building(
92- job.build, job.build.distro_arch_series, None))
93+ job, job.build.distro_arch_series, None))
94 for archive_line in expected_archives:
95 self.assertIn('universe', archive_line)
96 with dbuser(config.builddmaster.dbuser):
97@@ -431,7 +431,7 @@ class TestAsyncOCIRecipeBuildBehaviour(
98 job = self.makeJob(git_ref=ref, recipe=recipe)
99 expected_archives, expected_trusted_keys = (
100 yield get_sources_list_for_building(
101- job.build, job.build.distro_arch_series, None))
102+ job, job.build.distro_arch_series, None))
103 for archive_line in expected_archives:
104 self.assertIn('universe', archive_line)
105 with dbuser(config.builddmaster.dbuser):
106@@ -487,7 +487,7 @@ class TestAsyncOCIRecipeBuildBehaviour(
107 job = self.makeJob(git_ref=ref.repository.getRefByPath("HEAD"))
108 expected_archives, expected_trusted_keys = (
109 yield get_sources_list_for_building(
110- job.build, job.build.distro_arch_series, None))
111+ job, job.build.distro_arch_series, None))
112 for archive_line in expected_archives:
113 self.assertIn('universe', archive_line)
114 with dbuser(config.builddmaster.dbuser):
115diff --git a/lib/lp/snappy/model/snapbuildbehaviour.py b/lib/lp/snappy/model/snapbuildbehaviour.py
116index f554268..dda949b 100644
117--- a/lib/lp/snappy/model/snapbuildbehaviour.py
118+++ b/lib/lp/snappy/model/snapbuildbehaviour.py
119@@ -176,7 +176,7 @@ class SnapBuildBehaviour(SnapProxyMixin, BuildFarmJobBehaviourBase):
120 archive_dependencies.extend(build.snap_base.dependencies)
121 args["archives"], args["trusted_keys"] = (
122 yield get_sources_list_for_building(
123- build, build.distro_arch_series, None,
124+ self, build.distro_arch_series, None,
125 archive_dependencies=archive_dependencies,
126 tools_source=tools_source, tools_fingerprint=tools_fingerprint,
127 logger=logger))
128diff --git a/lib/lp/snappy/tests/test_snapbuildbehaviour.py b/lib/lp/snappy/tests/test_snapbuildbehaviour.py
129index d223596..1d80326 100644
130--- a/lib/lp/snappy/tests/test_snapbuildbehaviour.py
131+++ b/lib/lp/snappy/tests/test_snapbuildbehaviour.py
132@@ -340,7 +340,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
133 job = self.makeJob(branch=branch)
134 expected_archives, expected_trusted_keys = (
135 yield get_sources_list_for_building(
136- job.build, job.build.distro_arch_series, None))
137+ job, job.build.distro_arch_series, None))
138 for archive_line in expected_archives:
139 self.assertIn('universe', archive_line)
140 with dbuser(config.builddmaster.dbuser):
141@@ -380,7 +380,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
142 job = self.makeJob(git_ref=ref)
143 expected_archives, expected_trusted_keys = (
144 yield get_sources_list_for_building(
145- job.build, job.build.distro_arch_series, None))
146+ job, job.build.distro_arch_series, None))
147 for archive_line in expected_archives:
148 self.assertIn('universe', archive_line)
149 with dbuser(config.builddmaster.dbuser):
150@@ -411,7 +411,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
151 job = self.makeJob(git_ref=ref.repository.getRefByPath("HEAD"))
152 expected_archives, expected_trusted_keys = (
153 yield get_sources_list_for_building(
154- job.build, job.build.distro_arch_series, None))
155+ job, job.build.distro_arch_series, None))
156 for archive_line in expected_archives:
157 self.assertIn('universe', archive_line)
158 with dbuser(config.builddmaster.dbuser):
159@@ -445,7 +445,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
160 job = self.makeJob(git_ref=ref, private=True)
161 expected_archives, expected_trusted_keys = (
162 yield get_sources_list_for_building(
163- job.build, job.build.distro_arch_series, None))
164+ job, job.build.distro_arch_series, None))
165 for archive_line in expected_archives:
166 self.assertIn('universe', archive_line)
167 args = yield job.extraBuildArgs()
168@@ -489,7 +489,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
169 job = self.makeJob(git_ref=ref)
170 expected_archives, expected_trusted_keys = (
171 yield get_sources_list_for_building(
172- job.build, job.build.distro_arch_series, None))
173+ job, job.build.distro_arch_series, None))
174 for archive_line in expected_archives:
175 self.assertIn('universe', archive_line)
176 with dbuser(config.builddmaster.dbuser):
177@@ -520,7 +520,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
178 job = self.makeJob(git_ref=ref)
179 expected_archives, expected_trusted_keys = (
180 yield get_sources_list_for_building(
181- job.build, job.build.distro_arch_series, None))
182+ job, job.build.distro_arch_series, None))
183 for archive_line in expected_archives:
184 self.assertIn('universe', archive_line)
185 with dbuser(config.builddmaster.dbuser):
186@@ -617,7 +617,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
187 job = self.makeJob(channels={"snapcraft": "edge"})
188 expected_archives, expected_trusted_keys = (
189 yield get_sources_list_for_building(
190- job.build, job.build.distro_arch_series, None))
191+ job, job.build.distro_arch_series, None))
192 with dbuser(config.builddmaster.dbuser):
193 args = yield job.extraBuildArgs()
194 self.assertFalse(isProxy(args["channels"]))
195@@ -629,7 +629,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
196 job = self.makeJob(channels={"snapcraft": "apt"})
197 expected_archives, expected_trusted_keys = (
198 yield get_sources_list_for_building(
199- job.build, job.build.distro_arch_series, None))
200+ job, job.build.distro_arch_series, None))
201 with dbuser(config.builddmaster.dbuser):
202 args = yield job.extraBuildArgs()
203 self.assertNotIn("channels", args)
204@@ -643,7 +643,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
205 job = self.makeJob()
206 expected_archives, expected_trusted_keys = (
207 yield get_sources_list_for_building(
208- job.build, job.build.distro_arch_series, None))
209+ job, job.build.distro_arch_series, None))
210 with dbuser(config.builddmaster.dbuser):
211 args = yield job.extraBuildArgs()
212 self.assertFalse(isProxy(args["channels"]))
213@@ -658,7 +658,7 @@ class TestAsyncSnapBuildBehaviour(StatsMixin, TestSnapBuildBehaviourBase):
214 job = self.makeJob(channels={"snapcraft": "apt"})
215 expected_archives, expected_trusted_keys = (
216 yield get_sources_list_for_building(
217- job.build, job.build.distro_arch_series, None))
218+ job, job.build.distro_arch_series, None))
219 with dbuser(config.builddmaster.dbuser):
220 args = yield job.extraBuildArgs()
221 self.assertNotIn("channels", args)
222diff --git a/lib/lp/soyuz/adapters/archivedependencies.py b/lib/lp/soyuz/adapters/archivedependencies.py
223index c005651..ff1d117 100644
224--- a/lib/lp/soyuz/adapters/archivedependencies.py
225+++ b/lib/lp/soyuz/adapters/archivedependencies.py
226@@ -250,8 +250,8 @@ def expand_dependencies(archive, distro_arch_series, pocket, component,
227
228
229 @defer.inlineCallbacks
230-def get_sources_list_for_building(build, distroarchseries, sourcepackagename,
231- archive_dependencies=None,
232+def get_sources_list_for_building(behaviour, distroarchseries,
233+ sourcepackagename, archive_dependencies=None,
234 tools_source=None, tools_fingerprint=None,
235 logger=None):
236 """Return sources.list entries and keys required to build the given item.
237@@ -264,7 +264,8 @@ def get_sources_list_for_building(build, distroarchseries, sourcepackagename,
238
239 The keys are in an arbitrary order.
240
241- :param build: a context `IBuild`.
242+ :param behaviour: the `IBuildFarmJobBehaviour` for the context
243+ `IBuildFarmJob`.
244 :param distroarchseries: A `IDistroArchSeries`
245 :param sourcepackagename: A source package name (as text)
246 :param archive_dependencies: a sequence of `IArchiveDependency` objects
247@@ -280,6 +281,7 @@ def get_sources_list_for_building(build, distroarchseries, sourcepackagename,
248 sources.list entries (lines) and a list of base64-encoded public
249 keys.
250 """
251+ build = behaviour.build
252 if archive_dependencies is None:
253 archive_dependencies = build.archive.dependencies
254 deps = expand_dependencies(
255diff --git a/lib/lp/soyuz/adapters/tests/test_archivedependencies.py b/lib/lp/soyuz/adapters/tests/test_archivedependencies.py
256index 1945a52..4eaeab0 100644
257--- a/lib/lp/soyuz/adapters/tests/test_archivedependencies.py
258+++ b/lib/lp/soyuz/adapters/tests/test_archivedependencies.py
259@@ -23,6 +23,9 @@ from zope.security.proxy import removeSecurityProxy
260 from lp.archivepublisher.interfaces.archivegpgsigningkey import (
261 IArchiveGPGSigningKey,
262 )
263+from lp.buildmaster.interfaces.buildfarmjobbehaviour import (
264+ IBuildFarmJobBehaviour,
265+ )
266 from lp.registry.interfaces.distribution import IDistributionSet
267 from lp.registry.interfaces.pocket import PackagePublishingPocket
268 from lp.services.config import config
269@@ -203,9 +206,10 @@ class TestSourcesList(TestCaseWithFactory):
270 else:
271 prefix = archive_or_prefix + " "
272 expected_lines.extend([prefix + suffix for suffix in suffixes])
273+ behaviour = IBuildFarmJobBehaviour(build)
274 sources_list, trusted_keys = yield get_sources_list_for_building(
275- build, build.distro_arch_series, build.source_package_release.name,
276- **kwargs)
277+ behaviour, build.distro_arch_series,
278+ build.source_package_release.name, **kwargs)
279 self.assertEqual(expected_lines, sources_list)
280 key_matchers = [
281 Base64KeyMatches(self.fingerprints[key_name])
282diff --git a/lib/lp/soyuz/model/binarypackagebuildbehaviour.py b/lib/lp/soyuz/model/binarypackagebuildbehaviour.py
283index 3ff5603..6b74f46 100644
284--- a/lib/lp/soyuz/model/binarypackagebuildbehaviour.py
285+++ b/lib/lp/soyuz/model/binarypackagebuildbehaviour.py
286@@ -165,7 +165,7 @@ class BinaryPackageBuildBehaviour(BuildFarmJobBehaviourBase):
287
288 args['archives'], args['trusted_keys'] = (
289 yield get_sources_list_for_building(
290- build, das, build.source_package_release.name, logger=logger))
291+ self, das, build.source_package_release.name, logger=logger))
292 args['build_debug_symbols'] = build.archive.build_debug_symbols
293
294 defer.returnValue(args)
295diff --git a/lib/lp/soyuz/model/livefsbuildbehaviour.py b/lib/lp/soyuz/model/livefsbuildbehaviour.py
296index 4182c79..c439559 100644
297--- a/lib/lp/soyuz/model/livefsbuildbehaviour.py
298+++ b/lib/lp/soyuz/model/livefsbuildbehaviour.py
299@@ -98,7 +98,7 @@ class LiveFSBuildBehaviour(BuildFarmJobBehaviourBase):
300 args["datestamp"] = build.version
301 args["archives"], args["trusted_keys"] = (
302 yield get_sources_list_for_building(
303- build, build.distro_arch_series, None, logger=logger))
304+ self, build.distro_arch_series, None, logger=logger))
305 defer.returnValue(args)
306
307 def verifySuccessfulBuild(self):
308diff --git a/lib/lp/soyuz/tests/test_archive.py b/lib/lp/soyuz/tests/test_archive.py
309index 419d552..a49ccd3 100644
310--- a/lib/lp/soyuz/tests/test_archive.py
311+++ b/lib/lp/soyuz/tests/test_archive.py
312@@ -44,6 +44,9 @@ from lp.buildmaster.enums import (
313 BuildQueueStatus,
314 BuildStatus,
315 )
316+from lp.buildmaster.interfaces.buildfarmjobbehaviour import (
317+ IBuildFarmJobBehaviour,
318+ )
319 from lp.buildmaster.interfaces.processor import IProcessorSet
320 from lp.registry.enums import (
321 PersonVisibility,
322@@ -1883,8 +1886,9 @@ class TestArchiveDependencies(TestCaseWithFactory):
323 PackagePublishingPocket.RELEASE)
324 build = self.factory.makeBinaryPackageBuild(archive=p3a,
325 distroarchseries=bpph.distroarchseries)
326+ behaviour = IBuildFarmJobBehaviour(build)
327 sources_list, trusted_keys = yield get_sources_list_for_building(
328- build, build.distro_arch_series,
329+ behaviour, build.distro_arch_series,
330 build.source_package_release.name)
331 matches = MatchesRegex(
332 "deb http://buildd:sekrit@private-ppa.launchpad.test/"
333@@ -2140,8 +2144,10 @@ class TestOverlays(TestCaseWithFactory):
334 self._createDep(
335 test_publisher, series11, 'series12', 'depdistro4', 'multiverse',
336 PackagePublishingPocket.UPDATES)
337+ behaviour = IBuildFarmJobBehaviour(build)
338 sources_list, trusted_keys = yield get_sources_list_for_building(
339- build, build.distro_arch_series, build.source_package_release.name)
340+ behaviour, build.distro_arch_series,
341+ build.source_package_release.name)
342
343 self.assertThat(
344 "\n".join(sources_list),
345diff --git a/lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py b/lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py
346index 35390f3..cc27742 100644
347--- a/lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py
348+++ b/lib/lp/soyuz/tests/test_binarypackagebuildbehaviour.py
349@@ -94,22 +94,24 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
350 self.setUpStats()
351
352 @defer.inlineCallbacks
353- def assertExpectedInteraction(self, call_log, builder, build, chroot,
354- archive, archive_purpose, component=None,
355- extra_uploads=None, filemap_names=None):
356+ def assertExpectedInteraction(self, call_log, builder, build, behaviour,
357+ chroot, archive, archive_purpose,
358+ component=None, extra_uploads=None,
359+ filemap_names=None):
360 expected = yield self.makeExpectedInteraction(
361- builder, build, chroot, archive, archive_purpose, component,
362- extra_uploads, filemap_names)
363+ builder, build, behaviour, chroot, archive, archive_purpose,
364+ component, extra_uploads, filemap_names)
365 self.assertEqual(expected, call_log)
366
367 @defer.inlineCallbacks
368- def makeExpectedInteraction(self, builder, build, chroot, archive,
369- archive_purpose, component=None,
370+ def makeExpectedInteraction(self, builder, build, behaviour, chroot,
371+ archive, archive_purpose, component=None,
372 extra_uploads=None, filemap_names=None):
373 """Build the log of calls that we expect to be made to the slave.
374
375 :param builder: The builder we are using to build the binary package.
376 :param build: The build being done on the builder.
377+ :param behaviour: The build behaviour.
378 :param chroot: The `LibraryFileAlias` for the chroot in which we are
379 building.
380 :param archive: The `IArchive` into which we are building.
381@@ -123,7 +125,7 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
382 ds_name = das.distroseries.name
383 suite = ds_name + pocketsuffix[build.pocket]
384 archives, trusted_keys = yield get_sources_list_for_building(
385- build, das, build.source_package_release.name)
386+ behaviour, das, build.source_package_release.name)
387 arch_indep = das.isNominatedArchIndep
388 if component is None:
389 component = build.current_component.name
390@@ -178,11 +180,11 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
391 bq = build.queueBuild()
392 bq.markAsBuilding(builder)
393 interactor = BuilderInteractor()
394+ behaviour = interactor.getBuildBehaviour(bq, builder, slave)
395 yield interactor._startBuild(
396- bq, vitals, builder, slave,
397- interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
398+ bq, vitals, builder, slave, behaviour, BufferLogger())
399 yield self.assertExpectedInteraction(
400- slave.call_log, builder, build, lf, archive,
401+ slave.call_log, builder, build, behaviour, lf, archive,
402 ArchivePurpose.PRIMARY, 'universe')
403 self.assertEqual(1, self.stats_client.incr.call_count)
404 self.assertEqual(
405@@ -213,11 +215,11 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
406 bq = build.queueBuild()
407 bq.markAsBuilding(builder)
408 interactor = BuilderInteractor()
409+ behaviour = interactor.getBuildBehaviour(bq, builder, slave)
410 yield interactor._startBuild(
411- bq, vitals, builder, slave,
412- interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
413+ bq, vitals, builder, slave, behaviour, BufferLogger())
414 yield self.assertExpectedInteraction(
415- slave.call_log, builder, build, lf, archive,
416+ slave.call_log, builder, build, behaviour, lf, archive,
417 ArchivePurpose.PRIMARY, 'main')
418
419 @defer.inlineCallbacks
420@@ -236,11 +238,12 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
421 bq = build.queueBuild()
422 bq.markAsBuilding(builder)
423 interactor = BuilderInteractor()
424+ behaviour = interactor.getBuildBehaviour(bq, builder, slave)
425 yield interactor._startBuild(
426- bq, vitals, builder, slave,
427- interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
428+ bq, vitals, builder, slave, behaviour, BufferLogger())
429 yield self.assertExpectedInteraction(
430- slave.call_log, builder, build, lf, archive, ArchivePurpose.PPA)
431+ slave.call_log, builder, build, behaviour, lf, archive,
432+ ArchivePurpose.PPA)
433 self.assertEqual(1, self.stats_client.incr.call_count)
434 self.assertEqual(
435 self.stats_client.incr.call_args_list[0][0],
436@@ -273,11 +276,12 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
437 bq = build.queueBuild()
438 bq.markAsBuilding(builder)
439 interactor = BuilderInteractor()
440+ behaviour = interactor.getBuildBehaviour(bq, builder, slave)
441 yield interactor._startBuild(
442- bq, vitals, builder, slave,
443- interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
444+ bq, vitals, builder, slave, behaviour, BufferLogger())
445 yield self.assertExpectedInteraction(
446- slave.call_log, builder, build, lf, archive, ArchivePurpose.PPA,
447+ slave.call_log, builder, build, behaviour, lf, archive,
448+ ArchivePurpose.PPA,
449 extra_uploads=[(sprf_url, 'buildd', 'sekrit')],
450 filemap_names=[sprf.libraryfile.filename])
451
452@@ -297,11 +301,11 @@ class TestBinaryBuildPackageBehaviour(StatsMixin, TestCaseWithFactory):
453 bq = build.queueBuild()
454 bq.markAsBuilding(builder)
455 interactor = BuilderInteractor()
456+ behaviour = interactor.getBuildBehaviour(bq, builder, slave)
457 yield interactor._startBuild(
458- bq, vitals, builder, slave,
459- interactor.getBuildBehaviour(bq, builder, slave), BufferLogger())
460+ bq, vitals, builder, slave, behaviour, BufferLogger())
461 yield self.assertExpectedInteraction(
462- slave.call_log, builder, build, lf, archive,
463+ slave.call_log, builder, build, behaviour, lf, archive,
464 ArchivePurpose.PARTNER)
465
466 def test_dont_dispatch_release_builds(self):
467diff --git a/lib/lp/soyuz/tests/test_livefsbuildbehaviour.py b/lib/lp/soyuz/tests/test_livefsbuildbehaviour.py
468index 4820132..8d6f33b 100644
469--- a/lib/lp/soyuz/tests/test_livefsbuildbehaviour.py
470+++ b/lib/lp/soyuz/tests/test_livefsbuildbehaviour.py
471@@ -201,7 +201,7 @@ class TestAsyncLiveFSBuildBehaviour(TestLiveFSBuildBehaviourBase):
472 with_builder=True)
473 expected_archives, expected_trusted_keys = (
474 yield get_sources_list_for_building(
475- job.build, job.build.distro_arch_series, None))
476+ job, job.build.distro_arch_series, None))
477 extra_args = yield job.extraBuildArgs()
478 self.assertEqual({
479 "archive_private": False,

Subscribers

People subscribed via source and target branches

to status/vote changes: