fix(test): select persistent UEFI test media without changing boot order
This commit is contained in:
@@ -63,6 +63,30 @@ class SmokeTests(unittest.TestCase):
|
||||
self.assertNotIn('media=cdrom', ' '.join(argv))
|
||||
self.assertNotIn('-cdrom', argv)
|
||||
|
||||
def test_persistent_optical_drive_keeps_topology_with_no_installed_medium(self):
|
||||
disk = self.root / 'disk.qcow2'
|
||||
self.mod.reserve_disk(disk)
|
||||
iso = self.root / 'trusted.iso'
|
||||
iso.write_bytes(b'ISO')
|
||||
optical = []
|
||||
for medium in (iso, None):
|
||||
argv = self.mod.qemu_argv('qemu', self.root, disk, self.code,
|
||||
self.variables, medium, 2048, keep_cdrom_drive=True)
|
||||
drives = [argv[i + 1] for i, value in enumerate(argv[:-1]) if value == '-drive']
|
||||
cdrom = [dict(field.split('=', 1) for field in drive.split(','))
|
||||
for drive in drives if 'media=cdrom' in drive]
|
||||
self.assertEqual(len(cdrom), 1)
|
||||
self.assertEqual(cdrom[0]['if'], 'ide')
|
||||
self.assertEqual(cdrom[0]['index'], '0')
|
||||
self.assertEqual(cdrom[0]['id'], 'acceptance-cdrom')
|
||||
self.assertEqual(cdrom[0]['readonly'], 'on')
|
||||
optical.append(cdrom[0])
|
||||
self.assertEqual(optical[0].pop('file'), str(iso))
|
||||
self.assertEqual(optical[0].pop('format'), 'raw')
|
||||
self.assertNotIn('file', optical[1], 'Installed boot must have no ISO medium')
|
||||
self.assertNotIn('format', optical[1], 'An empty drive must not request a raw block backend')
|
||||
self.assertEqual(optical[0], optical[1])
|
||||
|
||||
def test_hardlinked_disk_is_refused(self):
|
||||
disk = self.root / 'disk.qcow2'
|
||||
self.mod.reserve_disk(disk)
|
||||
|
||||
Reference in New Issue
Block a user