|
1 | 1 | import unittest |
2 | 2 | from uuid import UUID |
3 | 3 |
|
4 | | -from .vmbackedtestcase import VMBackedTestCase |
| 4 | +from .storagetestcase import StorageTestCase |
5 | 5 |
|
6 | 6 | from blivet.devicelibs import gpt |
7 | 7 | from blivet.devices import LUKSDevice |
8 | 8 | from blivet.flags import flags |
9 | 9 | from blivet import formats |
10 | | -from blivet.formats import disklabel |
| 10 | +from blivet.formats import get_format |
11 | 11 | from blivet import partitioning |
12 | 12 | from blivet.size import Size |
13 | | -from blivet.util import set_up_logging |
14 | 13 |
|
15 | 14 | import parted |
16 | 15 |
|
17 | 16 |
|
18 | | -class GPTTestBase(VMBackedTestCase): |
| 17 | +class GPTTestBase(StorageTestCase): |
| 18 | + |
| 19 | + _num_disks = 1 |
19 | 20 |
|
20 | 21 | # Default parted GUID for "Linux Data" partition |
21 | 22 | LINUX_DATA_GUID = UUID("0fc63daf-8483-4772-8e79-3d69d8477de4") |
22 | 23 |
|
23 | | - def __init__(self, *args, **kwargs): |
24 | | - super(GPTTestBase, self).__init__(*args, **kwargs) |
25 | | - |
26 | | - self.root = None |
27 | | - self.home = None |
28 | | - self.tmp = None |
29 | | - self.srv = None |
30 | | - self.etc = None |
31 | | - self.swap = None |
32 | | - self.usrluks = None |
33 | | - self.usr = None |
34 | | - |
35 | | - @classmethod |
36 | | - def setUpClass(cls): |
37 | | - super().setUpClass() |
38 | | - |
39 | | - set_up_logging() |
40 | | - |
41 | | - def set_up_disks(self): |
42 | | - disklabel.DiskLabel.set_default_label_type("gpt") |
| 24 | + def setUp(self): |
| 25 | + super().setUp() |
| 26 | + self._blivet_setup() |
| 27 | + self._set_up_storage() |
43 | 28 |
|
44 | 29 | def _clean_up(self): |
45 | | - super(GPTTestBase, self)._clean_up() |
46 | | - |
47 | | - disklabel.DiskLabel.set_default_label_type(None) |
| 30 | + self._blivet_cleanup() |
| 31 | + return super()._clean_up() |
48 | 32 |
|
49 | 33 | def _set_up_storage(self): |
| 34 | + disk = self.storage.devicetree.get_device_by_path(self.vdevs[0]) |
| 35 | + self.assertIsNotNone(disk) |
| 36 | + |
| 37 | + self.storage.format_device(disk, get_format("disklabel", label_type="gpt")) |
| 38 | + |
50 | 39 | # A part whose UUID varies per architecture, without FS formatted |
51 | | - self.root = self.blivet.new_partition( |
| 40 | + self.root = self.storage.new_partition( |
52 | 41 | size=Size("10MiB"), maxsize=Size("50GiB"), grow=True, |
53 | | - parents=self.blivet.disks, mountpoint="/") |
54 | | - self.blivet.create_device(self.root) |
| 42 | + parents=[disk], mountpoint="/") |
| 43 | + self.storage.create_device(self.root) |
55 | 44 |
|
56 | 45 | # A part whose UUID is fixed per architecture, without FS formatted |
57 | | - self.home = self.blivet.new_partition( |
58 | | - size=Size("50MiB"), parents=self.blivet.disks, |
| 46 | + self.home = self.storage.new_partition( |
| 47 | + size=Size("50MiB"), parents=[disk], |
59 | 48 | mountpoint="/home") |
60 | | - self.blivet.create_device(self.home) |
| 49 | + self.storage.create_device(self.home) |
61 | 50 |
|
62 | 51 | # A part whose UUID is fixed per architecture, with FS formatted |
63 | | - self.tmp = self.blivet.new_partition( |
| 52 | + self.tmp = self.storage.new_partition( |
64 | 53 | fmt_type="ext4", size=Size("50MiB"), |
65 | | - parents=self.blivet.disks, mountpoint="/tmp") |
66 | | - self.blivet.create_device(self.tmp) |
| 54 | + parents=[disk], mountpoint="/tmp") |
| 55 | + self.storage.create_device(self.tmp) |
67 | 56 |
|
68 | 57 | # A part whose UUID specified explicitly, with FS formatted |
69 | | - self.srv = self.blivet.new_partition( |
| 58 | + self.srv = self.storage.new_partition( |
70 | 59 | fmt_type="ext4", size=Size("50MiB"), |
71 | | - parents=self.blivet.disks, mountpoint="/srv", |
| 60 | + parents=[disk], mountpoint="/srv", |
72 | 61 | part_type_uuid=gpt.gpt_part_uuid_for_mountpoint("/srv")) |
73 | | - self.blivet.create_device(self.srv) |
| 62 | + self.storage.create_device(self.srv) |
74 | 63 |
|
75 | 64 | # A part with no special UUID assignment |
76 | | - self.etc = self.blivet.new_partition( |
77 | | - size=Size("20MiB"), parents=self.blivet.disks, |
| 65 | + self.etc = self.storage.new_partition( |
| 66 | + size=Size("20MiB"), parents=[disk], |
78 | 67 | mountpoint="/etc") |
79 | | - self.blivet.create_device(self.etc) |
| 68 | + self.storage.create_device(self.etc) |
80 | 69 |
|
81 | 70 | # A part whose UUID is based off fmt type |
82 | | - self.swap = self.blivet.new_partition( |
83 | | - fmt_type="swap", size=Size("20MiB"), parents=self.blivet.disks) |
84 | | - self.blivet.create_device(self.swap) |
| 71 | + self.swap = self.storage.new_partition( |
| 72 | + fmt_type="swap", size=Size("20MiB"), parents=[disk]) |
| 73 | + self.storage.create_device(self.swap) |
85 | 74 |
|
86 | 75 | # An encrypted part |
87 | | - self.usrluks = self.blivet.new_partition( |
| 76 | + self.usrluks = self.storage.new_partition( |
88 | 77 | fmt_type="luks", fmt_args={ |
89 | 78 | "passphrase": "123456", |
90 | 79 | }, size=Size("100MiB"), |
91 | | - parents=self.blivet.disks, mountpoint="/usr") |
92 | | - self.blivet.create_device(self.usrluks) |
| 80 | + parents=[disk], mountpoint="/usr") |
| 81 | + self.storage.create_device(self.usrluks) |
93 | 82 |
|
94 | 83 | self.usr = LUKSDevice( |
95 | 84 | name="luks-user", size=self.usrluks.size, parents=self.usrluks) |
96 | | - self.blivet.create_device(self.usr) |
| 85 | + self.storage.create_device(self.usr) |
97 | 86 |
|
98 | 87 | extfs = formats.get_format( |
99 | 88 | fmt_type="ext4", device=self.usr.path, mountpoint="/usr") |
100 | | - self.blivet.format_device(self.usr, extfs) |
| 89 | + self.storage.format_device(self.usr, extfs) |
101 | 90 |
|
102 | 91 | # Allocate the partitions |
103 | | - partitioning.do_partitioning(self.blivet) |
| 92 | + partitioning.do_partitioning(self.storage) |
| 93 | + |
| 94 | + self.storage.do_it() |
104 | 95 |
|
105 | 96 |
|
106 | 97 | class GPTDiscoverableTestCase(GPTTestBase): |
|
0 commit comments