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 | subarch = "ga-20.10" |
7 | |
8 | |
9 | +class _HirsuteBase(_UbuntuBase): |
10 | + release = "hirsute" |
11 | + target_release = "hirsute" |
12 | + mem = "2048" |
13 | + if _UbuntuBase.arch == "arm64": |
14 | + subarch = "ga-20.10" |
15 | + |
16 | + |
17 | class _Releases(object): |
18 | trusty = _TrustyBase |
19 | precise = _PreciseBase |
20 | @@ -212,6 +220,7 @@ class _Releases(object): |
21 | eoan = _EoanBase |
22 | focal = _FocalBase |
23 | groovy = _GroovyBase |
24 | + hirsute = _HirsuteBase |
25 | |
26 | |
27 | 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 | __test__ = True |
34 | |
35 | |
36 | +class HirsuteTestAptConfigCMDCMD(relbase.hirsute, TestAptConfigCMD): |
37 | + __test__ = True |
38 | + |
39 | + |
40 | class GroovyTestAptConfigCMDCMD(relbase.groovy, TestAptConfigCMD): |
41 | __test__ = True |
42 | |
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 | __test__ = True |
49 | |
50 | |
51 | +class HirsuteTestBasic(relbase.hirsute, TestBasicAbs): |
52 | + __test__ = True |
53 | + |
54 | + |
55 | class GroovyTestBasic(relbase.groovy, TestBasicAbs): |
56 | __test__ = True |
57 | |
58 | @@ -379,6 +383,10 @@ class FocalTestScsiBasic(relbase.focal, TestBasicScsiAbs): |
59 | __test__ = True |
60 | |
61 | |
62 | +class HirsuteTestScsiBasic(relbase.hirsute, TestBasicScsiAbs): |
63 | + __test__ = True |
64 | + |
65 | + |
66 | class GroovyTestScsiBasic(relbase.groovy, TestBasicScsiAbs): |
67 | __test__ = True |
68 | |
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 | __test__ = True |
75 | |
76 | |
77 | +class HirsuteTestBasicDasd(relbase.hirsute, TestBasicDasd): |
78 | + __test__ = True |
79 | + |
80 | + |
81 | class GroovyTestBasicDasd(relbase.groovy, TestBasicDasd): |
82 | __test__ = True |
83 | |
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 | __test__ = True |
90 | |
91 | |
92 | +class HirsuteBcacheBasic(relbase.hirsute, TestBcacheBasic): |
93 | + __test__ = True |
94 | + |
95 | + |
96 | class GroovyBcacheBasic(relbase.groovy, TestBcacheBasic): |
97 | __test__ = True |
98 | |
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 | __test__ = True |
105 | |
106 | |
107 | +class HirsuteTestBcacheBug1718699(relbase.hirsute, TestBcacheBug1718699): |
108 | + __test__ = True |
109 | + |
110 | + |
111 | class GroovyTestBcacheBug1718699(relbase.groovy, TestBcacheBug1718699): |
112 | __test__ = True |
113 | |
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 | __test__ = True |
120 | |
121 | |
122 | +class HirsuteTestBcacheCeph(relbase.hirsute, TestBcacheCeph): |
123 | + __test__ = True |
124 | + |
125 | + |
126 | class GroovyTestBcacheCeph(relbase.groovy, TestBcacheCeph): |
127 | __test__ = True |
128 | |
129 | @@ -109,6 +113,10 @@ class FocalTestBcacheCephLvm(relbase.focal, TestBcacheCephLvm): |
130 | __test__ = True |
131 | |
132 | |
133 | +class HirsuteTestBcacheCephLvm(relbase.hirsute, TestBcacheCephLvm): |
134 | + __test__ = True |
135 | + |
136 | + |
137 | class GroovyTestBcacheCephLvm(relbase.groovy, TestBcacheCephLvm): |
138 | __test__ = True |
139 | |
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 | __test__ = True |
146 | |
147 | |
148 | +class HirsuteTestBcachePartitions(relbase.hirsute, TestBcachePartitions): |
149 | + __test__ = True |
150 | + |
151 | + |
152 | class GroovyTestBcachePartitions(relbase.groovy, TestBcachePartitions): |
153 | __test__ = True |
154 | |
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 | __test__ = True |
161 | |
162 | |
163 | +class HirsuteTestFsBattery(relbase.hirsute, TestFsBattery): |
164 | + __test__ = True |
165 | + |
166 | + |
167 | class GroovyTestFsBattery(relbase.groovy, TestFsBattery): |
168 | __test__ = True |
169 | |
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 | __test__ = True |
176 | |
177 | |
178 | +class HirsuteTestIscsiBasic(relbase.hirsute, TestBasicIscsiAbs): |
179 | + __test__ = True |
180 | + |
181 | + |
182 | class GroovyTestIscsiBasic(relbase.groovy, TestBasicIscsiAbs): |
183 | __test__ = True |
184 | |
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 | __test__ = True |
191 | |
192 | |
193 | +class HirsuteTestJournaldReporter(relbase.hirsute, TestJournaldReporter): |
194 | + __test__ = True |
195 | + |
196 | + |
197 | class GroovyTestJournaldReporter(relbase.groovy, TestJournaldReporter): |
198 | __test__ = True |
199 | |
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 | __test__ = True |
206 | |
207 | |
208 | +class HirsuteTestLvm(relbase.hirsute, TestLvmAbs): |
209 | + __test__ = True |
210 | + |
211 | + |
212 | class GroovyTestLvm(relbase.groovy, TestLvmAbs): |
213 | __test__ = True |
214 | |
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 | __test__ = True |
221 | |
222 | |
223 | +class HirsuteTestIscsiLvm(relbase.hirsute, TestLvmIscsiAbs): |
224 | + __test__ = True |
225 | + |
226 | + |
227 | class GroovyTestIscsiLvm(relbase.groovy, TestLvmIscsiAbs): |
228 | __test__ = True |
229 | |
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 | __test__ = True |
236 | |
237 | |
238 | +class HirsuteTestLvmOverRaid(relbase.hirsute, TestLvmOverRaidAbs): |
239 | + __test__ = True |
240 | + |
241 | + |
242 | class GroovyTestLvmOverRaid(relbase.groovy, TestLvmOverRaidAbs): |
243 | __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 | } |
250 | |
251 | |
252 | +class HirsuteTestLvmRootExt4(relbase.hirsute, TestLvmRootAbs): |
253 | + __test__ = True |
254 | + conf_replace = { |
255 | + '__ROOTFS_FORMAT__': 'ext4', |
256 | + } |
257 | + |
258 | + |
259 | class GroovyTestLvmRootExt4(relbase.groovy, TestLvmRootAbs): |
260 | __test__ = True |
261 | conf_replace = { |
262 | @@ -147,6 +154,14 @@ class FocalTestUefiLvmRootExt4(relbase.focal, TestUefiLvmRootAbs): |
263 | } |
264 | |
265 | |
266 | +class HirsuteTestUefiLvmRootExt4(relbase.hirsute, TestUefiLvmRootAbs): |
267 | + __test__ = True |
268 | + conf_replace = { |
269 | + '__BOOTFS_FORMAT__': 'ext4', |
270 | + '__ROOTFS_FORMAT__': 'ext4', |
271 | + } |
272 | + |
273 | + |
274 | class GroovyTestUefiLvmRootExt4(relbase.groovy, TestUefiLvmRootAbs): |
275 | __test__ = True |
276 | 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 | __test__ = True |
283 | |
284 | |
285 | +class HirsuteTestMdadmBcache(relbase.hirsute, TestMdadmBcacheAbs): |
286 | + __test__ = True |
287 | + |
288 | + |
289 | class GroovyTestMdadmBcache(relbase.groovy, TestMdadmBcacheAbs): |
290 | __test__ = True |
291 | |
292 | @@ -203,6 +207,10 @@ class FocalTestMirrorboot(relbase.focal, TestMirrorbootAbs): |
293 | __test__ = True |
294 | |
295 | |
296 | +class HirsuteTestMirrorboot(relbase.hirsute, TestMirrorbootAbs): |
297 | + __test__ = True |
298 | + |
299 | + |
300 | class GroovyTestMirrorboot(relbase.groovy, TestMirrorbootAbs): |
301 | __test__ = True |
302 | |
303 | @@ -252,6 +260,11 @@ class FocalTestMirrorbootPartitions(relbase.focal, |
304 | __test__ = True |
305 | |
306 | |
307 | +class HirsuteTestMirrorbootPartitions(relbase.hirsute, |
308 | + TestMirrorbootPartitionsAbs): |
309 | + __test__ = True |
310 | + |
311 | + |
312 | class GroovyTestMirrorbootPartitions(relbase.groovy, |
313 | TestMirrorbootPartitionsAbs): |
314 | __test__ = True |
315 | @@ -347,6 +360,11 @@ class FocalTestMirrorbootPartitionsUEFI(relbase.focal, |
316 | __test__ = True |
317 | |
318 | |
319 | +class HirsuteTestMirrorbootPartitionsUEFI(relbase.hirsute, |
320 | + TestMirrorbootPartitionsUEFIAbs): |
321 | + __test__ = True |
322 | + |
323 | + |
324 | class GroovyTestMirrorbootPartitionsUEFI(relbase.groovy, |
325 | TestMirrorbootPartitionsUEFIAbs): |
326 | __test__ = True |
327 | @@ -396,6 +414,10 @@ class FocalTestRaid5boot(relbase.focal, TestRaid5bootAbs): |
328 | __test__ = True |
329 | |
330 | |
331 | +class HirsuteTestRaid5boot(relbase.hirsute, TestRaid5bootAbs): |
332 | + __test__ = True |
333 | + |
334 | + |
335 | class GroovyTestRaid5boot(relbase.groovy, TestRaid5bootAbs): |
336 | __test__ = True |
337 | |
338 | @@ -457,6 +479,10 @@ class FocalTestRaid6boot(relbase.focal, TestRaid6bootAbs): |
339 | __test__ = True |
340 | |
341 | |
342 | +class HirsuteTestRaid6boot(relbase.hirsute, TestRaid6bootAbs): |
343 | + __test__ = True |
344 | + |
345 | + |
346 | class GroovyTestRaid6boot(relbase.groovy, TestRaid6bootAbs): |
347 | __test__ = True |
348 | |
349 | @@ -504,6 +530,10 @@ class FocalTestRaid10boot(relbase.focal, TestRaid10bootAbs): |
350 | __test__ = True |
351 | |
352 | |
353 | +class HirsuteTestRaid10boot(relbase.hirsute, TestRaid10bootAbs): |
354 | + __test__ = True |
355 | + |
356 | + |
357 | class GroovyTestRaid10boot(relbase.groovy, TestRaid10bootAbs): |
358 | __test__ = True |
359 | |
360 | @@ -608,6 +638,10 @@ class FocalTestAllindata(relbase.focal, TestAllindataAbs): |
361 | __test__ = True |
362 | |
363 | |
364 | +class HirsuteTestAllindata(relbase.hirsute, TestAllindataAbs): |
365 | + __test__ = True |
366 | + |
367 | + |
368 | class GroovyTestAllindata(relbase.groovy, TestAllindataAbs): |
369 | __test__ = True |
370 | |
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 | __test__ = True |
377 | |
378 | |
379 | +class HirsuteTestIscsiMdadm(relbase.hirsute, TestMdadmIscsiAbs): |
380 | + __test__ = True |
381 | + |
382 | + |
383 | class GroovyTestIscsiMdadm(relbase.groovy, TestMdadmIscsiAbs): |
384 | __test__ = True |
385 | |
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 | __test__ = True |
392 | |
393 | |
394 | +class HirsuteTestMultipathBasic(relbase.hirsute, TestMultipathBasicAbs): |
395 | + __test__ = True |
396 | + |
397 | + |
398 | class GroovyTestMultipathBasic(relbase.groovy, TestMultipathBasicAbs): |
399 | __test__ = True |
400 | |
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 | __test__ = True |
407 | |
408 | |
409 | +class HirsuteTestMultipathLvm(relbase.hirsute, TestMultipathLvmAbs): |
410 | + __test__ = True |
411 | + |
412 | + |
413 | class GroovyTestMultipathLvm(relbase.groovy, TestMultipathLvmAbs): |
414 | __test__ = True |
415 | |
416 | @@ -73,6 +77,11 @@ class FocalTestMultipathLvmPartWipe(relbase.focal, |
417 | __test__ = True |
418 | |
419 | |
420 | +class HirsuteTestMultipathLvmPartWipe(relbase.hirsute, |
421 | + TestMultipathLvmPartWipeAbs): |
422 | + __test__ = True |
423 | + |
424 | + |
425 | class GroovyTestMultipathLvmPartWipe(relbase.groovy, |
426 | TestMultipathLvmPartWipeAbs): |
427 | __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 | __test__ = True |
434 | |
435 | |
436 | +class HirsuteTestNetworkBasic(relbase.hirsute, TestNetworkBasicAbs): |
437 | + __test__ = True |
438 | + |
439 | + |
440 | class GroovyTestNetworkBasic(relbase.groovy, TestNetworkBasicAbs): |
441 | __test__ = True |
442 | |
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 | __test__ = True |
449 | |
450 | |
451 | +class HirsuteTestNetworkAlias(relbase.hirsute, TestNetworkAliasAbs): |
452 | + __test__ = True |
453 | + |
454 | + |
455 | class GroovyTestNetworkAlias(relbase.groovy, TestNetworkAliasAbs): |
456 | __test__ = True |
457 | |
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 | __test__ = True |
464 | |
465 | |
466 | +class HirsuteTestBonding(relbase.hirsute, TestNetworkBondingAbs): |
467 | + __test__ = True |
468 | + |
469 | + |
470 | class GroovyTestBonding(relbase.groovy, TestNetworkBondingAbs): |
471 | __test__ = True |
472 | |
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 | __test__ = True |
479 | |
480 | |
481 | +class HirsuteTestBridging(relbase.hirsute, TestBridgeNetworkAbs): |
482 | + __test__ = True |
483 | + |
484 | + |
485 | class GroovyTestBridging(relbase.groovy, TestBridgeNetworkAbs): |
486 | __test__ = True |
487 | |
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 | raise SkipTest('not available on %s' % self.__class__) |
494 | |
495 | |
496 | +TestKlass1 = CurtinDisableNetworkRendering |
497 | + |
498 | + |
499 | class CurtinDisableCloudInitNetworking(TestNetworkBaseTestsAbs): |
500 | """ Test curtin can disable cloud-init networking in the target system """ |
501 | conf_file = "examples/tests/network_config_disabled.yaml" |
502 | @@ -44,45 +47,53 @@ class CurtinDisableCloudInitNetworking(TestNetworkBaseTestsAbs): |
503 | raise SkipTest('not available on %s' % self.__class__) |
504 | |
505 | |
506 | -class CurtinDisableCloudInitNetworkingVersion1( |
507 | - CurtinDisableCloudInitNetworking |
508 | -): |
509 | +TestKlass2 = CurtinDisableCloudInitNetworking |
510 | + |
511 | + |
512 | +class CurtinDisableCloudInitNetworkingVersion1(TestKlass2): |
513 | """ Test curtin can disable cloud-init networking in the target system |
514 | with version key. """ |
515 | conf_file = "examples/tests/network_config_disabled_with_version.yaml" |
516 | |
517 | |
518 | -class FocalCurtinDisableNetworkRendering(relbase.focal, |
519 | - CurtinDisableNetworkRendering): |
520 | +TestKlass3 = CurtinDisableCloudInitNetworkingVersion1 |
521 | + |
522 | + |
523 | +class FocalCurtinDisableNetworkRendering(relbase.focal, TestKlass1): |
524 | + __test__ = True |
525 | + |
526 | + |
527 | +class HirsuteCurtinDisableNetworkRendering(relbase.hirsute, TestKlass1): |
528 | + __test__ = True |
529 | + |
530 | + |
531 | +class GroovyCurtinDisableNetworkRendering(relbase.groovy, TestKlass1): |
532 | + __test__ = True |
533 | + |
534 | + |
535 | +class FocalCurtinDisableCloudInitNetworking(relbase.focal, TestKlass2): |
536 | __test__ = True |
537 | |
538 | |
539 | -class GroovyCurtinDisableNetworkRendering(relbase.groovy, |
540 | - CurtinDisableNetworkRendering): |
541 | +class HirsuteCurtinDisableCloudInitNetworking(relbase.hirsute, TestKlass2): |
542 | __test__ = True |
543 | |
544 | |
545 | -class FocalCurtinDisableCloudInitNetworkingVersion1( |
546 | - relbase.focal, |
547 | - CurtinDisableCloudInitNetworkingVersion1 |
548 | -): |
549 | +class GroovyCurtinDisableCloudInitNetworking(relbase.groovy, TestKlass2): |
550 | __test__ = True |
551 | |
552 | |
553 | -class GroovyCurtinDisableCloudInitNetworkingVersion1( |
554 | - relbase.groovy, |
555 | - CurtinDisableCloudInitNetworkingVersion1 |
556 | -): |
557 | +class FocalCurtinDisableCloudInitNetworkingVersion1(relbase.focal, TestKlass3): |
558 | __test__ = True |
559 | |
560 | |
561 | -class FocalCurtinDisableCloudInitNetworking(relbase.focal, |
562 | - CurtinDisableCloudInitNetworking): |
563 | +class HirsuteCurtinDisableCloudInitNetworkingVersion1(relbase.hirsute, |
564 | + TestKlass3): |
565 | __test__ = True |
566 | |
567 | |
568 | -class GroovyCurtinDisableCloudInitNetworking(relbase.groovy, |
569 | - CurtinDisableCloudInitNetworking): |
570 | +class GroovyCurtinDisableCloudInitNetworkingVersion1(relbase.groovy, |
571 | + TestKlass3): |
572 | __test__ = True |
573 | |
574 | |
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 | __test__ = True |
581 | |
582 | |
583 | +class HirsuteTestNetworkIPV6Static(relbase.hirsute, TestNetworkIPV6StaticAbs): |
584 | + __test__ = True |
585 | + |
586 | + |
587 | class GroovyTestNetworkIPV6Static(relbase.groovy, TestNetworkIPV6StaticAbs): |
588 | __test__ = True |
589 | |
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 | __test__ = True |
596 | |
597 | |
598 | +class HirsuteTestNetworkIPV6Vlan(relbase.hirsute, TestNetworkIPV6VlanAbs): |
599 | + __test__ = True |
600 | + |
601 | + |
602 | class GroovyTestNetworkIPV6Vlan(relbase.groovy, TestNetworkIPV6VlanAbs): |
603 | __test__ = True |
604 | |
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 | __test__ = True |
611 | |
612 | |
613 | +class HirsuteTestNetworkMtu(relbase.hirsute, TestNetworkMtuNetworkdAbs): |
614 | + __test__ = True |
615 | + |
616 | + |
617 | class GroovyTestNetworkMtu(relbase.groovy, TestNetworkMtuNetworkdAbs): |
618 | __test__ = True |
619 | |
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 | __test__ = True |
626 | |
627 | |
628 | +class HirsuteTestNetworkOvs(relbase.hirsute, TestNetworkOvsAbs): |
629 | + __test__ = True |
630 | + |
631 | + |
632 | class GroovyTestNetworkOvs(relbase.groovy, TestNetworkOvsAbs): |
633 | __test__ = True |
634 | |
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 | __test__ = True |
641 | |
642 | |
643 | +class HirsuteTestNetworkStatic(relbase.hirsute, TestNetworkStaticAbs): |
644 | + __test__ = True |
645 | + |
646 | + |
647 | class GroovyTestNetworkStatic(relbase.groovy, TestNetworkStaticAbs): |
648 | __test__ = True |
649 | |
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 | __test__ = True |
656 | |
657 | |
658 | +class HirsuteTestNetworkStaticRoutes(relbase.hirsute, |
659 | + TestNetworkStaticRoutesAbs): |
660 | + __test__ = True |
661 | + |
662 | + |
663 | class GroovyTestNetworkStaticRoutes(relbase.groovy, |
664 | TestNetworkStaticRoutesAbs): |
665 | __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 | return super().test_ip_output() |
672 | |
673 | |
674 | +class HirsuteTestNetworkVlan(relbase.hirsute, TestNetworkVlanAbs): |
675 | + __test__ = True |
676 | + |
677 | + def test_ip_output(self): |
678 | + return super().test_ip_output() |
679 | + |
680 | + |
681 | class GroovyTestNetworkVlan(relbase.groovy, TestNetworkVlanAbs): |
682 | __test__ = True |
683 | |
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 | __test__ = True |
690 | |
691 | |
692 | +class HirsuteTestNvmeBcache(relbase.hirsute, TestNvmeBcacheAbs): |
693 | + __test__ = True |
694 | + |
695 | + |
696 | class GroovyTestNvmeBcache(relbase.groovy, TestNvmeBcacheAbs): |
697 | __test__ = True |
698 | |
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 | __test__ = True |
705 | |
706 | |
707 | +class HirsuteTestInstallPanic(relbase.hirsute, TestInstallPanic): |
708 | + __test__ = True |
709 | + |
710 | + |
711 | class GroovyTestInstallPanic(relbase.groovy, TestInstallPanic): |
712 | __test__ = True |
713 | |
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 | __test__ = True |
720 | |
721 | |
722 | +class HirsuteTestPollinateUserAgent(relbase.hirsute, TestPollinateUserAgent): |
723 | + __test__ = True |
724 | + |
725 | + |
726 | class GroovyTestPollinateUserAgent(relbase.groovy, TestPollinateUserAgent): |
727 | __test__ = True |
728 | |
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 | __test__ = True |
735 | |
736 | |
737 | +class HirsuteTestPreserve(relbase.hirsute, TestPreserve): |
738 | + __test__ = True |
739 | + |
740 | + |
741 | class GroovyTestPreserve(relbase.groovy, TestPreserve): |
742 | __test__ = True |
743 | |
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 | __test__ = True |
750 | |
751 | |
752 | +class HirsuteTestPreserveBcache(relbase.hirsute, TestPreserveBcache): |
753 | + __test__ = True |
754 | + |
755 | + |
756 | class GroovyTestPreserveBcache(relbase.groovy, TestPreserveBcache): |
757 | __test__ = True |
758 | |
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 | __test__ = True |
765 | |
766 | |
767 | +class HirsuteTestLvmPreserve(relbase.hirsute, TestLvmPreserveAbs): |
768 | + __test__ = True |
769 | + |
770 | + |
771 | class GroovyTestLvmPreserve(relbase.groovy, TestLvmPreserveAbs): |
772 | __test__ = True |
773 | |
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 | __test__ = True |
780 | |
781 | |
782 | +class HirsuteTestPreserveWipeLvm(relbase.hirsute, TestPreserveWipeLvm): |
783 | + __test__ = True |
784 | + |
785 | + |
786 | class GroovyTestPreserveWipeLvm(relbase.groovy, TestPreserveWipeLvm): |
787 | __test__ = True |
788 | |
789 | @@ -52,6 +56,11 @@ class FocalTestPreserveWipeLvmSimple(relbase.focal, TestPreserveWipeLvmSimple): |
790 | __test__ = True |
791 | |
792 | |
793 | +class HirsuteTestPreserveWipeLvmSimple(relbase.hirsute, |
794 | + TestPreserveWipeLvmSimple): |
795 | + __test__ = True |
796 | + |
797 | + |
798 | class GroovyTestPreserveWipeLvmSimple(relbase.groovy, |
799 | TestPreserveWipeLvmSimple): |
800 | __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 | __test__ = True |
807 | |
808 | |
809 | +class HirsuteTestPreserveRAID(relbase.hirsute, TestPreserveRAID): |
810 | + __test__ = True |
811 | + |
812 | + |
813 | class GroovyTestPreserveRAID(relbase.groovy, TestPreserveRAID): |
814 | __test__ = True |
815 | |
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 | __test__ = True |
822 | |
823 | |
824 | +class HirsuteTestRaid5Bcache(relbase.hirsute, TestMdadmBcacheAbs): |
825 | + __test__ = True |
826 | + |
827 | + |
828 | class GroovyTestRaid5Bcache(relbase.groovy, TestMdadmBcacheAbs): |
829 | __test__ = True |
830 | |
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 | __test__ = True |
837 | |
838 | |
839 | +class HirsuteTestRAIDPartitionToDisk(relbase.hirsute, TestRAIDPartitionToDisk): |
840 | + __test__ = True |
841 | + |
842 | + |
843 | class GroovyTestRAIDPartitionToDisk(relbase.groovy, TestRAIDPartitionToDisk): |
844 | __test__ = True |
845 | |
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 | __test__ = True |
852 | |
853 | |
854 | +class HirsuteTestReuseLVMMemberPartition(relbase.hirsute, |
855 | + TestReuseLVMMemberPartition): |
856 | + __test__ = True |
857 | + |
858 | + |
859 | class GroovyTestReuseLVMMemberPartition(relbase.groovy, |
860 | TestReuseLVMMemberPartition): |
861 | __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 | __test__ = True |
868 | |
869 | |
870 | +class HirsuteTestReuseMSDOSPartitions(relbase.hirsute, |
871 | + TestReuseMSDOSPartitions): |
872 | + __test__ = True |
873 | + |
874 | + |
875 | class GroovyTestReuseMSDOSPartitions(relbase.groovy, |
876 | TestReuseMSDOSPartitions): |
877 | __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 | __test__ = True |
884 | |
885 | |
886 | +class HirsuteTestReuseRAIDMember(relbase.hirsute, TestReuseRAIDMember): |
887 | + __test__ = True |
888 | + |
889 | + |
890 | class GroovyTestReuseRAIDMember(relbase.groovy, TestReuseRAIDMember): |
891 | __test__ = True |
892 | |
893 | @@ -46,6 +50,11 @@ class FocalTestReuseRAIDMemberPartition(relbase.focal, |
894 | __test__ = True |
895 | |
896 | |
897 | +class HirsuteTestReuseRAIDMemberPartition(relbase.hirsute, |
898 | + TestReuseRAIDMemberPartition): |
899 | + __test__ = True |
900 | + |
901 | + |
902 | class GroovyTestReuseRAIDMemberPartition(relbase.groovy, |
903 | TestReuseRAIDMemberPartition): |
904 | __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 | return super().test_efiboot_menu_has_one_distro_entry() |
911 | |
912 | |
913 | +class HirsuteTestUefiReuseEsp(relbase.hirsute, TestUefiReuseEspAbs): |
914 | + __test__ = True |
915 | + |
916 | + def test_efiboot_menu_has_one_distro_entry(self): |
917 | + return super().test_efiboot_menu_has_one_distro_entry() |
918 | + |
919 | + |
920 | class GroovyTestUefiReuseEsp(relbase.groovy, TestUefiReuseEspAbs): |
921 | __test__ = True |
922 | |
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 | self.output_files_exist(["netplan.yaml"]) |
929 | |
930 | |
931 | +class HirsuteTestSimple(relbase.hirsute, TestSimple): |
932 | + __test__ = True |
933 | + |
934 | + def test_output_files_exist(self): |
935 | + self.output_files_exist(["netplan.yaml"]) |
936 | + |
937 | + |
938 | class GroovyTestSimple(relbase.groovy, TestSimple): |
939 | __test__ = True |
940 | |
941 | @@ -112,6 +119,13 @@ class FocalTestSimpleStorage(relbase.focal, TestSimpleStorage): |
942 | self.output_files_exist(["netplan.yaml"]) |
943 | |
944 | |
945 | +class HirsuteTestSimpleStorage(relbase.hirsute, TestSimpleStorage): |
946 | + __test__ = True |
947 | + |
948 | + def test_output_files_exist(self): |
949 | + self.output_files_exist(["netplan.yaml"]) |
950 | + |
951 | + |
952 | class GroovyTestSimpleStorage(relbase.groovy, TestSimpleStorage): |
953 | __test__ = True |
954 | |
955 | @@ -145,6 +159,13 @@ class FocalTestGrubNoDefaults(relbase.focal, TestGrubNoDefaults): |
956 | self.output_files_exist(["netplan.yaml"]) |
957 | |
958 | |
959 | +class HirsuteTestGrubNoDefaults(relbase.hirsute, TestGrubNoDefaults): |
960 | + __test__ = True |
961 | + |
962 | + def test_output_files_exist(self): |
963 | + self.output_files_exist(["netplan.yaml"]) |
964 | + |
965 | + |
966 | class GroovyTestGrubNoDefaults(relbase.groovy, TestGrubNoDefaults): |
967 | __test__ = True |
968 | |
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 | __test__ = True |
975 | |
976 | |
977 | +class HirsuteUefiTestBasic(relbase.hirsute, TestBasicAbs): |
978 | + __test__ = True |
979 | + |
980 | + |
981 | class GroovyUefiTestBasic(relbase.groovy, TestBasicAbs): |
982 | __test__ = True |
983 | |
984 | @@ -138,6 +142,11 @@ class FocalUefiTestBasic4k(relbase.focal, TestBasicAbs): |
985 | disk_block_size = 4096 |
986 | |
987 | |
988 | +class HirsuteUefiTestBasic4k(relbase.hirsute, TestBasicAbs): |
989 | + __test__ = True |
990 | + disk_block_size = 4096 |
991 | + |
992 | + |
993 | class GroovyUefiTestBasic4k(relbase.groovy, TestBasicAbs): |
994 | __test__ = True |
995 | 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 | mem = 4096 |
1002 | |
1003 | |
1004 | +class HirsuteTestZfsRoot(relbase.hirsute, TestZfsRootAbs): |
1005 | + __test__ = True |
1006 | + mem = 4096 |
1007 | + |
1008 | + |
1009 | class GroovyTestZfsRoot(relbase.groovy, TestZfsRootAbs): |
1010 | __test__ = True |
1011 | mem = 4096 |
1012 | @@ -130,6 +135,11 @@ class FocalTestZfsRootFsType(relbase.focal, TestZfsRootFsTypeAbs): |
1013 | mem = 4096 |
1014 | |
1015 | |
1016 | +class HirsuteTestZfsRootFsType(relbase.hirsute, TestZfsRootFsTypeAbs): |
1017 | + __test__ = True |
1018 | + mem = 4096 |
1019 | + |
1020 | + |
1021 | class GroovyTestZfsRootFsType(relbase.groovy, TestZfsRootFsTypeAbs): |
1022 | __test__ = True |
1023 | |
1024 | diff --git a/tools/vmtest-add-release b/tools/vmtest-add-release |
1025 | new file mode 100755 |
1026 | index 0000000..7a74296 |
1027 | --- /dev/null |
1028 | +++ b/tools/vmtest-add-release |
1029 | @@ -0,0 +1,66 @@ |
1030 | +#!/usr/bin/python3 |
1031 | + |
1032 | +import argparse |
1033 | +import glob |
1034 | +import os |
1035 | + |
1036 | + |
1037 | +def update_file(fname, previous, distro): |
1038 | + new_content = [] |
1039 | + new_class = [] |
1040 | + modified = False |
1041 | + copying_class = False |
1042 | + with open(fname, 'r') as fh: |
1043 | + # using read().splitlines() to strip the newline char |
1044 | + for line in fh.read().splitlines(): |
1045 | + # if we find class of previous release, copy and replace with |
1046 | + # new release |
1047 | + if line.startswith('class %s' % previous): |
1048 | + copying_class = True |
1049 | + elif copying_class and line and not line[0].isspace(): |
1050 | + copying_class = False |
1051 | + # done copying class; transform and extend |
1052 | + nc = "\n".join(new_class) |
1053 | + nc = nc.replace(previous, distro) # Focal -> Groovy |
1054 | + nc = nc.replace(previous.lower(), distro.lower()) # focal -> groovy |
1055 | + nc += "\n" |
1056 | + new_content.extend(nc.splitlines()) |
1057 | + new_class = [] |
1058 | + |
1059 | + if copying_class: |
1060 | + # retain existing lines, make a copy for the new class |
1061 | + new_content.append(line) |
1062 | + new_class.append(line) |
1063 | + modified = True |
1064 | + else: |
1065 | + new_content.append(line) |
1066 | + |
1067 | + # skip a re-write of content if no modifications |
1068 | + if modified: |
1069 | + updated_fn = fname |
1070 | + with open(updated_fn, 'w') as wfh: |
1071 | + wfh.write("\n".join(new_content) + '\n') |
1072 | + print("Wrote updated file: %s" % updated_fn) |
1073 | + |
1074 | + |
1075 | +if __name__ == "__main__": |
1076 | + parser = argparse.ArgumentParser( |
1077 | + prog="vmtest-add-release", |
1078 | + description="Tool to add vmtest classes by distro release") |
1079 | + parser.add_argument('--distro-release', '-d', |
1080 | + action='store', required=True) |
1081 | + parser.add_argument('--path', '-p', action='store', required=True) |
1082 | + parser.add_argument('--previous-release', '-r', |
1083 | + action='store', required=True) |
1084 | + |
1085 | + args = parser.parse_args() |
1086 | + distro = args.distro_release.title() |
1087 | + previous = args.previous_release.title() |
1088 | + target = args.path |
1089 | + if os.path.isdir(target): |
1090 | + files = glob.glob(os.path.normpath(target) + '/' + 'test_*.py') |
1091 | + else: |
1092 | + files = [target] |
1093 | + |
1094 | + for fname in files: |
1095 | + 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:/