~cjwatson/launchpad-buildd/local-snap-proxy

« back to all changes in this revision

Viewing changes to lpbuildd/tests/test_debian.py

  • Committer: Colin Watson
  • Date: 2018-06-05 20:59:48 UTC
  • mfrom: (215.2.125 launchpad-buildd)
  • Revision ID: cjwatson@canonical.com-20180605205948-ofllrq57ruk5q4m7
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
328
328
        self.assertFalse(self.slave.wasCalled('depFail'))
329
329
        self.assertTrue(self.slave.wasCalled('buildOK'))
330
330
        self.assertTrue(self.slave.wasCalled('buildComplete'))
 
331
 
 
332
    def test_iterate_fast_cleanup(self):
 
333
        # The build manager can be told that it doesn't need to do the final
 
334
        # cleanup steps, because the VM is about to be torn down anyway.  It
 
335
        # iterates such a build from start to finish, but without calling
 
336
        # umount-chroot or remove-build.
 
337
        extra_args = {
 
338
            'arch_tag': 'amd64',
 
339
            'archives': [
 
340
                'deb http://ppa.launchpad.dev/owner/name/ubuntu xenial main',
 
341
                ],
 
342
            'fast_cleanup': True,
 
343
            'series': 'xenial',
 
344
            }
 
345
        self.startBuild(extra_args)
 
346
 
 
347
        self.buildmanager.iterate(0)
 
348
        self.assertEqual(DebianBuildState.UNPACK, self.getState())
 
349
        self.assertEqual(
 
350
            (['sharepath/slavebin/in-target', 'in-target',
 
351
              'unpack-chroot',
 
352
              '--backend=chroot', '--series=xenial', '--arch=amd64',
 
353
              self.buildid,
 
354
              os.path.join(self.buildmanager._cachepath, 'chroot.tar.gz')],
 
355
             None),
 
356
            self.buildmanager.commands[-1])
 
357
        self.assertEqual(
 
358
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
359
 
 
360
        self.buildmanager.iterate(0)
 
361
        self.assertEqual(DebianBuildState.MOUNT, self.getState())
 
362
        self.assertEqual(
 
363
            (['sharepath/slavebin/in-target', 'in-target',
 
364
              'mount-chroot',
 
365
              '--backend=chroot', '--series=xenial', '--arch=amd64',
 
366
              self.buildid],
 
367
             None),
 
368
            self.buildmanager.commands[-1])
 
369
        self.assertEqual(
 
370
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
371
 
 
372
        self.buildmanager.iterate(0)
 
373
        self.assertEqual(DebianBuildState.SOURCES, self.getState())
 
374
        self.assertEqual(
 
375
            (['sharepath/slavebin/in-target', 'in-target',
 
376
              'override-sources-list',
 
377
              '--backend=chroot', '--series=xenial', '--arch=amd64',
 
378
              self.buildid,
 
379
              'deb http://ppa.launchpad.dev/owner/name/ubuntu xenial main'],
 
380
             None),
 
381
            self.buildmanager.commands[-1])
 
382
        self.assertEqual(
 
383
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
384
 
 
385
        self.buildmanager.iterate(0)
 
386
        self.assertEqual(DebianBuildState.UPDATE, self.getState())
 
387
        self.assertEqual(
 
388
            (['sharepath/slavebin/in-target', 'in-target',
 
389
              'update-debian-chroot',
 
390
              '--backend=chroot', '--series=xenial', '--arch=amd64',
 
391
              self.buildid],
 
392
             None),
 
393
            self.buildmanager.commands[-1])
 
394
        self.assertEqual(
 
395
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
396
 
 
397
        self.buildmanager.iterate(0)
 
398
        self.assertEqual(MockBuildState.MAIN, self.getState())
 
399
        self.assertEqual(
 
400
            (['/bin/true', 'true'], None), self.buildmanager.commands[-1])
 
401
        self.assertEqual(
 
402
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
403
 
 
404
        self.buildmanager.iterate(0)
 
405
        self.assertEqual(MockBuildState.MAIN, self.getState())
 
406
        self.assertEqual(
 
407
            (['sharepath/slavebin/in-target', 'in-target',
 
408
              'scan-for-processes',
 
409
              '--backend=chroot', '--series=xenial', '--arch=amd64',
 
410
              self.buildid],
 
411
             None),
 
412
            self.buildmanager.commands[-1])
 
413
        self.assertNotEqual(
 
414
            self.buildmanager.iterate, self.buildmanager.iterators[-1])
 
415
 
 
416
        self.buildmanager.iterateReap(self.getState(), 0)
 
417
        self.assertFalse(self.slave.wasCalled('builderFail'))
 
418
        self.assertFalse(self.slave.wasCalled('chrootFail'))
 
419
        self.assertFalse(self.slave.wasCalled('buildFail'))
 
420
        self.assertFalse(self.slave.wasCalled('depFail'))
 
421
        self.assertTrue(self.slave.wasCalled('buildOK'))
 
422
        self.assertTrue(self.slave.wasCalled('buildComplete'))
 
423