filesystem: expand side by side unittest for gpt

This commit is contained in:
Dan Bungert 2022-08-09 15:38:49 -06:00
parent fe46f3ce39
commit 6134d3d3df
1 changed files with 45 additions and 28 deletions

View File

@ -134,8 +134,8 @@ class TestGuided(TestCase):
self.assertEqual(None, d1p2.mount) self.assertEqual(None, d1p2.mount)
self.assertIsNone(gaps.largest_gap(self.d1)) self.assertIsNone(gaps.largest_gap(self.d1))
def _guided_side_by_side(self, bl): def _guided_side_by_side(self, bl, ptable):
self._guided_setup(bl, 'msdos', storage_version=2) self._guided_setup(bl, ptable, storage_version=2)
self.controller.add_boot_disk(self.d1) self.controller.add_boot_disk(self.d1)
for p in self.d1._partitions: for p in self.d1._partitions:
p.preserve = True p.preserve = True
@ -144,11 +144,12 @@ class TestGuided(TestCase):
self.model._probe_data['blockdev'][p._path()] = { self.model._probe_data['blockdev'][p._path()] = {
"ID_PART_ENTRY_TYPE": str(0xef) "ID_PART_ENTRY_TYPE": str(0xef)
} }
# create an extended partition, # Make it more interesting with other partitions.
# and a few other partitions to make it more interesting # Also create the extended part if needed.
g = gaps.largest_gap(self.d1) g = gaps.largest_gap(self.d1)
make_partition(self.model, self.d1, preserve=True, make_partition(self.model, self.d1, preserve=True,
size=10 << 30, offset=g.offset) size=10 << 30, offset=g.offset)
if ptable == 'msdos':
g = gaps.largest_gap(self.d1) g = gaps.largest_gap(self.d1)
make_partition(self.model, self.d1, preserve=True, make_partition(self.model, self.d1, preserve=True,
flag='extended', size=g.size, offset=g.offset) flag='extended', size=g.size, offset=g.offset)
@ -156,31 +157,47 @@ class TestGuided(TestCase):
make_partition(self.model, self.d1, preserve=True, make_partition(self.model, self.d1, preserve=True,
flag='logical', size=10 << 30, offset=g.offset) flag='logical', size=10 << 30, offset=g.offset)
@parameterized.expand(bootloaders) @parameterized.expand(
def test_guided_direct_side_by_side_logical(self, bl): [(bl, pt, flag)
self._guided_side_by_side(bl) for bl in list(Bootloader)
for pt, flag in (
('msdos', 'logical'),
('gpt', None)
)]
)
def test_guided_direct_side_by_side(self, bl, pt, flag):
self._guided_side_by_side(bl, pt)
parts_before = self.d1._partitions.copy() parts_before = self.d1._partitions.copy()
g = gaps.largest_gap(self.d1) gap = gaps.largest_gap(self.d1)
self.controller.guided_direct(g, mode='use_gap') target = GuidedStorageTargetUseGap(disk_id=self.d1.id, gap=gap)
self.controller.guided(GuidedChoiceV2(target=target, use_lvm=False))
parts_after = gaps.parts_and_gaps(self.d1)[:-1] parts_after = gaps.parts_and_gaps(self.d1)[:-1]
self.assertEqual(parts_before, parts_after) self.assertEqual(parts_before, parts_after)
p6 = gaps.parts_and_gaps(self.d1)[-1] p = gaps.parts_and_gaps(self.d1)[-1]
self.assertEqual('/', p6.mount) self.assertEqual('/', p.mount)
self.assertEqual('logical', p6.flag) self.assertEqual(flag, p.flag)
@parameterized.expand(bootloaders) @parameterized.expand(
def test_guided_lvm_side_by_side_logical(self, bl): [(bl, pt, flag)
self._guided_side_by_side(bl) for bl in list(Bootloader)
for pt, flag in (
('msdos', 'logical'),
('gpt', None)
)]
)
def test_guided_lvm_side_by_side(self, bl, pt, flag):
self._guided_side_by_side(bl, pt)
parts_before = self.d1._partitions.copy() parts_before = self.d1._partitions.copy()
g = gaps.largest_gap(self.d1) gap = gaps.largest_gap(self.d1)
self.controller.guided_lvm(g, mode='use_gap') target = GuidedStorageTargetUseGap(disk_id=self.d1.id, gap=gap)
self.controller.guided(GuidedChoiceV2(target=target, use_lvm=True))
parts_after = gaps.parts_and_gaps(self.d1)[:-2] parts_after = gaps.parts_and_gaps(self.d1)[:-2]
self.assertEqual(parts_before, parts_after) self.assertEqual(parts_before, parts_after)
p6, p7 = gaps.parts_and_gaps(self.d1)[-2:] p_boot, p_data = gaps.parts_and_gaps(self.d1)[-2:]
self.assertEqual('/boot', p6.mount) self.assertEqual('/boot', p_boot.mount)
self.assertEqual('logical', p6.flag) self.assertEqual(flag, p_boot.flag)
self.assertEqual(None, p7.mount) self.assertEqual(None, p_data.mount)
self.assertEqual('logical', p7.flag) self.assertEqual(flag, p_data.flag)
class TestLayout(TestCase): class TestLayout(TestCase):