Merge ~raharper/curtin:vmtest/enable-h-series into curtin:master
- Git
- lp:~raharper/curtin
- vmtest/enable-h-series
- Merge into master
Status: | Merged |
---|---|
Approved by: | Michael Hudson-Doyle |
Approved revision: | 2708cf61883592b7c8a00427acceed036fa20810 |
Merge reported by: | Server Team CI bot |
Merged at revision: | not available |
Proposed branch: | ~raharper/curtin:vmtest/enable-h-series |
Merge into: | curtin:master |
Diff against target: |
1095 lines (+390/-19) 49 files modified
tests/vmtests/releases.py (+9/-0) tests/vmtests/test_apt_config_cmd.py (+4/-0) tests/vmtests/test_basic.py (+8/-0) tests/vmtests/test_basic_dasd.py (+4/-0) tests/vmtests/test_bcache_basic.py (+4/-0) tests/vmtests/test_bcache_bug1718699.py (+4/-0) tests/vmtests/test_bcache_ceph.py (+8/-0) tests/vmtests/test_bcache_partitions.py (+4/-0) tests/vmtests/test_fs_battery.py (+4/-0) tests/vmtests/test_iscsi.py (+4/-0) tests/vmtests/test_journald_reporter.py (+4/-0) tests/vmtests/test_lvm.py (+4/-0) tests/vmtests/test_lvm_iscsi.py (+4/-0) tests/vmtests/test_lvm_raid.py (+4/-0) tests/vmtests/test_lvm_root.py (+15/-0) tests/vmtests/test_mdadm_bcache.py (+34/-0) tests/vmtests/test_mdadm_iscsi.py (+4/-0) tests/vmtests/test_multipath.py (+4/-0) tests/vmtests/test_multipath_lvm.py (+9/-0) tests/vmtests/test_network.py (+4/-0) tests/vmtests/test_network_alias.py (+4/-0) tests/vmtests/test_network_bonding.py (+4/-0) tests/vmtests/test_network_bridging.py (+4/-0) tests/vmtests/test_network_disabled.py (+30/-19) tests/vmtests/test_network_ipv6_static.py (+4/-0) tests/vmtests/test_network_ipv6_vlan.py (+4/-0) tests/vmtests/test_network_mtu.py (+4/-0) tests/vmtests/test_network_ovs.py (+4/-0) tests/vmtests/test_network_static.py (+4/-0) tests/vmtests/test_network_static_routes.py (+5/-0) tests/vmtests/test_network_vlan.py (+7/-0) tests/vmtests/test_nvme.py (+4/-0) tests/vmtests/test_panic.py (+4/-0) tests/vmtests/test_pollinate_useragent.py (+4/-0) tests/vmtests/test_preserve.py (+4/-0) tests/vmtests/test_preserve_bcache.py (+4/-0) tests/vmtests/test_preserve_lvm.py (+4/-0) tests/vmtests/test_preserve_partition_wipe_vg.py (+9/-0) tests/vmtests/test_preserve_raid.py (+4/-0) tests/vmtests/test_raid5_bcache.py (+4/-0) tests/vmtests/test_raid_partition_to_disk.py (+4/-0) tests/vmtests/test_reuse_lvm_member.py (+5/-0) tests/vmtests/test_reuse_msdos_partitions.py (+5/-0) tests/vmtests/test_reuse_raid_member.py (+9/-0) tests/vmtests/test_reuse_uefi_esp.py (+7/-0) tests/vmtests/test_simple.py (+21/-0) tests/vmtests/test_uefi_basic.py (+9/-0) tests/vmtests/test_zfsroot.py (+10/-0) tools/vmtest-add-release (+66/-0) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Server Team CI bot | continuous-integration | Approve | |
curtin developers | Pending | ||
Review via email: mp+396278@code.launchpad.net |
Commit message
vmtest: add Hirsute release classes, tool to add vmtest class
Add a tool to generate new release classes based on a previous
release, for example:
./tools/
--previous-
User still needs to create the release class in tests/vmtests/
Description of the change
Server Team CI bot (server-team-bot) wrote : | # |
- d79a227... by Ryan Harper
-
Add Hirsute release, add tool to update vmtest classes
- 1d57ef5... by Ryan Harper
-
Adjust class definition to match other curtin tests
- 2eae73b... by Ryan Harper
-
Ensure new class has two empty lines
- 4f2ae96... by Ryan Harper
-
Add a tool to generate new release classes based on a previous release
For example:
./tools/
vmtest- add-release -p tests/vmtests \
--previous-release= focal --distro- release= hirsute User still needs to create the release class in
tests/vmtests/ releases. py
Ryan Harper (raharper) wrote : | # |
make sync-images does not pull down the hirsute kernel variants for me; so maybe we also need to tackle that maas-daily vs maas-stable issues we see from time to time...
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:4f2ae96931b
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild:
https:/
Paride Legovini (paride) wrote : | # |
Thanks Ryan! There are flak8 failures:
https:/
(We should really improve on having a public project with private CI logs. I'm trying to get a definitive answer on the public/private Jenkins issue, and see how to move forward.)
Ryan Harper (raharper) wrote : | # |
After sorting sync-images issues, local run of:
./tools/
-------
Ran 923 tests in 1957.220s
OK (SKIP=139)
Thu, 14 Jan 2021 14:42:59 -0600: vmtest end [0] in 1959s
Ryan Harper (raharper) wrote : | # |
I need to fix up tox; let me do that now.
- 2708cf6... by Ryan Harper
-
Manually fix up tox issues from automatic adding if Hirsute
The automated tool isn't perfect; mostly issues with indentation.
One more refactor of the really-long-class- names in network disabled
test case as well.
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:2708cf61883
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
Click here to trigger a rebuild:
https:/
Michael Hudson-Doyle (mwhudson) wrote : | # |
Thanks for this!
Preview Diff
1 | diff --git a/tests/vmtests/releases.py b/tests/vmtests/releases.py | |||
2 | index c99ca7e..35b069b 100644 | |||
3 | --- a/tests/vmtests/releases.py | |||
4 | +++ b/tests/vmtests/releases.py | |||
5 | @@ -193,6 +193,14 @@ class _GroovyBase(_UbuntuBase): | |||
6 | 193 | subarch = "ga-20.10" | 193 | subarch = "ga-20.10" |
7 | 194 | 194 | ||
8 | 195 | 195 | ||
9 | 196 | class _HirsuteBase(_UbuntuBase): | ||
10 | 197 | release = "hirsute" | ||
11 | 198 | target_release = "hirsute" | ||
12 | 199 | mem = "2048" | ||
13 | 200 | if _UbuntuBase.arch == "arm64": | ||
14 | 201 | subarch = "ga-20.10" | ||
15 | 202 | |||
16 | 203 | |||
17 | 196 | class _Releases(object): | 204 | class _Releases(object): |
18 | 197 | trusty = _TrustyBase | 205 | trusty = _TrustyBase |
19 | 198 | precise = _PreciseBase | 206 | precise = _PreciseBase |
20 | @@ -212,6 +220,7 @@ class _Releases(object): | |||
21 | 212 | eoan = _EoanBase | 220 | eoan = _EoanBase |
22 | 213 | focal = _FocalBase | 221 | focal = _FocalBase |
23 | 214 | groovy = _GroovyBase | 222 | groovy = _GroovyBase |
24 | 223 | hirsute = _HirsuteBase | ||
25 | 215 | 224 | ||
26 | 216 | 225 | ||
27 | 217 | class _CentosReleases(object): | 226 | class _CentosReleases(object): |
28 | diff --git a/tests/vmtests/test_apt_config_cmd.py b/tests/vmtests/test_apt_config_cmd.py | |||
29 | index 874efad..a95612c 100644 | |||
30 | --- a/tests/vmtests/test_apt_config_cmd.py | |||
31 | +++ b/tests/vmtests/test_apt_config_cmd.py | |||
32 | @@ -68,6 +68,10 @@ class FocalTestAptConfigCMDCMD(relbase.focal, TestAptConfigCMD): | |||
33 | 68 | __test__ = True | 68 | __test__ = True |
34 | 69 | 69 | ||
35 | 70 | 70 | ||
36 | 71 | class HirsuteTestAptConfigCMDCMD(relbase.hirsute, TestAptConfigCMD): | ||
37 | 72 | __test__ = True | ||
38 | 73 | |||
39 | 74 | |||
40 | 71 | class GroovyTestAptConfigCMDCMD(relbase.groovy, TestAptConfigCMD): | 75 | class GroovyTestAptConfigCMDCMD(relbase.groovy, TestAptConfigCMD): |
41 | 72 | __test__ = True | 76 | __test__ = True |
42 | 73 | 77 | ||
43 | diff --git a/tests/vmtests/test_basic.py b/tests/vmtests/test_basic.py | |||
44 | index 5723bc6..06f1f59 100644 | |||
45 | --- a/tests/vmtests/test_basic.py | |||
46 | +++ b/tests/vmtests/test_basic.py | |||
47 | @@ -259,6 +259,10 @@ class FocalTestBasic(relbase.focal, TestBasicAbs): | |||
48 | 259 | __test__ = True | 259 | __test__ = True |
49 | 260 | 260 | ||
50 | 261 | 261 | ||
51 | 262 | class HirsuteTestBasic(relbase.hirsute, TestBasicAbs): | ||
52 | 263 | __test__ = True | ||
53 | 264 | |||
54 | 265 | |||
55 | 262 | class GroovyTestBasic(relbase.groovy, TestBasicAbs): | 266 | class GroovyTestBasic(relbase.groovy, TestBasicAbs): |
56 | 263 | __test__ = True | 267 | __test__ = True |
57 | 264 | 268 | ||
58 | @@ -379,6 +383,10 @@ class FocalTestScsiBasic(relbase.focal, TestBasicScsiAbs): | |||
59 | 379 | __test__ = True | 383 | __test__ = True |
60 | 380 | 384 | ||
61 | 381 | 385 | ||
62 | 386 | class HirsuteTestScsiBasic(relbase.hirsute, TestBasicScsiAbs): | ||
63 | 387 | __test__ = True | ||
64 | 388 | |||
65 | 389 | |||
66 | 382 | class GroovyTestScsiBasic(relbase.groovy, TestBasicScsiAbs): | 390 | class GroovyTestScsiBasic(relbase.groovy, TestBasicScsiAbs): |
67 | 383 | __test__ = True | 391 | __test__ = True |
68 | 384 | 392 | ||
69 | diff --git a/tests/vmtests/test_basic_dasd.py b/tests/vmtests/test_basic_dasd.py | |||
70 | index d61e1b9..49957b8 100644 | |||
71 | --- a/tests/vmtests/test_basic_dasd.py | |||
72 | +++ b/tests/vmtests/test_basic_dasd.py | |||
73 | @@ -56,6 +56,10 @@ class FocalTestBasicDasd(relbase.focal, TestBasicDasd): | |||
74 | 56 | __test__ = True | 56 | __test__ = True |
75 | 57 | 57 | ||
76 | 58 | 58 | ||
77 | 59 | class HirsuteTestBasicDasd(relbase.hirsute, TestBasicDasd): | ||
78 | 60 | __test__ = True | ||
79 | 61 | |||
80 | 62 | |||
81 | 59 | class GroovyTestBasicDasd(relbase.groovy, TestBasicDasd): | 63 | class GroovyTestBasicDasd(relbase.groovy, TestBasicDasd): |
82 | 60 | __test__ = True | 64 | __test__ = True |
83 | 61 | 65 | ||
84 | diff --git a/tests/vmtests/test_bcache_basic.py b/tests/vmtests/test_bcache_basic.py | |||
85 | index 053225f..e9ec1ea 100644 | |||
86 | --- a/tests/vmtests/test_bcache_basic.py | |||
87 | +++ b/tests/vmtests/test_bcache_basic.py | |||
88 | @@ -68,6 +68,10 @@ class FocalBcacheBasic(relbase.focal, TestBcacheBasic): | |||
89 | 68 | __test__ = True | 68 | __test__ = True |
90 | 69 | 69 | ||
91 | 70 | 70 | ||
92 | 71 | class HirsuteBcacheBasic(relbase.hirsute, TestBcacheBasic): | ||
93 | 72 | __test__ = True | ||
94 | 73 | |||
95 | 74 | |||
96 | 71 | class GroovyBcacheBasic(relbase.groovy, TestBcacheBasic): | 75 | class GroovyBcacheBasic(relbase.groovy, TestBcacheBasic): |
97 | 72 | __test__ = True | 76 | __test__ = True |
98 | 73 | 77 | ||
99 | diff --git a/tests/vmtests/test_bcache_bug1718699.py b/tests/vmtests/test_bcache_bug1718699.py | |||
100 | index ebb99ab..a43ec0f 100644 | |||
101 | --- a/tests/vmtests/test_bcache_bug1718699.py | |||
102 | +++ b/tests/vmtests/test_bcache_bug1718699.py | |||
103 | @@ -23,6 +23,10 @@ class FocalTestBcacheBug1718699(relbase.focal, TestBcacheBug1718699): | |||
104 | 23 | __test__ = True | 23 | __test__ = True |
105 | 24 | 24 | ||
106 | 25 | 25 | ||
107 | 26 | class HirsuteTestBcacheBug1718699(relbase.hirsute, TestBcacheBug1718699): | ||
108 | 27 | __test__ = True | ||
109 | 28 | |||
110 | 29 | |||
111 | 26 | class GroovyTestBcacheBug1718699(relbase.groovy, TestBcacheBug1718699): | 30 | class GroovyTestBcacheBug1718699(relbase.groovy, TestBcacheBug1718699): |
112 | 27 | __test__ = True | 31 | __test__ = True |
113 | 28 | 32 | ||
114 | diff --git a/tests/vmtests/test_bcache_ceph.py b/tests/vmtests/test_bcache_ceph.py | |||
115 | index bff4dd4..53e050c 100644 | |||
116 | --- a/tests/vmtests/test_bcache_ceph.py | |||
117 | +++ b/tests/vmtests/test_bcache_ceph.py | |||
118 | @@ -79,6 +79,10 @@ class FocalTestBcacheCeph(relbase.focal, TestBcacheCeph): | |||
119 | 79 | __test__ = True | 79 | __test__ = True |
120 | 80 | 80 | ||
121 | 81 | 81 | ||
122 | 82 | class HirsuteTestBcacheCeph(relbase.hirsute, TestBcacheCeph): | ||
123 | 83 | __test__ = True | ||
124 | 84 | |||
125 | 85 | |||
126 | 82 | class GroovyTestBcacheCeph(relbase.groovy, TestBcacheCeph): | 86 | class GroovyTestBcacheCeph(relbase.groovy, TestBcacheCeph): |
127 | 83 | __test__ = True | 87 | __test__ = True |
128 | 84 | 88 | ||
129 | @@ -109,6 +113,10 @@ class FocalTestBcacheCephLvm(relbase.focal, TestBcacheCephLvm): | |||
130 | 109 | __test__ = True | 113 | __test__ = True |
131 | 110 | 114 | ||
132 | 111 | 115 | ||
133 | 116 | class HirsuteTestBcacheCephLvm(relbase.hirsute, TestBcacheCephLvm): | ||
134 | 117 | __test__ = True | ||
135 | 118 | |||
136 | 119 | |||
137 | 112 | class GroovyTestBcacheCephLvm(relbase.groovy, TestBcacheCephLvm): | 120 | class GroovyTestBcacheCephLvm(relbase.groovy, TestBcacheCephLvm): |
138 | 113 | __test__ = True | 121 | __test__ = True |
139 | 114 | 122 | ||
140 | diff --git a/tests/vmtests/test_bcache_partitions.py b/tests/vmtests/test_bcache_partitions.py | |||
141 | index 1ffea12..a69d2ef 100644 | |||
142 | --- a/tests/vmtests/test_bcache_partitions.py | |||
143 | +++ b/tests/vmtests/test_bcache_partitions.py | |||
144 | @@ -29,6 +29,10 @@ class FocalTestBcachePartitions(relbase.focal, TestBcachePartitions): | |||
145 | 29 | __test__ = True | 29 | __test__ = True |
146 | 30 | 30 | ||
147 | 31 | 31 | ||
148 | 32 | class HirsuteTestBcachePartitions(relbase.hirsute, TestBcachePartitions): | ||
149 | 33 | __test__ = True | ||
150 | 34 | |||
151 | 35 | |||
152 | 32 | class GroovyTestBcachePartitions(relbase.groovy, TestBcachePartitions): | 36 | class GroovyTestBcachePartitions(relbase.groovy, TestBcachePartitions): |
153 | 33 | __test__ = True | 37 | __test__ = True |
154 | 34 | 38 | ||
155 | diff --git a/tests/vmtests/test_fs_battery.py b/tests/vmtests/test_fs_battery.py | |||
156 | index 7177fea..7d7b494 100644 | |||
157 | --- a/tests/vmtests/test_fs_battery.py | |||
158 | +++ b/tests/vmtests/test_fs_battery.py | |||
159 | @@ -243,6 +243,10 @@ class FocalTestFsBattery(relbase.focal, TestFsBattery): | |||
160 | 243 | __test__ = True | 243 | __test__ = True |
161 | 244 | 244 | ||
162 | 245 | 245 | ||
163 | 246 | class HirsuteTestFsBattery(relbase.hirsute, TestFsBattery): | ||
164 | 247 | __test__ = True | ||
165 | 248 | |||
166 | 249 | |||
167 | 246 | class GroovyTestFsBattery(relbase.groovy, TestFsBattery): | 250 | class GroovyTestFsBattery(relbase.groovy, TestFsBattery): |
168 | 247 | __test__ = True | 251 | __test__ = True |
169 | 248 | 252 | ||
170 | diff --git a/tests/vmtests/test_iscsi.py b/tests/vmtests/test_iscsi.py | |||
171 | index f3406cd..c46ac30 100644 | |||
172 | --- a/tests/vmtests/test_iscsi.py | |||
173 | +++ b/tests/vmtests/test_iscsi.py | |||
174 | @@ -76,6 +76,10 @@ class FocalTestIscsiBasic(relbase.focal, TestBasicIscsiAbs): | |||
175 | 76 | __test__ = True | 76 | __test__ = True |
176 | 77 | 77 | ||
177 | 78 | 78 | ||
178 | 79 | class HirsuteTestIscsiBasic(relbase.hirsute, TestBasicIscsiAbs): | ||
179 | 80 | __test__ = True | ||
180 | 81 | |||
181 | 82 | |||
182 | 79 | class GroovyTestIscsiBasic(relbase.groovy, TestBasicIscsiAbs): | 83 | class GroovyTestIscsiBasic(relbase.groovy, TestBasicIscsiAbs): |
183 | 80 | __test__ = True | 84 | __test__ = True |
184 | 81 | 85 | ||
185 | diff --git a/tests/vmtests/test_journald_reporter.py b/tests/vmtests/test_journald_reporter.py | |||
186 | index ff003a5..3979aa7 100644 | |||
187 | --- a/tests/vmtests/test_journald_reporter.py | |||
188 | +++ b/tests/vmtests/test_journald_reporter.py | |||
189 | @@ -36,6 +36,10 @@ class FocalTestJournaldReporter(relbase.focal, TestJournaldReporter): | |||
190 | 36 | __test__ = True | 36 | __test__ = True |
191 | 37 | 37 | ||
192 | 38 | 38 | ||
193 | 39 | class HirsuteTestJournaldReporter(relbase.hirsute, TestJournaldReporter): | ||
194 | 40 | __test__ = True | ||
195 | 41 | |||
196 | 42 | |||
197 | 39 | class GroovyTestJournaldReporter(relbase.groovy, TestJournaldReporter): | 43 | class GroovyTestJournaldReporter(relbase.groovy, TestJournaldReporter): |
198 | 40 | __test__ = True | 44 | __test__ = True |
199 | 41 | 45 | ||
200 | diff --git a/tests/vmtests/test_lvm.py b/tests/vmtests/test_lvm.py | |||
201 | index eb65c32..d169eeb 100644 | |||
202 | --- a/tests/vmtests/test_lvm.py | |||
203 | +++ b/tests/vmtests/test_lvm.py | |||
204 | @@ -81,6 +81,10 @@ class FocalTestLvm(relbase.focal, TestLvmAbs): | |||
205 | 81 | __test__ = True | 81 | __test__ = True |
206 | 82 | 82 | ||
207 | 83 | 83 | ||
208 | 84 | class HirsuteTestLvm(relbase.hirsute, TestLvmAbs): | ||
209 | 85 | __test__ = True | ||
210 | 86 | |||
211 | 87 | |||
212 | 84 | class GroovyTestLvm(relbase.groovy, TestLvmAbs): | 88 | class GroovyTestLvm(relbase.groovy, TestLvmAbs): |
213 | 85 | __test__ = True | 89 | __test__ = True |
214 | 86 | 90 | ||
215 | diff --git a/tests/vmtests/test_lvm_iscsi.py b/tests/vmtests/test_lvm_iscsi.py | |||
216 | index e0b9606..0cf020e 100644 | |||
217 | --- a/tests/vmtests/test_lvm_iscsi.py | |||
218 | +++ b/tests/vmtests/test_lvm_iscsi.py | |||
219 | @@ -99,6 +99,10 @@ class FocalTestIscsiLvm(relbase.focal, TestLvmIscsiAbs): | |||
220 | 99 | __test__ = True | 99 | __test__ = True |
221 | 100 | 100 | ||
222 | 101 | 101 | ||
223 | 102 | class HirsuteTestIscsiLvm(relbase.hirsute, TestLvmIscsiAbs): | ||
224 | 103 | __test__ = True | ||
225 | 104 | |||
226 | 105 | |||
227 | 102 | class GroovyTestIscsiLvm(relbase.groovy, TestLvmIscsiAbs): | 106 | class GroovyTestIscsiLvm(relbase.groovy, TestLvmIscsiAbs): |
228 | 103 | __test__ = True | 107 | __test__ = True |
229 | 104 | 108 | ||
230 | diff --git a/tests/vmtests/test_lvm_raid.py b/tests/vmtests/test_lvm_raid.py | |||
231 | index 5fe7993..3fe71a9 100644 | |||
232 | --- a/tests/vmtests/test_lvm_raid.py | |||
233 | +++ b/tests/vmtests/test_lvm_raid.py | |||
234 | @@ -59,5 +59,9 @@ class FocalTestLvmOverRaid(relbase.focal, TestLvmOverRaidAbs): | |||
235 | 59 | __test__ = True | 59 | __test__ = True |
236 | 60 | 60 | ||
237 | 61 | 61 | ||
238 | 62 | class HirsuteTestLvmOverRaid(relbase.hirsute, TestLvmOverRaidAbs): | ||
239 | 63 | __test__ = True | ||
240 | 64 | |||
241 | 65 | |||
242 | 62 | class GroovyTestLvmOverRaid(relbase.groovy, TestLvmOverRaidAbs): | 66 | class GroovyTestLvmOverRaid(relbase.groovy, TestLvmOverRaidAbs): |
243 | 63 | __test__ = True | 67 | __test__ = True |
244 | diff --git a/tests/vmtests/test_lvm_root.py b/tests/vmtests/test_lvm_root.py | |||
245 | index 12b8ea8..c910160 100644 | |||
246 | --- a/tests/vmtests/test_lvm_root.py | |||
247 | +++ b/tests/vmtests/test_lvm_root.py | |||
248 | @@ -94,6 +94,13 @@ class FocalTestLvmRootExt4(relbase.focal, TestLvmRootAbs): | |||
249 | 94 | } | 94 | } |
250 | 95 | 95 | ||
251 | 96 | 96 | ||
252 | 97 | class HirsuteTestLvmRootExt4(relbase.hirsute, TestLvmRootAbs): | ||
253 | 98 | __test__ = True | ||
254 | 99 | conf_replace = { | ||
255 | 100 | '__ROOTFS_FORMAT__': 'ext4', | ||
256 | 101 | } | ||
257 | 102 | |||
258 | 103 | |||
259 | 97 | class GroovyTestLvmRootExt4(relbase.groovy, TestLvmRootAbs): | 104 | class GroovyTestLvmRootExt4(relbase.groovy, TestLvmRootAbs): |
260 | 98 | __test__ = True | 105 | __test__ = True |
261 | 99 | conf_replace = { | 106 | conf_replace = { |
262 | @@ -147,6 +154,14 @@ class FocalTestUefiLvmRootExt4(relbase.focal, TestUefiLvmRootAbs): | |||
263 | 147 | } | 154 | } |
264 | 148 | 155 | ||
265 | 149 | 156 | ||
266 | 157 | class HirsuteTestUefiLvmRootExt4(relbase.hirsute, TestUefiLvmRootAbs): | ||
267 | 158 | __test__ = True | ||
268 | 159 | conf_replace = { | ||
269 | 160 | '__BOOTFS_FORMAT__': 'ext4', | ||
270 | 161 | '__ROOTFS_FORMAT__': 'ext4', | ||
271 | 162 | } | ||
272 | 163 | |||
273 | 164 | |||
274 | 150 | class GroovyTestUefiLvmRootExt4(relbase.groovy, TestUefiLvmRootAbs): | 165 | class GroovyTestUefiLvmRootExt4(relbase.groovy, TestUefiLvmRootAbs): |
275 | 151 | __test__ = True | 166 | __test__ = True |
276 | 152 | conf_replace = { | 167 | conf_replace = { |
277 | diff --git a/tests/vmtests/test_mdadm_bcache.py b/tests/vmtests/test_mdadm_bcache.py | |||
278 | index ce909f8..62f25e7 100644 | |||
279 | --- a/tests/vmtests/test_mdadm_bcache.py | |||
280 | +++ b/tests/vmtests/test_mdadm_bcache.py | |||
281 | @@ -158,6 +158,10 @@ class FocalTestMdadmBcache(relbase.focal, TestMdadmBcacheAbs): | |||
282 | 158 | __test__ = True | 158 | __test__ = True |
283 | 159 | 159 | ||
284 | 160 | 160 | ||
285 | 161 | class HirsuteTestMdadmBcache(relbase.hirsute, TestMdadmBcacheAbs): | ||
286 | 162 | __test__ = True | ||
287 | 163 | |||
288 | 164 | |||
289 | 161 | class GroovyTestMdadmBcache(relbase.groovy, TestMdadmBcacheAbs): | 165 | class GroovyTestMdadmBcache(relbase.groovy, TestMdadmBcacheAbs): |
290 | 162 | __test__ = True | 166 | __test__ = True |
291 | 163 | 167 | ||
292 | @@ -203,6 +207,10 @@ class FocalTestMirrorboot(relbase.focal, TestMirrorbootAbs): | |||
293 | 203 | __test__ = True | 207 | __test__ = True |
294 | 204 | 208 | ||
295 | 205 | 209 | ||
296 | 210 | class HirsuteTestMirrorboot(relbase.hirsute, TestMirrorbootAbs): | ||
297 | 211 | __test__ = True | ||
298 | 212 | |||
299 | 213 | |||
300 | 206 | class GroovyTestMirrorboot(relbase.groovy, TestMirrorbootAbs): | 214 | class GroovyTestMirrorboot(relbase.groovy, TestMirrorbootAbs): |
301 | 207 | __test__ = True | 215 | __test__ = True |
302 | 208 | 216 | ||
303 | @@ -252,6 +260,11 @@ class FocalTestMirrorbootPartitions(relbase.focal, | |||
304 | 252 | __test__ = True | 260 | __test__ = True |
305 | 253 | 261 | ||
306 | 254 | 262 | ||
307 | 263 | class HirsuteTestMirrorbootPartitions(relbase.hirsute, | ||
308 | 264 | TestMirrorbootPartitionsAbs): | ||
309 | 265 | __test__ = True | ||
310 | 266 | |||
311 | 267 | |||
312 | 255 | class GroovyTestMirrorbootPartitions(relbase.groovy, | 268 | class GroovyTestMirrorbootPartitions(relbase.groovy, |
313 | 256 | TestMirrorbootPartitionsAbs): | 269 | TestMirrorbootPartitionsAbs): |
314 | 257 | __test__ = True | 270 | __test__ = True |
315 | @@ -347,6 +360,11 @@ class FocalTestMirrorbootPartitionsUEFI(relbase.focal, | |||
316 | 347 | __test__ = True | 360 | __test__ = True |
317 | 348 | 361 | ||
318 | 349 | 362 | ||
319 | 363 | class HirsuteTestMirrorbootPartitionsUEFI(relbase.hirsute, | ||
320 | 364 | TestMirrorbootPartitionsUEFIAbs): | ||
321 | 365 | __test__ = True | ||
322 | 366 | |||
323 | 367 | |||
324 | 350 | class GroovyTestMirrorbootPartitionsUEFI(relbase.groovy, | 368 | class GroovyTestMirrorbootPartitionsUEFI(relbase.groovy, |
325 | 351 | TestMirrorbootPartitionsUEFIAbs): | 369 | TestMirrorbootPartitionsUEFIAbs): |
326 | 352 | __test__ = True | 370 | __test__ = True |
327 | @@ -396,6 +414,10 @@ class FocalTestRaid5boot(relbase.focal, TestRaid5bootAbs): | |||
328 | 396 | __test__ = True | 414 | __test__ = True |
329 | 397 | 415 | ||
330 | 398 | 416 | ||
331 | 417 | class HirsuteTestRaid5boot(relbase.hirsute, TestRaid5bootAbs): | ||
332 | 418 | __test__ = True | ||
333 | 419 | |||
334 | 420 | |||
335 | 399 | class GroovyTestRaid5boot(relbase.groovy, TestRaid5bootAbs): | 421 | class GroovyTestRaid5boot(relbase.groovy, TestRaid5bootAbs): |
336 | 400 | __test__ = True | 422 | __test__ = True |
337 | 401 | 423 | ||
338 | @@ -457,6 +479,10 @@ class FocalTestRaid6boot(relbase.focal, TestRaid6bootAbs): | |||
339 | 457 | __test__ = True | 479 | __test__ = True |
340 | 458 | 480 | ||
341 | 459 | 481 | ||
342 | 482 | class HirsuteTestRaid6boot(relbase.hirsute, TestRaid6bootAbs): | ||
343 | 483 | __test__ = True | ||
344 | 484 | |||
345 | 485 | |||
346 | 460 | class GroovyTestRaid6boot(relbase.groovy, TestRaid6bootAbs): | 486 | class GroovyTestRaid6boot(relbase.groovy, TestRaid6bootAbs): |
347 | 461 | __test__ = True | 487 | __test__ = True |
348 | 462 | 488 | ||
349 | @@ -504,6 +530,10 @@ class FocalTestRaid10boot(relbase.focal, TestRaid10bootAbs): | |||
350 | 504 | __test__ = True | 530 | __test__ = True |
351 | 505 | 531 | ||
352 | 506 | 532 | ||
353 | 533 | class HirsuteTestRaid10boot(relbase.hirsute, TestRaid10bootAbs): | ||
354 | 534 | __test__ = True | ||
355 | 535 | |||
356 | 536 | |||
357 | 507 | class GroovyTestRaid10boot(relbase.groovy, TestRaid10bootAbs): | 537 | class GroovyTestRaid10boot(relbase.groovy, TestRaid10bootAbs): |
358 | 508 | __test__ = True | 538 | __test__ = True |
359 | 509 | 539 | ||
360 | @@ -608,6 +638,10 @@ class FocalTestAllindata(relbase.focal, TestAllindataAbs): | |||
361 | 608 | __test__ = True | 638 | __test__ = True |
362 | 609 | 639 | ||
363 | 610 | 640 | ||
364 | 641 | class HirsuteTestAllindata(relbase.hirsute, TestAllindataAbs): | ||
365 | 642 | __test__ = True | ||
366 | 643 | |||
367 | 644 | |||
368 | 611 | class GroovyTestAllindata(relbase.groovy, TestAllindataAbs): | 645 | class GroovyTestAllindata(relbase.groovy, TestAllindataAbs): |
369 | 612 | __test__ = True | 646 | __test__ = True |
370 | 613 | 647 | ||
371 | diff --git a/tests/vmtests/test_mdadm_iscsi.py b/tests/vmtests/test_mdadm_iscsi.py | |||
372 | index 7e6fbf6..6ad6b72 100644 | |||
373 | --- a/tests/vmtests/test_mdadm_iscsi.py | |||
374 | +++ b/tests/vmtests/test_mdadm_iscsi.py | |||
375 | @@ -54,6 +54,10 @@ class FocalTestIscsiMdadm(relbase.focal, TestMdadmIscsiAbs): | |||
376 | 54 | __test__ = True | 54 | __test__ = True |
377 | 55 | 55 | ||
378 | 56 | 56 | ||
379 | 57 | class HirsuteTestIscsiMdadm(relbase.hirsute, TestMdadmIscsiAbs): | ||
380 | 58 | __test__ = True | ||
381 | 59 | |||
382 | 60 | |||
383 | 57 | class GroovyTestIscsiMdadm(relbase.groovy, TestMdadmIscsiAbs): | 61 | class GroovyTestIscsiMdadm(relbase.groovy, TestMdadmIscsiAbs): |
384 | 58 | __test__ = True | 62 | __test__ = True |
385 | 59 | 63 | ||
386 | diff --git a/tests/vmtests/test_multipath.py b/tests/vmtests/test_multipath.py | |||
387 | index 6d9c5df..f924d25 100644 | |||
388 | --- a/tests/vmtests/test_multipath.py | |||
389 | +++ b/tests/vmtests/test_multipath.py | |||
390 | @@ -162,6 +162,10 @@ class FocalTestMultipathBasic(relbase.focal, TestMultipathBasicAbs): | |||
391 | 162 | __test__ = True | 162 | __test__ = True |
392 | 163 | 163 | ||
393 | 164 | 164 | ||
394 | 165 | class HirsuteTestMultipathBasic(relbase.hirsute, TestMultipathBasicAbs): | ||
395 | 166 | __test__ = True | ||
396 | 167 | |||
397 | 168 | |||
398 | 165 | class GroovyTestMultipathBasic(relbase.groovy, TestMultipathBasicAbs): | 169 | class GroovyTestMultipathBasic(relbase.groovy, TestMultipathBasicAbs): |
399 | 166 | __test__ = True | 170 | __test__ = True |
400 | 167 | 171 | ||
401 | diff --git a/tests/vmtests/test_multipath_lvm.py b/tests/vmtests/test_multipath_lvm.py | |||
402 | index c5a1e42..f5f5537 100644 | |||
403 | --- a/tests/vmtests/test_multipath_lvm.py | |||
404 | +++ b/tests/vmtests/test_multipath_lvm.py | |||
405 | @@ -60,6 +60,10 @@ class FocalTestMultipathLvm(relbase.focal, TestMultipathLvmAbs): | |||
406 | 60 | __test__ = True | 60 | __test__ = True |
407 | 61 | 61 | ||
408 | 62 | 62 | ||
409 | 63 | class HirsuteTestMultipathLvm(relbase.hirsute, TestMultipathLvmAbs): | ||
410 | 64 | __test__ = True | ||
411 | 65 | |||
412 | 66 | |||
413 | 63 | class GroovyTestMultipathLvm(relbase.groovy, TestMultipathLvmAbs): | 67 | class GroovyTestMultipathLvm(relbase.groovy, TestMultipathLvmAbs): |
414 | 64 | __test__ = True | 68 | __test__ = True |
415 | 65 | 69 | ||
416 | @@ -73,6 +77,11 @@ class FocalTestMultipathLvmPartWipe(relbase.focal, | |||
417 | 73 | __test__ = True | 77 | __test__ = True |
418 | 74 | 78 | ||
419 | 75 | 79 | ||
420 | 80 | class HirsuteTestMultipathLvmPartWipe(relbase.hirsute, | ||
421 | 81 | TestMultipathLvmPartWipeAbs): | ||
422 | 82 | __test__ = True | ||
423 | 83 | |||
424 | 84 | |||
425 | 76 | class GroovyTestMultipathLvmPartWipe(relbase.groovy, | 85 | class GroovyTestMultipathLvmPartWipe(relbase.groovy, |
426 | 77 | TestMultipathLvmPartWipeAbs): | 86 | TestMultipathLvmPartWipeAbs): |
427 | 78 | __test__ = True | 87 | __test__ = True |
428 | diff --git a/tests/vmtests/test_network.py b/tests/vmtests/test_network.py | |||
429 | index 43a7c6b..db16bd4 100644 | |||
430 | --- a/tests/vmtests/test_network.py | |||
431 | +++ b/tests/vmtests/test_network.py | |||
432 | @@ -478,6 +478,10 @@ class FocalTestNetworkBasic(relbase.focal, TestNetworkBasicAbs): | |||
433 | 478 | __test__ = True | 478 | __test__ = True |
434 | 479 | 479 | ||
435 | 480 | 480 | ||
436 | 481 | class HirsuteTestNetworkBasic(relbase.hirsute, TestNetworkBasicAbs): | ||
437 | 482 | __test__ = True | ||
438 | 483 | |||
439 | 484 | |||
440 | 481 | class GroovyTestNetworkBasic(relbase.groovy, TestNetworkBasicAbs): | 485 | class GroovyTestNetworkBasic(relbase.groovy, TestNetworkBasicAbs): |
441 | 482 | __test__ = True | 486 | __test__ = True |
442 | 483 | 487 | ||
443 | diff --git a/tests/vmtests/test_network_alias.py b/tests/vmtests/test_network_alias.py | |||
444 | index bc1fb22..9f460fa 100644 | |||
445 | --- a/tests/vmtests/test_network_alias.py | |||
446 | +++ b/tests/vmtests/test_network_alias.py | |||
447 | @@ -56,6 +56,10 @@ class FocalTestNetworkAlias(relbase.focal, TestNetworkAliasAbs): | |||
448 | 56 | __test__ = True | 56 | __test__ = True |
449 | 57 | 57 | ||
450 | 58 | 58 | ||
451 | 59 | class HirsuteTestNetworkAlias(relbase.hirsute, TestNetworkAliasAbs): | ||
452 | 60 | __test__ = True | ||
453 | 61 | |||
454 | 62 | |||
455 | 59 | class GroovyTestNetworkAlias(relbase.groovy, TestNetworkAliasAbs): | 63 | class GroovyTestNetworkAlias(relbase.groovy, TestNetworkAliasAbs): |
456 | 60 | __test__ = True | 64 | __test__ = True |
457 | 61 | 65 | ||
458 | diff --git a/tests/vmtests/test_network_bonding.py b/tests/vmtests/test_network_bonding.py | |||
459 | index 6c6dd6d..f58065d 100644 | |||
460 | --- a/tests/vmtests/test_network_bonding.py | |||
461 | +++ b/tests/vmtests/test_network_bonding.py | |||
462 | @@ -61,6 +61,10 @@ class FocalTestBonding(relbase.focal, TestNetworkBondingAbs): | |||
463 | 61 | __test__ = True | 61 | __test__ = True |
464 | 62 | 62 | ||
465 | 63 | 63 | ||
466 | 64 | class HirsuteTestBonding(relbase.hirsute, TestNetworkBondingAbs): | ||
467 | 65 | __test__ = True | ||
468 | 66 | |||
469 | 67 | |||
470 | 64 | class GroovyTestBonding(relbase.groovy, TestNetworkBondingAbs): | 68 | class GroovyTestBonding(relbase.groovy, TestNetworkBondingAbs): |
471 | 65 | __test__ = True | 69 | __test__ = True |
472 | 66 | 70 | ||
473 | diff --git a/tests/vmtests/test_network_bridging.py b/tests/vmtests/test_network_bridging.py | |||
474 | index 9ecd2f6..b0d5962 100644 | |||
475 | --- a/tests/vmtests/test_network_bridging.py | |||
476 | +++ b/tests/vmtests/test_network_bridging.py | |||
477 | @@ -240,6 +240,10 @@ class FocalTestBridging(relbase.focal, TestBridgeNetworkAbs): | |||
478 | 240 | __test__ = True | 240 | __test__ = True |
479 | 241 | 241 | ||
480 | 242 | 242 | ||
481 | 243 | class HirsuteTestBridging(relbase.hirsute, TestBridgeNetworkAbs): | ||
482 | 244 | __test__ = True | ||
483 | 245 | |||
484 | 246 | |||
485 | 243 | class GroovyTestBridging(relbase.groovy, TestBridgeNetworkAbs): | 247 | class GroovyTestBridging(relbase.groovy, TestBridgeNetworkAbs): |
486 | 244 | __test__ = True | 248 | __test__ = True |
487 | 245 | 249 | ||
488 | diff --git a/tests/vmtests/test_network_disabled.py b/tests/vmtests/test_network_disabled.py | |||
489 | index ea8dae2..9079f8e 100644 | |||
490 | --- a/tests/vmtests/test_network_disabled.py | |||
491 | +++ b/tests/vmtests/test_network_disabled.py | |||
492 | @@ -33,6 +33,9 @@ class CurtinDisableNetworkRendering(TestNetworkBaseTestsAbs): | |||
493 | 33 | raise SkipTest('not available on %s' % self.__class__) | 33 | raise SkipTest('not available on %s' % self.__class__) |
494 | 34 | 34 | ||
495 | 35 | 35 | ||
496 | 36 | TestKlass1 = CurtinDisableNetworkRendering | ||
497 | 37 | |||
498 | 38 | |||
499 | 36 | class CurtinDisableCloudInitNetworking(TestNetworkBaseTestsAbs): | 39 | class CurtinDisableCloudInitNetworking(TestNetworkBaseTestsAbs): |
500 | 37 | """ Test curtin can disable cloud-init networking in the target system """ | 40 | """ Test curtin can disable cloud-init networking in the target system """ |
501 | 38 | conf_file = "examples/tests/network_config_disabled.yaml" | 41 | conf_file = "examples/tests/network_config_disabled.yaml" |
502 | @@ -44,45 +47,53 @@ class CurtinDisableCloudInitNetworking(TestNetworkBaseTestsAbs): | |||
503 | 44 | raise SkipTest('not available on %s' % self.__class__) | 47 | raise SkipTest('not available on %s' % self.__class__) |
504 | 45 | 48 | ||
505 | 46 | 49 | ||
509 | 47 | class CurtinDisableCloudInitNetworkingVersion1( | 50 | TestKlass2 = CurtinDisableCloudInitNetworking |
510 | 48 | CurtinDisableCloudInitNetworking | 51 | |
511 | 49 | ): | 52 | |
512 | 53 | class CurtinDisableCloudInitNetworkingVersion1(TestKlass2): | ||
513 | 50 | """ Test curtin can disable cloud-init networking in the target system | 54 | """ Test curtin can disable cloud-init networking in the target system |
514 | 51 | with version key. """ | 55 | with version key. """ |
515 | 52 | conf_file = "examples/tests/network_config_disabled_with_version.yaml" | 56 | conf_file = "examples/tests/network_config_disabled_with_version.yaml" |
516 | 53 | 57 | ||
517 | 54 | 58 | ||
520 | 55 | class FocalCurtinDisableNetworkRendering(relbase.focal, | 59 | TestKlass3 = CurtinDisableCloudInitNetworkingVersion1 |
521 | 56 | CurtinDisableNetworkRendering): | 60 | |
522 | 61 | |||
523 | 62 | class FocalCurtinDisableNetworkRendering(relbase.focal, TestKlass1): | ||
524 | 63 | __test__ = True | ||
525 | 64 | |||
526 | 65 | |||
527 | 66 | class HirsuteCurtinDisableNetworkRendering(relbase.hirsute, TestKlass1): | ||
528 | 67 | __test__ = True | ||
529 | 68 | |||
530 | 69 | |||
531 | 70 | class GroovyCurtinDisableNetworkRendering(relbase.groovy, TestKlass1): | ||
532 | 71 | __test__ = True | ||
533 | 72 | |||
534 | 73 | |||
535 | 74 | class FocalCurtinDisableCloudInitNetworking(relbase.focal, TestKlass2): | ||
536 | 57 | __test__ = True | 75 | __test__ = True |
537 | 58 | 76 | ||
538 | 59 | 77 | ||
541 | 60 | class GroovyCurtinDisableNetworkRendering(relbase.groovy, | 78 | class HirsuteCurtinDisableCloudInitNetworking(relbase.hirsute, TestKlass2): |
540 | 61 | CurtinDisableNetworkRendering): | ||
542 | 62 | __test__ = True | 79 | __test__ = True |
543 | 63 | 80 | ||
544 | 64 | 81 | ||
549 | 65 | class FocalCurtinDisableCloudInitNetworkingVersion1( | 82 | class GroovyCurtinDisableCloudInitNetworking(relbase.groovy, TestKlass2): |
546 | 66 | relbase.focal, | ||
547 | 67 | CurtinDisableCloudInitNetworkingVersion1 | ||
548 | 68 | ): | ||
550 | 69 | __test__ = True | 83 | __test__ = True |
551 | 70 | 84 | ||
552 | 71 | 85 | ||
557 | 72 | class GroovyCurtinDisableCloudInitNetworkingVersion1( | 86 | class FocalCurtinDisableCloudInitNetworkingVersion1(relbase.focal, TestKlass3): |
554 | 73 | relbase.groovy, | ||
555 | 74 | CurtinDisableCloudInitNetworkingVersion1 | ||
556 | 75 | ): | ||
558 | 76 | __test__ = True | 87 | __test__ = True |
559 | 77 | 88 | ||
560 | 78 | 89 | ||
563 | 79 | class FocalCurtinDisableCloudInitNetworking(relbase.focal, | 90 | class HirsuteCurtinDisableCloudInitNetworkingVersion1(relbase.hirsute, |
564 | 80 | CurtinDisableCloudInitNetworking): | 91 | TestKlass3): |
565 | 81 | __test__ = True | 92 | __test__ = True |
566 | 82 | 93 | ||
567 | 83 | 94 | ||
570 | 84 | class GroovyCurtinDisableCloudInitNetworking(relbase.groovy, | 95 | class GroovyCurtinDisableCloudInitNetworkingVersion1(relbase.groovy, |
571 | 85 | CurtinDisableCloudInitNetworking): | 96 | TestKlass3): |
572 | 86 | __test__ = True | 97 | __test__ = True |
573 | 87 | 98 | ||
574 | 88 | 99 | ||
575 | diff --git a/tests/vmtests/test_network_ipv6_static.py b/tests/vmtests/test_network_ipv6_static.py | |||
576 | index 28ff697..c3e5b5a 100644 | |||
577 | --- a/tests/vmtests/test_network_ipv6_static.py | |||
578 | +++ b/tests/vmtests/test_network_ipv6_static.py | |||
579 | @@ -27,6 +27,10 @@ class FocalTestNetworkIPV6Static(relbase.focal, TestNetworkIPV6StaticAbs): | |||
580 | 27 | __test__ = True | 27 | __test__ = True |
581 | 28 | 28 | ||
582 | 29 | 29 | ||
583 | 30 | class HirsuteTestNetworkIPV6Static(relbase.hirsute, TestNetworkIPV6StaticAbs): | ||
584 | 31 | __test__ = True | ||
585 | 32 | |||
586 | 33 | |||
587 | 30 | class GroovyTestNetworkIPV6Static(relbase.groovy, TestNetworkIPV6StaticAbs): | 34 | class GroovyTestNetworkIPV6Static(relbase.groovy, TestNetworkIPV6StaticAbs): |
588 | 31 | __test__ = True | 35 | __test__ = True |
589 | 32 | 36 | ||
590 | diff --git a/tests/vmtests/test_network_ipv6_vlan.py b/tests/vmtests/test_network_ipv6_vlan.py | |||
591 | index 226f52e..96c056b 100644 | |||
592 | --- a/tests/vmtests/test_network_ipv6_vlan.py | |||
593 | +++ b/tests/vmtests/test_network_ipv6_vlan.py | |||
594 | @@ -26,6 +26,10 @@ class FocalTestNetworkIPV6Vlan(relbase.focal, TestNetworkIPV6VlanAbs): | |||
595 | 26 | __test__ = True | 26 | __test__ = True |
596 | 27 | 27 | ||
597 | 28 | 28 | ||
598 | 29 | class HirsuteTestNetworkIPV6Vlan(relbase.hirsute, TestNetworkIPV6VlanAbs): | ||
599 | 30 | __test__ = True | ||
600 | 31 | |||
601 | 32 | |||
602 | 29 | class GroovyTestNetworkIPV6Vlan(relbase.groovy, TestNetworkIPV6VlanAbs): | 33 | class GroovyTestNetworkIPV6Vlan(relbase.groovy, TestNetworkIPV6VlanAbs): |
603 | 30 | __test__ = True | 34 | __test__ = True |
604 | 31 | 35 | ||
605 | diff --git a/tests/vmtests/test_network_mtu.py b/tests/vmtests/test_network_mtu.py | |||
606 | index c70b9e0..8e6e57c 100644 | |||
607 | --- a/tests/vmtests/test_network_mtu.py | |||
608 | +++ b/tests/vmtests/test_network_mtu.py | |||
609 | @@ -193,6 +193,10 @@ class FocalTestNetworkMtu(relbase.focal, TestNetworkMtuNetworkdAbs): | |||
610 | 193 | __test__ = True | 193 | __test__ = True |
611 | 194 | 194 | ||
612 | 195 | 195 | ||
613 | 196 | class HirsuteTestNetworkMtu(relbase.hirsute, TestNetworkMtuNetworkdAbs): | ||
614 | 197 | __test__ = True | ||
615 | 198 | |||
616 | 199 | |||
617 | 196 | class GroovyTestNetworkMtu(relbase.groovy, TestNetworkMtuNetworkdAbs): | 200 | class GroovyTestNetworkMtu(relbase.groovy, TestNetworkMtuNetworkdAbs): |
618 | 197 | __test__ = True | 201 | __test__ = True |
619 | 198 | 202 | ||
620 | diff --git a/tests/vmtests/test_network_ovs.py b/tests/vmtests/test_network_ovs.py | |||
621 | index 0cee17e..a32d637 100644 | |||
622 | --- a/tests/vmtests/test_network_ovs.py | |||
623 | +++ b/tests/vmtests/test_network_ovs.py | |||
624 | @@ -38,6 +38,10 @@ class FocalTestNetworkOvs(relbase.focal, TestNetworkOvsAbs): | |||
625 | 38 | __test__ = True | 38 | __test__ = True |
626 | 39 | 39 | ||
627 | 40 | 40 | ||
628 | 41 | class HirsuteTestNetworkOvs(relbase.hirsute, TestNetworkOvsAbs): | ||
629 | 42 | __test__ = True | ||
630 | 43 | |||
631 | 44 | |||
632 | 41 | class GroovyTestNetworkOvs(relbase.groovy, TestNetworkOvsAbs): | 45 | class GroovyTestNetworkOvs(relbase.groovy, TestNetworkOvsAbs): |
633 | 42 | __test__ = True | 46 | __test__ = True |
634 | 43 | 47 | ||
635 | diff --git a/tests/vmtests/test_network_static.py b/tests/vmtests/test_network_static.py | |||
636 | index e0abd54..abcbb75 100644 | |||
637 | --- a/tests/vmtests/test_network_static.py | |||
638 | +++ b/tests/vmtests/test_network_static.py | |||
639 | @@ -32,6 +32,10 @@ class FocalTestNetworkStatic(relbase.focal, TestNetworkStaticAbs): | |||
640 | 32 | __test__ = True | 32 | __test__ = True |
641 | 33 | 33 | ||
642 | 34 | 34 | ||
643 | 35 | class HirsuteTestNetworkStatic(relbase.hirsute, TestNetworkStaticAbs): | ||
644 | 36 | __test__ = True | ||
645 | 37 | |||
646 | 38 | |||
647 | 35 | class GroovyTestNetworkStatic(relbase.groovy, TestNetworkStaticAbs): | 39 | class GroovyTestNetworkStatic(relbase.groovy, TestNetworkStaticAbs): |
648 | 36 | __test__ = True | 40 | __test__ = True |
649 | 37 | 41 | ||
650 | diff --git a/tests/vmtests/test_network_static_routes.py b/tests/vmtests/test_network_static_routes.py | |||
651 | index f99d9d5..e158f9a 100644 | |||
652 | --- a/tests/vmtests/test_network_static_routes.py | |||
653 | +++ b/tests/vmtests/test_network_static_routes.py | |||
654 | @@ -33,6 +33,11 @@ class FocalTestNetworkStaticRoutes(relbase.focal, | |||
655 | 33 | __test__ = True | 33 | __test__ = True |
656 | 34 | 34 | ||
657 | 35 | 35 | ||
658 | 36 | class HirsuteTestNetworkStaticRoutes(relbase.hirsute, | ||
659 | 37 | TestNetworkStaticRoutesAbs): | ||
660 | 38 | __test__ = True | ||
661 | 39 | |||
662 | 40 | |||
663 | 36 | class GroovyTestNetworkStaticRoutes(relbase.groovy, | 41 | class GroovyTestNetworkStaticRoutes(relbase.groovy, |
664 | 37 | TestNetworkStaticRoutesAbs): | 42 | TestNetworkStaticRoutesAbs): |
665 | 38 | __test__ = True | 43 | __test__ = True |
666 | diff --git a/tests/vmtests/test_network_vlan.py b/tests/vmtests/test_network_vlan.py | |||
667 | index 691ba83..af52af0 100644 | |||
668 | --- a/tests/vmtests/test_network_vlan.py | |||
669 | +++ b/tests/vmtests/test_network_vlan.py | |||
670 | @@ -83,6 +83,13 @@ class FocalTestNetworkVlan(relbase.focal, TestNetworkVlanAbs): | |||
671 | 83 | return super().test_ip_output() | 83 | return super().test_ip_output() |
672 | 84 | 84 | ||
673 | 85 | 85 | ||
674 | 86 | class HirsuteTestNetworkVlan(relbase.hirsute, TestNetworkVlanAbs): | ||
675 | 87 | __test__ = True | ||
676 | 88 | |||
677 | 89 | def test_ip_output(self): | ||
678 | 90 | return super().test_ip_output() | ||
679 | 91 | |||
680 | 92 | |||
681 | 86 | class GroovyTestNetworkVlan(relbase.groovy, TestNetworkVlanAbs): | 93 | class GroovyTestNetworkVlan(relbase.groovy, TestNetworkVlanAbs): |
682 | 87 | __test__ = True | 94 | __test__ = True |
683 | 88 | 95 | ||
684 | diff --git a/tests/vmtests/test_nvme.py b/tests/vmtests/test_nvme.py | |||
685 | index 39f9f3c..9531a80 100644 | |||
686 | --- a/tests/vmtests/test_nvme.py | |||
687 | +++ b/tests/vmtests/test_nvme.py | |||
688 | @@ -143,6 +143,10 @@ class FocalTestNvmeBcache(relbase.focal, TestNvmeBcacheAbs): | |||
689 | 143 | __test__ = True | 143 | __test__ = True |
690 | 144 | 144 | ||
691 | 145 | 145 | ||
692 | 146 | class HirsuteTestNvmeBcache(relbase.hirsute, TestNvmeBcacheAbs): | ||
693 | 147 | __test__ = True | ||
694 | 148 | |||
695 | 149 | |||
696 | 146 | class GroovyTestNvmeBcache(relbase.groovy, TestNvmeBcacheAbs): | 150 | class GroovyTestNvmeBcache(relbase.groovy, TestNvmeBcacheAbs): |
697 | 147 | __test__ = True | 151 | __test__ = True |
698 | 148 | 152 | ||
699 | diff --git a/tests/vmtests/test_panic.py b/tests/vmtests/test_panic.py | |||
700 | index 7b1fdbe..e841f2a 100644 | |||
701 | --- a/tests/vmtests/test_panic.py | |||
702 | +++ b/tests/vmtests/test_panic.py | |||
703 | @@ -29,6 +29,10 @@ class FocalTestInstallPanic(relbase.focal, TestInstallPanic): | |||
704 | 29 | __test__ = True | 29 | __test__ = True |
705 | 30 | 30 | ||
706 | 31 | 31 | ||
707 | 32 | class HirsuteTestInstallPanic(relbase.hirsute, TestInstallPanic): | ||
708 | 33 | __test__ = True | ||
709 | 34 | |||
710 | 35 | |||
711 | 32 | class GroovyTestInstallPanic(relbase.groovy, TestInstallPanic): | 36 | class GroovyTestInstallPanic(relbase.groovy, TestInstallPanic): |
712 | 33 | __test__ = True | 37 | __test__ = True |
713 | 34 | 38 | ||
714 | diff --git a/tests/vmtests/test_pollinate_useragent.py b/tests/vmtests/test_pollinate_useragent.py | |||
715 | index ed14719..4aeefd8 100644 | |||
716 | --- a/tests/vmtests/test_pollinate_useragent.py | |||
717 | +++ b/tests/vmtests/test_pollinate_useragent.py | |||
718 | @@ -65,6 +65,10 @@ class FocalTestPollinateUserAgent(relbase.focal, TestPollinateUserAgent): | |||
719 | 65 | __test__ = True | 65 | __test__ = True |
720 | 66 | 66 | ||
721 | 67 | 67 | ||
722 | 68 | class HirsuteTestPollinateUserAgent(relbase.hirsute, TestPollinateUserAgent): | ||
723 | 69 | __test__ = True | ||
724 | 70 | |||
725 | 71 | |||
726 | 68 | class GroovyTestPollinateUserAgent(relbase.groovy, TestPollinateUserAgent): | 72 | class GroovyTestPollinateUserAgent(relbase.groovy, TestPollinateUserAgent): |
727 | 69 | __test__ = True | 73 | __test__ = True |
728 | 70 | 74 | ||
729 | diff --git a/tests/vmtests/test_preserve.py b/tests/vmtests/test_preserve.py | |||
730 | index 998218c..28dd34f 100644 | |||
731 | --- a/tests/vmtests/test_preserve.py | |||
732 | +++ b/tests/vmtests/test_preserve.py | |||
733 | @@ -29,6 +29,10 @@ class FocalTestPreserve(relbase.focal, TestPreserve): | |||
734 | 29 | __test__ = True | 29 | __test__ = True |
735 | 30 | 30 | ||
736 | 31 | 31 | ||
737 | 32 | class HirsuteTestPreserve(relbase.hirsute, TestPreserve): | ||
738 | 33 | __test__ = True | ||
739 | 34 | |||
740 | 35 | |||
741 | 32 | class GroovyTestPreserve(relbase.groovy, TestPreserve): | 36 | class GroovyTestPreserve(relbase.groovy, TestPreserve): |
742 | 33 | __test__ = True | 37 | __test__ = True |
743 | 34 | 38 | ||
744 | diff --git a/tests/vmtests/test_preserve_bcache.py b/tests/vmtests/test_preserve_bcache.py | |||
745 | index bd91c5a..2e6b412 100644 | |||
746 | --- a/tests/vmtests/test_preserve_bcache.py | |||
747 | +++ b/tests/vmtests/test_preserve_bcache.py | |||
748 | @@ -60,6 +60,10 @@ class FocalTestPreserveBcache(relbase.focal, TestPreserveBcache): | |||
749 | 60 | __test__ = True | 60 | __test__ = True |
750 | 61 | 61 | ||
751 | 62 | 62 | ||
752 | 63 | class HirsuteTestPreserveBcache(relbase.hirsute, TestPreserveBcache): | ||
753 | 64 | __test__ = True | ||
754 | 65 | |||
755 | 66 | |||
756 | 63 | class GroovyTestPreserveBcache(relbase.groovy, TestPreserveBcache): | 67 | class GroovyTestPreserveBcache(relbase.groovy, TestPreserveBcache): |
757 | 64 | __test__ = True | 68 | __test__ = True |
758 | 65 | 69 | ||
759 | diff --git a/tests/vmtests/test_preserve_lvm.py b/tests/vmtests/test_preserve_lvm.py | |||
760 | index 0ed7ad4..274e9c6 100644 | |||
761 | --- a/tests/vmtests/test_preserve_lvm.py | |||
762 | +++ b/tests/vmtests/test_preserve_lvm.py | |||
763 | @@ -73,6 +73,10 @@ class FocalTestLvmPreserve(relbase.focal, TestLvmPreserveAbs): | |||
764 | 73 | __test__ = True | 73 | __test__ = True |
765 | 74 | 74 | ||
766 | 75 | 75 | ||
767 | 76 | class HirsuteTestLvmPreserve(relbase.hirsute, TestLvmPreserveAbs): | ||
768 | 77 | __test__ = True | ||
769 | 78 | |||
770 | 79 | |||
771 | 76 | class GroovyTestLvmPreserve(relbase.groovy, TestLvmPreserveAbs): | 80 | class GroovyTestLvmPreserve(relbase.groovy, TestLvmPreserveAbs): |
772 | 77 | __test__ = True | 81 | __test__ = True |
773 | 78 | 82 | ||
774 | diff --git a/tests/vmtests/test_preserve_partition_wipe_vg.py b/tests/vmtests/test_preserve_partition_wipe_vg.py | |||
775 | index 58b1f65..2469615 100644 | |||
776 | --- a/tests/vmtests/test_preserve_partition_wipe_vg.py | |||
777 | +++ b/tests/vmtests/test_preserve_partition_wipe_vg.py | |||
778 | @@ -29,6 +29,10 @@ class FocalTestPreserveWipeLvm(relbase.focal, TestPreserveWipeLvm): | |||
779 | 29 | __test__ = True | 29 | __test__ = True |
780 | 30 | 30 | ||
781 | 31 | 31 | ||
782 | 32 | class HirsuteTestPreserveWipeLvm(relbase.hirsute, TestPreserveWipeLvm): | ||
783 | 33 | __test__ = True | ||
784 | 34 | |||
785 | 35 | |||
786 | 32 | class GroovyTestPreserveWipeLvm(relbase.groovy, TestPreserveWipeLvm): | 36 | class GroovyTestPreserveWipeLvm(relbase.groovy, TestPreserveWipeLvm): |
787 | 33 | __test__ = True | 37 | __test__ = True |
788 | 34 | 38 | ||
789 | @@ -52,6 +56,11 @@ class FocalTestPreserveWipeLvmSimple(relbase.focal, TestPreserveWipeLvmSimple): | |||
790 | 52 | __test__ = True | 56 | __test__ = True |
791 | 53 | 57 | ||
792 | 54 | 58 | ||
793 | 59 | class HirsuteTestPreserveWipeLvmSimple(relbase.hirsute, | ||
794 | 60 | TestPreserveWipeLvmSimple): | ||
795 | 61 | __test__ = True | ||
796 | 62 | |||
797 | 63 | |||
798 | 55 | class GroovyTestPreserveWipeLvmSimple(relbase.groovy, | 64 | class GroovyTestPreserveWipeLvmSimple(relbase.groovy, |
799 | 56 | TestPreserveWipeLvmSimple): | 65 | TestPreserveWipeLvmSimple): |
800 | 57 | __test__ = True | 66 | __test__ = True |
801 | diff --git a/tests/vmtests/test_preserve_raid.py b/tests/vmtests/test_preserve_raid.py | |||
802 | index 15f2f50..7fc6daa 100644 | |||
803 | --- a/tests/vmtests/test_preserve_raid.py | |||
804 | +++ b/tests/vmtests/test_preserve_raid.py | |||
805 | @@ -29,6 +29,10 @@ class FocalTestPreserveRAID(relbase.focal, TestPreserveRAID): | |||
806 | 29 | __test__ = True | 29 | __test__ = True |
807 | 30 | 30 | ||
808 | 31 | 31 | ||
809 | 32 | class HirsuteTestPreserveRAID(relbase.hirsute, TestPreserveRAID): | ||
810 | 33 | __test__ = True | ||
811 | 34 | |||
812 | 35 | |||
813 | 32 | class GroovyTestPreserveRAID(relbase.groovy, TestPreserveRAID): | 36 | class GroovyTestPreserveRAID(relbase.groovy, TestPreserveRAID): |
814 | 33 | __test__ = True | 37 | __test__ = True |
815 | 34 | 38 | ||
816 | diff --git a/tests/vmtests/test_raid5_bcache.py b/tests/vmtests/test_raid5_bcache.py | |||
817 | index 12c1878..493c0fd 100644 | |||
818 | --- a/tests/vmtests/test_raid5_bcache.py | |||
819 | +++ b/tests/vmtests/test_raid5_bcache.py | |||
820 | @@ -92,6 +92,10 @@ class FocalTestRaid5Bcache(relbase.focal, TestMdadmBcacheAbs): | |||
821 | 92 | __test__ = True | 92 | __test__ = True |
822 | 93 | 93 | ||
823 | 94 | 94 | ||
824 | 95 | class HirsuteTestRaid5Bcache(relbase.hirsute, TestMdadmBcacheAbs): | ||
825 | 96 | __test__ = True | ||
826 | 97 | |||
827 | 98 | |||
828 | 95 | class GroovyTestRaid5Bcache(relbase.groovy, TestMdadmBcacheAbs): | 99 | class GroovyTestRaid5Bcache(relbase.groovy, TestMdadmBcacheAbs): |
829 | 96 | __test__ = True | 100 | __test__ = True |
830 | 97 | 101 | ||
831 | diff --git a/tests/vmtests/test_raid_partition_to_disk.py b/tests/vmtests/test_raid_partition_to_disk.py | |||
832 | index 4635713..aaa73f2 100644 | |||
833 | --- a/tests/vmtests/test_raid_partition_to_disk.py | |||
834 | +++ b/tests/vmtests/test_raid_partition_to_disk.py | |||
835 | @@ -22,6 +22,10 @@ class FocalTestRAIDPartitionToDisk(relbase.focal, TestRAIDPartitionToDisk): | |||
836 | 22 | __test__ = True | 22 | __test__ = True |
837 | 23 | 23 | ||
838 | 24 | 24 | ||
839 | 25 | class HirsuteTestRAIDPartitionToDisk(relbase.hirsute, TestRAIDPartitionToDisk): | ||
840 | 26 | __test__ = True | ||
841 | 27 | |||
842 | 28 | |||
843 | 25 | class GroovyTestRAIDPartitionToDisk(relbase.groovy, TestRAIDPartitionToDisk): | 29 | class GroovyTestRAIDPartitionToDisk(relbase.groovy, TestRAIDPartitionToDisk): |
844 | 26 | __test__ = True | 30 | __test__ = True |
845 | 27 | 31 | ||
846 | diff --git a/tests/vmtests/test_reuse_lvm_member.py b/tests/vmtests/test_reuse_lvm_member.py | |||
847 | index 87afcfb..eba3d1b 100644 | |||
848 | --- a/tests/vmtests/test_reuse_lvm_member.py | |||
849 | +++ b/tests/vmtests/test_reuse_lvm_member.py | |||
850 | @@ -26,6 +26,11 @@ class FocalTestReuseLVMMemberPartition(relbase.focal, | |||
851 | 26 | __test__ = True | 26 | __test__ = True |
852 | 27 | 27 | ||
853 | 28 | 28 | ||
854 | 29 | class HirsuteTestReuseLVMMemberPartition(relbase.hirsute, | ||
855 | 30 | TestReuseLVMMemberPartition): | ||
856 | 31 | __test__ = True | ||
857 | 32 | |||
858 | 33 | |||
859 | 29 | class GroovyTestReuseLVMMemberPartition(relbase.groovy, | 34 | class GroovyTestReuseLVMMemberPartition(relbase.groovy, |
860 | 30 | TestReuseLVMMemberPartition): | 35 | TestReuseLVMMemberPartition): |
861 | 31 | __test__ = True | 36 | __test__ = True |
862 | diff --git a/tests/vmtests/test_reuse_msdos_partitions.py b/tests/vmtests/test_reuse_msdos_partitions.py | |||
863 | index 9f18d3c..77431bf 100644 | |||
864 | --- a/tests/vmtests/test_reuse_msdos_partitions.py | |||
865 | +++ b/tests/vmtests/test_reuse_msdos_partitions.py | |||
866 | @@ -23,6 +23,11 @@ class FocalTestReuseMSDOSPartitions(relbase.focal, | |||
867 | 23 | __test__ = True | 23 | __test__ = True |
868 | 24 | 24 | ||
869 | 25 | 25 | ||
870 | 26 | class HirsuteTestReuseMSDOSPartitions(relbase.hirsute, | ||
871 | 27 | TestReuseMSDOSPartitions): | ||
872 | 28 | __test__ = True | ||
873 | 29 | |||
874 | 30 | |||
875 | 26 | class GroovyTestReuseMSDOSPartitions(relbase.groovy, | 31 | class GroovyTestReuseMSDOSPartitions(relbase.groovy, |
876 | 27 | TestReuseMSDOSPartitions): | 32 | TestReuseMSDOSPartitions): |
877 | 28 | __test__ = True | 33 | __test__ = True |
878 | diff --git a/tests/vmtests/test_reuse_raid_member.py b/tests/vmtests/test_reuse_raid_member.py | |||
879 | index 7be98f3..e3723e8 100644 | |||
880 | --- a/tests/vmtests/test_reuse_raid_member.py | |||
881 | +++ b/tests/vmtests/test_reuse_raid_member.py | |||
882 | @@ -32,6 +32,10 @@ class FocalTestReuseRAIDMember(relbase.focal, TestReuseRAIDMember): | |||
883 | 32 | __test__ = True | 32 | __test__ = True |
884 | 33 | 33 | ||
885 | 34 | 34 | ||
886 | 35 | class HirsuteTestReuseRAIDMember(relbase.hirsute, TestReuseRAIDMember): | ||
887 | 36 | __test__ = True | ||
888 | 37 | |||
889 | 38 | |||
890 | 35 | class GroovyTestReuseRAIDMember(relbase.groovy, TestReuseRAIDMember): | 39 | class GroovyTestReuseRAIDMember(relbase.groovy, TestReuseRAIDMember): |
891 | 36 | __test__ = True | 40 | __test__ = True |
892 | 37 | 41 | ||
893 | @@ -46,6 +50,11 @@ class FocalTestReuseRAIDMemberPartition(relbase.focal, | |||
894 | 46 | __test__ = True | 50 | __test__ = True |
895 | 47 | 51 | ||
896 | 48 | 52 | ||
897 | 53 | class HirsuteTestReuseRAIDMemberPartition(relbase.hirsute, | ||
898 | 54 | TestReuseRAIDMemberPartition): | ||
899 | 55 | __test__ = True | ||
900 | 56 | |||
901 | 57 | |||
902 | 49 | class GroovyTestReuseRAIDMemberPartition(relbase.groovy, | 58 | class GroovyTestReuseRAIDMemberPartition(relbase.groovy, |
903 | 50 | TestReuseRAIDMemberPartition): | 59 | TestReuseRAIDMemberPartition): |
904 | 51 | __test__ = True | 60 | __test__ = True |
905 | diff --git a/tests/vmtests/test_reuse_uefi_esp.py b/tests/vmtests/test_reuse_uefi_esp.py | |||
906 | index 46e7ac7..46f3a57 100644 | |||
907 | --- a/tests/vmtests/test_reuse_uefi_esp.py | |||
908 | +++ b/tests/vmtests/test_reuse_uefi_esp.py | |||
909 | @@ -42,6 +42,13 @@ class FocalTestUefiReuseEsp(relbase.focal, TestUefiReuseEspAbs): | |||
910 | 42 | return super().test_efiboot_menu_has_one_distro_entry() | 42 | return super().test_efiboot_menu_has_one_distro_entry() |
911 | 43 | 43 | ||
912 | 44 | 44 | ||
913 | 45 | class HirsuteTestUefiReuseEsp(relbase.hirsute, TestUefiReuseEspAbs): | ||
914 | 46 | __test__ = True | ||
915 | 47 | |||
916 | 48 | def test_efiboot_menu_has_one_distro_entry(self): | ||
917 | 49 | return super().test_efiboot_menu_has_one_distro_entry() | ||
918 | 50 | |||
919 | 51 | |||
920 | 45 | class GroovyTestUefiReuseEsp(relbase.groovy, TestUefiReuseEspAbs): | 52 | class GroovyTestUefiReuseEsp(relbase.groovy, TestUefiReuseEspAbs): |
921 | 46 | __test__ = True | 53 | __test__ = True |
922 | 47 | 54 | ||
923 | diff --git a/tests/vmtests/test_simple.py b/tests/vmtests/test_simple.py | |||
924 | index 9e71047..83dca96 100644 | |||
925 | --- a/tests/vmtests/test_simple.py | |||
926 | +++ b/tests/vmtests/test_simple.py | |||
927 | @@ -56,6 +56,13 @@ class FocalTestSimple(relbase.focal, TestSimple): | |||
928 | 56 | self.output_files_exist(["netplan.yaml"]) | 56 | self.output_files_exist(["netplan.yaml"]) |
929 | 57 | 57 | ||
930 | 58 | 58 | ||
931 | 59 | class HirsuteTestSimple(relbase.hirsute, TestSimple): | ||
932 | 60 | __test__ = True | ||
933 | 61 | |||
934 | 62 | def test_output_files_exist(self): | ||
935 | 63 | self.output_files_exist(["netplan.yaml"]) | ||
936 | 64 | |||
937 | 65 | |||
938 | 59 | class GroovyTestSimple(relbase.groovy, TestSimple): | 66 | class GroovyTestSimple(relbase.groovy, TestSimple): |
939 | 60 | __test__ = True | 67 | __test__ = True |
940 | 61 | 68 | ||
941 | @@ -112,6 +119,13 @@ class FocalTestSimpleStorage(relbase.focal, TestSimpleStorage): | |||
942 | 112 | self.output_files_exist(["netplan.yaml"]) | 119 | self.output_files_exist(["netplan.yaml"]) |
943 | 113 | 120 | ||
944 | 114 | 121 | ||
945 | 122 | class HirsuteTestSimpleStorage(relbase.hirsute, TestSimpleStorage): | ||
946 | 123 | __test__ = True | ||
947 | 124 | |||
948 | 125 | def test_output_files_exist(self): | ||
949 | 126 | self.output_files_exist(["netplan.yaml"]) | ||
950 | 127 | |||
951 | 128 | |||
952 | 115 | class GroovyTestSimpleStorage(relbase.groovy, TestSimpleStorage): | 129 | class GroovyTestSimpleStorage(relbase.groovy, TestSimpleStorage): |
953 | 116 | __test__ = True | 130 | __test__ = True |
954 | 117 | 131 | ||
955 | @@ -145,6 +159,13 @@ class FocalTestGrubNoDefaults(relbase.focal, TestGrubNoDefaults): | |||
956 | 145 | self.output_files_exist(["netplan.yaml"]) | 159 | self.output_files_exist(["netplan.yaml"]) |
957 | 146 | 160 | ||
958 | 147 | 161 | ||
959 | 162 | class HirsuteTestGrubNoDefaults(relbase.hirsute, TestGrubNoDefaults): | ||
960 | 163 | __test__ = True | ||
961 | 164 | |||
962 | 165 | def test_output_files_exist(self): | ||
963 | 166 | self.output_files_exist(["netplan.yaml"]) | ||
964 | 167 | |||
965 | 168 | |||
966 | 148 | class GroovyTestGrubNoDefaults(relbase.groovy, TestGrubNoDefaults): | 169 | class GroovyTestGrubNoDefaults(relbase.groovy, TestGrubNoDefaults): |
967 | 149 | __test__ = True | 170 | __test__ = True |
968 | 150 | 171 | ||
969 | diff --git a/tests/vmtests/test_uefi_basic.py b/tests/vmtests/test_uefi_basic.py | |||
970 | index 932c1c8..0ed4fab 100644 | |||
971 | --- a/tests/vmtests/test_uefi_basic.py | |||
972 | +++ b/tests/vmtests/test_uefi_basic.py | |||
973 | @@ -114,6 +114,10 @@ class FocalUefiTestBasic(relbase.focal, TestBasicAbs): | |||
974 | 114 | __test__ = True | 114 | __test__ = True |
975 | 115 | 115 | ||
976 | 116 | 116 | ||
977 | 117 | class HirsuteUefiTestBasic(relbase.hirsute, TestBasicAbs): | ||
978 | 118 | __test__ = True | ||
979 | 119 | |||
980 | 120 | |||
981 | 117 | class GroovyUefiTestBasic(relbase.groovy, TestBasicAbs): | 121 | class GroovyUefiTestBasic(relbase.groovy, TestBasicAbs): |
982 | 118 | __test__ = True | 122 | __test__ = True |
983 | 119 | 123 | ||
984 | @@ -138,6 +142,11 @@ class FocalUefiTestBasic4k(relbase.focal, TestBasicAbs): | |||
985 | 138 | disk_block_size = 4096 | 142 | disk_block_size = 4096 |
986 | 139 | 143 | ||
987 | 140 | 144 | ||
988 | 145 | class HirsuteUefiTestBasic4k(relbase.hirsute, TestBasicAbs): | ||
989 | 146 | __test__ = True | ||
990 | 147 | disk_block_size = 4096 | ||
991 | 148 | |||
992 | 149 | |||
993 | 141 | class GroovyUefiTestBasic4k(relbase.groovy, TestBasicAbs): | 150 | class GroovyUefiTestBasic4k(relbase.groovy, TestBasicAbs): |
994 | 142 | __test__ = True | 151 | __test__ = True |
995 | 143 | disk_block_size = 4096 | 152 | disk_block_size = 4096 |
996 | diff --git a/tests/vmtests/test_zfsroot.py b/tests/vmtests/test_zfsroot.py | |||
997 | index 952bf7b..21e33b6 100644 | |||
998 | --- a/tests/vmtests/test_zfsroot.py | |||
999 | +++ b/tests/vmtests/test_zfsroot.py | |||
1000 | @@ -101,6 +101,11 @@ class FocalTestZfsRoot(relbase.focal, TestZfsRootAbs): | |||
1001 | 101 | mem = 4096 | 101 | mem = 4096 |
1002 | 102 | 102 | ||
1003 | 103 | 103 | ||
1004 | 104 | class HirsuteTestZfsRoot(relbase.hirsute, TestZfsRootAbs): | ||
1005 | 105 | __test__ = True | ||
1006 | 106 | mem = 4096 | ||
1007 | 107 | |||
1008 | 108 | |||
1009 | 104 | class GroovyTestZfsRoot(relbase.groovy, TestZfsRootAbs): | 109 | class GroovyTestZfsRoot(relbase.groovy, TestZfsRootAbs): |
1010 | 105 | __test__ = True | 110 | __test__ = True |
1011 | 106 | mem = 4096 | 111 | mem = 4096 |
1012 | @@ -130,6 +135,11 @@ class FocalTestZfsRootFsType(relbase.focal, TestZfsRootFsTypeAbs): | |||
1013 | 130 | mem = 4096 | 135 | mem = 4096 |
1014 | 131 | 136 | ||
1015 | 132 | 137 | ||
1016 | 138 | class HirsuteTestZfsRootFsType(relbase.hirsute, TestZfsRootFsTypeAbs): | ||
1017 | 139 | __test__ = True | ||
1018 | 140 | mem = 4096 | ||
1019 | 141 | |||
1020 | 142 | |||
1021 | 133 | class GroovyTestZfsRootFsType(relbase.groovy, TestZfsRootFsTypeAbs): | 143 | class GroovyTestZfsRootFsType(relbase.groovy, TestZfsRootFsTypeAbs): |
1022 | 134 | __test__ = True | 144 | __test__ = True |
1023 | 135 | 145 | ||
1024 | diff --git a/tools/vmtest-add-release b/tools/vmtest-add-release | |||
1025 | 136 | new file mode 100755 | 146 | new file mode 100755 |
1026 | index 0000000..7a74296 | |||
1027 | --- /dev/null | |||
1028 | +++ b/tools/vmtest-add-release | |||
1029 | @@ -0,0 +1,66 @@ | |||
1030 | 1 | #!/usr/bin/python3 | ||
1031 | 2 | |||
1032 | 3 | import argparse | ||
1033 | 4 | import glob | ||
1034 | 5 | import os | ||
1035 | 6 | |||
1036 | 7 | |||
1037 | 8 | def update_file(fname, previous, distro): | ||
1038 | 9 | new_content = [] | ||
1039 | 10 | new_class = [] | ||
1040 | 11 | modified = False | ||
1041 | 12 | copying_class = False | ||
1042 | 13 | with open(fname, 'r') as fh: | ||
1043 | 14 | # using read().splitlines() to strip the newline char | ||
1044 | 15 | for line in fh.read().splitlines(): | ||
1045 | 16 | # if we find class of previous release, copy and replace with | ||
1046 | 17 | # new release | ||
1047 | 18 | if line.startswith('class %s' % previous): | ||
1048 | 19 | copying_class = True | ||
1049 | 20 | elif copying_class and line and not line[0].isspace(): | ||
1050 | 21 | copying_class = False | ||
1051 | 22 | # done copying class; transform and extend | ||
1052 | 23 | nc = "\n".join(new_class) | ||
1053 | 24 | nc = nc.replace(previous, distro) # Focal -> Groovy | ||
1054 | 25 | nc = nc.replace(previous.lower(), distro.lower()) # focal -> groovy | ||
1055 | 26 | nc += "\n" | ||
1056 | 27 | new_content.extend(nc.splitlines()) | ||
1057 | 28 | new_class = [] | ||
1058 | 29 | |||
1059 | 30 | if copying_class: | ||
1060 | 31 | # retain existing lines, make a copy for the new class | ||
1061 | 32 | new_content.append(line) | ||
1062 | 33 | new_class.append(line) | ||
1063 | 34 | modified = True | ||
1064 | 35 | else: | ||
1065 | 36 | new_content.append(line) | ||
1066 | 37 | |||
1067 | 38 | # skip a re-write of content if no modifications | ||
1068 | 39 | if modified: | ||
1069 | 40 | updated_fn = fname | ||
1070 | 41 | with open(updated_fn, 'w') as wfh: | ||
1071 | 42 | wfh.write("\n".join(new_content) + '\n') | ||
1072 | 43 | print("Wrote updated file: %s" % updated_fn) | ||
1073 | 44 | |||
1074 | 45 | |||
1075 | 46 | if __name__ == "__main__": | ||
1076 | 47 | parser = argparse.ArgumentParser( | ||
1077 | 48 | prog="vmtest-add-release", | ||
1078 | 49 | description="Tool to add vmtest classes by distro release") | ||
1079 | 50 | parser.add_argument('--distro-release', '-d', | ||
1080 | 51 | action='store', required=True) | ||
1081 | 52 | parser.add_argument('--path', '-p', action='store', required=True) | ||
1082 | 53 | parser.add_argument('--previous-release', '-r', | ||
1083 | 54 | action='store', required=True) | ||
1084 | 55 | |||
1085 | 56 | args = parser.parse_args() | ||
1086 | 57 | distro = args.distro_release.title() | ||
1087 | 58 | previous = args.previous_release.title() | ||
1088 | 59 | target = args.path | ||
1089 | 60 | if os.path.isdir(target): | ||
1090 | 61 | files = glob.glob(os.path.normpath(target) + '/' + 'test_*.py') | ||
1091 | 62 | else: | ||
1092 | 63 | files = [target] | ||
1093 | 64 | |||
1094 | 65 | for fname in files: | ||
1095 | 66 | update_file(fname, previous, distro) |
FAILED: Continuous integration, rev:0935e83a3d9 ad7d06cc9b04bc5 7ed1b81299bc29 /jenkins. ubuntu. com/server/ job/curtin- ci/59/ /jenkins. ubuntu. com/server/ job/curtin- ci/nodes= metal-amd64/ 59/ /jenkins. ubuntu. com/server/ job/curtin- ci/nodes= metal-arm64/ 59/ /jenkins. ubuntu. com/server/ job/curtin- ci/nodes= metal-ppc64el/ 59/ /jenkins. ubuntu. com/server/ job/curtin- ci/nodes= metal-s390x/ 59/
https:/
Executed test runs:
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
FAILURE: https:/
Click here to trigger a rebuild: /jenkins. ubuntu. com/server/ job/curtin- ci/59// rebuild
https:/