iotests: rewrite check into python

Just use classes introduced in previous three commits. Behavior
difference is described in these three commits.

Drop group file, as it becomes unused.

Drop common.env: now check is in python, and for tests we use same
python interpreter that runs the check itself. Use build environment
PYTHON in check-block instead, to keep "make check" use the same
python.

Checking for virtio-blk moved to iotests.py, as it actually iotests.py
dependency. Actually not all python iotests depend on it, so in future
it may be refactored to checked only when really needed.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210125185056.129513-6-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Vladimir Sementsov-Ogievskiy 2021-01-25 21:50:55 +03:00 committed by Kevin Wolf
parent d74c754c92
commit f203080bbd
7 changed files with 139 additions and 1297 deletions

View File

@ -236,7 +236,6 @@ distclean: clean
rm -f config-host.mak config-host.h*
rm -f tests/tcg/config-*.mak
rm -f config-all-disas.mak config.status
rm -f tests/qemu-iotests/common.env
rm -f roms/seabios/config.mak roms/vgabios/config.mak
rm -f qemu-plugins-ld.symbols qemu-plugins-ld64.symbols
rm -f *-config-target.h *-config-devices.mak *-config-devices.h

View File

@ -73,10 +73,11 @@ cd tests/qemu-iotests
# QEMU_CHECK_BLOCK_AUTO is used to disable some unstable sub-tests
export QEMU_CHECK_BLOCK_AUTO=1
export PYTHONUTF8=1
ret=0
for fmt in $format_list ; do
./check -makecheck -$fmt $group || ret=1
${PYTHON} ./check -makecheck -$fmt $group || ret=1
done
exit $ret

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
# Automatically generated by configure - do not modify
export PYTHON='@PYTHON@'

View File

