80
82
"--backend=lxd", "--series=xenial", "--arch=i386", self.buildid,
81
83
"--git-repository", "https://git.launchpad.dev/~example/+git/snap",
82
84
"--git-path", "master",
86
if options is not None:
87
expected_command.extend(options)
88
expected_command.append("test-snap")
85
89
self.assertEqual(expected_command, self.buildmanager.commands[-1])
87
91
self.buildmanager.iterate, self.buildmanager.iterators[-1])
180
184
self.assertEqual(
181
185
self.buildmanager.iterate, self.buildmanager.iterators[-1])
182
186
self.assertFalse(self.slave.wasCalled("buildFail"))
188
def test_iterate_with_build_source_tarball(self):
189
# The build manager iterates a build that uploads a source tarball
190
# from start to finish.
192
{"build_source_tarball": True}, ["--build-source-tarball"])
194
log_path = os.path.join(self.buildmanager._cachepath, "buildlog")
195
with open(log_path, "w") as log:
196
log.write("I am a build log.")
198
self.buildmanager.backend.add_file(
199
"/build/test-snap/test-snap_0_all.snap", b"I am a snap package.")
200
self.buildmanager.backend.add_file(
201
"/build/test-snap.tar.gz", b"I am a source tarball.")
203
# After building the package, reap processes.
204
self.buildmanager.iterate(0)
206
"sharepath/slavebin/in-target", "in-target",
207
"scan-for-processes",
208
"--backend=lxd", "--series=xenial", "--arch=i386", self.buildid,
210
self.assertEqual(SnapBuildState.BUILD_SNAP, self.getState())
211
self.assertEqual(expected_command, self.buildmanager.commands[-1])
213
self.buildmanager.iterate, self.buildmanager.iterators[-1])
214
self.assertFalse(self.slave.wasCalled("buildFail"))
215
self.assertThat(self.slave, HasWaitingFiles.byEquality({
216
"test-snap_0_all.snap": b"I am a snap package.",
217
"test-snap.tar.gz": b"I am a source tarball.",
220
# Control returns to the DebianBuildManager in the UMOUNT state.
221
self.buildmanager.iterateReap(self.getState(), 0)
223
"sharepath/slavebin/in-target", "in-target",
225
"--backend=lxd", "--series=xenial", "--arch=i386", self.buildid,
227
self.assertEqual(SnapBuildState.UMOUNT, self.getState())
228
self.assertEqual(expected_command, self.buildmanager.commands[-1])
230
self.buildmanager.iterate, self.buildmanager.iterators[-1])
231
self.assertFalse(self.slave.wasCalled("buildFail"))