fix removing more than one partition when applying gadget data

This commit is contained in:
Michael Hudson-Doyle 2022-11-29 15:39:03 +13:00
parent 6fdceba167
commit a96903e4da
2 changed files with 4 additions and 2 deletions

View File

@ -496,7 +496,7 @@ class FilesystemController(SubiquityController, FilesystemManipulator):
if (offset, size) in parts_by_offset_size:
preserved_parts.add(parts_by_offset_size[(offset, size)])
for part in disk.partitions():
for part in list(disk.partitions()):
if part not in preserved_parts:
self.delete_partition(part)
del parts_by_offset_size[(part.offset, part.size)]

View File

@ -504,9 +504,11 @@ class TestCoreBootInstallMethods(IsolatedAsyncioTestCase):
reused_part = make_partition(
self.fsc.model, disk, offset=1 << 20, size=1 << 30, preserve=True)
self.fsc.model.add_filesystem(reused_part, 'ext4')
# And one that does not.
# And two that do not.
make_partition(
self.fsc.model, disk, offset=2 << 30, size=1 << 30, preserve=True)
make_partition(
self.fsc.model, disk, offset=3 << 30, size=1 << 30, preserve=True)
self.fsc._system = self._details_for_structures([
snapdapi.VolumeStructure(
type="0FC63DAF-8483-4772-8E79-3D69D8477DE4",