@ -1,323 +0,0 @@
#
# QA groups control file
# Defines test groups
#
# Some notes about the groups:
#
# - do not start group names with a digit
#
# - quick : Tests in this group should finish within some few seconds.
#
# - img : Tests in this group can be used to excercise the qemu-img tool.
#
# - auto : Tests in this group are used during "make check" and should be
# runnable in any case. That means they should run with every QEMU binary
# (also non-x86), with every QEMU configuration (i.e. must not fail if
# an optional feature is not compiled in - but reporting a "skip" is ok),
# work at least with the qcow2 file format, work with all kind of host
# filesystems and users (e.g. "nobody" or "root") and must not take too
# much memory and disk space (since CI pipelines tend to fail otherwise).
#
#
# test-group association ... one line per test
#
001 rw auto quick
002 rw auto quick
003 rw auto
004 rw auto quick
005 img auto quick
# 006 was removed, do not reuse
007 snapshot auto
008 rw auto quick
009 rw auto quick
010 rw auto quick
011 rw auto quick
012 auto quick
013 rw auto
014 rw
015 rw snapshot
# 016 was removed, do not reuse
017 rw backing auto quick
018 rw backing auto quick
019 rw backing auto quick
020 rw backing auto quick
021 io auto quick
022 rw snapshot auto
023 rw
024 rw backing auto quick
025 rw auto quick
026 rw blkdbg
027 rw auto quick
028 rw backing quick
029 rw auto quick
030 rw auto backing
031 rw auto quick
032 rw auto quick
033 rw auto quick
034 rw auto backing quick
035 rw auto quick
036 rw auto quick
037 rw auto backing quick
038 rw auto backing quick
039 rw auto quick
040 rw auto
041 rw auto backing
042 rw auto quick
043 rw auto backing
044 rw
045 rw quick
046 rw auto aio quick
047 rw auto quick
048 img auto quick
049 rw auto
050 rw auto backing quick
051 rw
052 rw auto backing quick
053 rw auto quick
054 rw auto quick
055 rw
056 rw backing
057 rw
058 rw quick
059 rw quick
060 rw auto quick
061 rw auto
062 rw auto quick
063 rw auto quick
064 rw quick
065 rw quick
066 rw auto quick
# 067 was removed, do not reuse
068 rw quick
069 rw auto quick
070 rw quick
071 rw auto quick
072 rw auto quick
073 rw auto quick
074 rw auto quick
075 rw quick
076 io
077 rw quick
078 rw quick
079 rw auto
080 rw auto
081 rw quick
082 rw quick
083 rw
084 img quick
085 rw
086 rw auto quick
087 rw quick
088 rw quick
089 rw auto quick
090 rw auto quick
091 rw migration quick
092 rw quick
093 throttle
094 rw quick
095 rw quick
096 rw quick
097 rw auto backing
098 rw auto backing quick
099 rw auto quick
# 100 was removed, do not reuse
101 rw quick
102 rw quick
103 rw auto quick
104 rw auto
105 rw auto quick
106 rw quick
107 rw auto quick
108 rw auto quick
109 rw
110 rw auto backing quick
111 rw auto quick
112 rw
113 rw quick
114 rw auto quick
115 rw
116 rw quick
117 rw auto
118 rw
119 rw quick
120 rw auto quick
121 rw
122 rw
123 rw quick
124 rw backing
125 rw
126 rw auto backing
127 rw auto backing quick
128 rw quick
129 rw quick
130 rw quick
131 rw quick
132 rw quick
133 auto quick
134 rw auto quick
135 rw
136 rw
137 rw auto
138 rw auto quick
139 rw quick
140 rw auto quick
141 rw auto quick
142
143 auto quick
144 rw quick
145 quick
146 quick
147 img
148 rw quick
149 rw sudo
150 rw auto quick
151 rw
152 rw quick
153 rw quick
154 rw auto backing quick
155 rw
156 rw auto quick
157 quick
158 rw auto quick
159 rw auto quick
160 rw quick
161 rw auto quick
162 quick
163 rw
165 rw quick
169 rw migration
170 rw auto quick
171 rw quick
172 auto
173 rw
174 auto
175 quick
176 rw auto backing
177 rw auto quick
178 img
179 rw auto quick
181 rw auto migration quick
182 rw quick
183 rw migration quick
184 rw auto quick
185 rw
186 rw auto
187 rw auto
188 rw quick
189 rw
190 rw auto quick
191 rw auto
192 rw auto quick
194 rw migration quick
195 rw auto quick
196 rw quick migration
197 rw quick
198 rw
199 rw migration
200 rw
201 rw migration quick
202 rw quick
203 rw auto migration quick
204 rw quick
205 rw quick
206 rw
207 rw
208 rw quick
209 rw quick
210 rw
211 rw quick
212 rw quick
213 rw quick
214 rw auto
215 rw quick
216 rw quick
217 rw auto quick
218 rw quick
219 rw
220 rw auto
221 rw quick
222 rw quick
223 rw quick
224 rw quick
225 rw quick
226 auto quick
227 quick
228 rw quick
229 auto quick
231 quick
232 quick
233 quick
234 quick migration
235 quick
236 quick
237 rw quick
238 quick
239 rw quick
240 quick
241 rw quick
242 rw quick
243 rw quick
244 rw auto quick
245 rw
246 rw quick
247 rw quick
248 rw quick
249 rw auto quick
250 rw quick
251 rw auto quick
252 rw auto backing quick
253 rw quick
254 rw backing quick
255 rw quick
256 rw auto quick
257 rw
258 rw quick
259 rw auto quick
260 rw quick
261 rw
262 rw quick migration
263 rw quick
264 rw
265 rw auto quick
266 rw quick
267 rw auto quick snapshot
268 rw auto quick
270 rw backing quick
271 rw auto
272 rw
273 backing quick
274 rw backing
277 rw quick
279 rw backing quick
280 rw migration quick
281 rw quick
282 rw img quick
283 auto quick
284 rw
286 rw quick
287 auto quick
288 quick
289 rw quick
290 rw auto quick
291 rw quick
292 rw auto quick
293 rw
294 rw quick
295 rw
296 rw
297 meta
298
299 auto quick
300 migration
301 backing quick
302 quick
303 rw quick
304 rw quick
305 rw quick
307 rw quick export
308 rw
309 rw auto quick
310 rw quick
312 rw quick
313 rw auto quick

View File

@ -1131,6 +1131,13 @@ def _verify_formats(required_formats: Sequence[str] = ()) -> None:
if usf_list:
notrun(f'formats {usf_list} are not whitelisted')
def _verify_virtio_blk() -> None:
out = qemu_pipe('-M', 'none', '-device', 'help')
if 'virtio-blk' not in out:
notrun('Missing virtio-blk in QEMU binary')
def supports_quorum():
return 'quorum' in qemu_img_pipe('--help')
@ -1308,6 +1315,7 @@ def execute_setup_common(supported_fmts: Sequence[str] = (),
_verify_cache_mode(supported_cache_modes)
_verify_aio_mode(supported_aio_modes)
_verify_formats(required_fmts)
_verify_virtio_blk()
return debug

View File

@ -3,6 +3,3 @@ if 'CONFIG_LINUX' in config_host
else
socket_scm_helper = []
endif
configure_file(output: 'common.env',
input: files('common.env.in'),
configuration: {'PYTHON': python.full_path()})