qemu-e2k/tests/qemu-iotests
Kevin Wolf cc29c12ec6 iotests: Make 144 deterministic again
Since commit effd60c8 changed how QMP commands are processed, the order
of the block-commit return value and job events in iotests 144 wasn't
fixed and more and caused the test to fail intermittently.

Change the test to cache events first and then print them in a
predefined order.

Waiting three times for JOB_STATUS_CHANGE is a bit uglier than just
waiting for the JOB_STATUS_CHANGE that has "status": "ready", but the
tooling we have doesn't seem to allow the latter easily.

Fixes: effd60c878
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2126
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20240209173103.239994-1-kwolf@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2024-02-15 16:40:06 +00:00
..
sample_images
tests tests: Add case for LUKS volume with detached header 2024-02-09 12:50:38 +00:00
001
001.out
002
002.out
003
003.out
004
004.out
005
005.out
007
007.out
008
008.out
009
009.out
010
010.out
011
011.out
012
012.out
013
013.out
014
014.out
015
015.out
017
017.out
018
018.out
019
019.out
020
020.out
021
021.out
022
022.out
023
023.out
024 iotests/{024, 271}: add testcases for qemu-img rebase 2023-10-31 13:51:28 +01:00
024.out iotests/{024, 271}: add testcases for qemu-img rebase 2023-10-31 13:51:28 +01:00
025
025.out
026
026.out
026.out.nocache
027
027.out
028
028.out
029 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
029.out
030 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
030.out
031
031.out
032
032.out
033
033.out
034
034.out
035
035.out
036
036.out
037
037.out
038
038.out
039
039.out
040 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
040.out
041 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
041.out
042
042.out
043
043.out
044
044.out
045 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
045.out
046 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
046.out
047
047.out
048
048.out
049
049.out
050
050.out
051
051.out
051.pc.out block: Introduce bdrv_schedule_unref() 2023-09-20 17:46:01 +02:00
052
052.out
053
053.out
054
054.out
055 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
055.out
056 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
056.out
057
057.out
058
058.out
059 vmdk: Don't corrupt desc file in vmdk_write_cid 2023-11-28 14:56:32 +01:00
059.out vmdk: Don't corrupt desc file in vmdk_write_cid 2023-11-28 14:56:32 +01:00
060
060.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
061 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
061.out
062
062.out
063
063.out
064
064.out
065
065.out
066
066.out
068
068.out
069
069.out
070
070.out
071 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
071.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
072
072.out
073
073.out
074
074.out
075
075.out
076
076.out
077
077.out
078
078.out
079
079.out
080
080.out qemu-img: omit errno value in error message 2023-09-08 17:03:09 +02:00
081
081.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
082
082.out
083
083.out
084
084.out
085
085.out
086
086.out
087
087.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
088
088.out
089
089.out
090
090.out
091
091.out
092
092.out
093 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
093.out
094
094.out
095
095.out
096
096.out
097
097.out
098
098.out
099
099.out
101
101.out
102
102.out
103
103.out
104
104.out
105
105.out
106
106.out
107
107.out
108
108.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
109 monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
109.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
110
110.out
111
111.out
112
112.out qemu-img: omit errno value in error message 2023-09-08 17:03:09 +02:00
113
113.out
114
114.out
115
115.out
116
116.out
117
117.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
118 iotests: Test media change with iothreads 2023-10-31 13:51:33 +01:00
118.out
119
119.out
120
120.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
121
121.out
122
122.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
123
123.out
124 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
124.out
125
125.out
126
126.out
127
127.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
128
128.out
129 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
129.out
130
130.out
131 tests: extend test 131 to cover availability of the write-zeroes 2023-09-21 08:49:28 +02:00
131.out tests: extend test 131 to cover availability of the write-zeroes 2023-09-21 08:49:28 +02:00
132 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
132.out
133
133.out
134
134.out
135
135.out
136
136.out
137
137.out
138
138.out
139 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
139.out
140
140.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
141 iotests: port 141 to Python for reliable QMP testing 2024-01-26 11:16:58 +01:00
141.out iotests: port 141 to Python for reliable QMP testing 2024-01-26 11:16:58 +01:00
142
142.out
143
143.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
144 iotests: Make 144 deterministic again 2024-02-15 16:40:06 +00:00
144.out iotests: Make 144 deterministic again 2024-02-15 16:40:06 +00:00
145
145.out
146
146.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
147 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
147.out
148
148.out
149 tests/qemu-iotests/149: Use more inclusive language in this test 2023-12-04 15:12:51 +01:00
149.out tests/qemu-iotests/149: Use more inclusive language in this test 2023-12-04 15:12:51 +01:00
150
150.out.qcow2
150.out.raw
151 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
151.out
152 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
152.out
153
153.out
154
154.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
155 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
155.out
156
156.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
157
157.out
158
158.out
159
159.out
160
160.out
161
161.out
162
162.out
163
163.out
165 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
165.out
170
170.out
171
171.out
172
172.out
173
173.out
174
174.out
175
175.out
176
176.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
177
177.out
178
178.out.qcow2
178.out.raw
179
179.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
181 docs tests: Fix use of migrate_set_parameter 2023-09-08 13:08:52 +03:00
181.out
182
182.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
183 qemu-iotests: Filter warnings about block migration being deprecated 2023-10-31 08:44:33 +01:00
183.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
184
184.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
185 monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
185.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
186
186.out
187
187.out
188
188.out
189
189.out
190
190.out
191
191.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
192
192.out
194
194.out
195
195.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
196 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
196.out
197 trivial patches for 2023-09-08 2023-09-08 10:06:25 -04:00
197.out qemu-iotests/197: use more generic commands for formats other than qcow2 2023-09-07 20:32:02 -05:00
198
198.out
200
200.out
201
201.out
202 block: remove outdated AioContext locking comments 2023-12-21 22:49:27 +01:00
202.out
203 block: remove outdated AioContext locking comments 2023-12-21 22:49:27 +01:00
203.out
204
204.out
205 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
205.out
206
206.out
207
207.out
208
208.out
209
209.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
210
210.out crypto: Introduce 'detached-header' field in QCryptoBlockInfoLUKS 2024-02-09 12:50:37 +00:00
211
211.out
212
212.out
213
213.out
214
214.out
215 tests/: spelling fixes 2023-09-08 13:08:52 +03:00
215.out
216
216.out
217
217.out
218 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
218.out
219
219.out
220
220.out
221
221.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
223
223.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
224
224.out
225
225.out
226
226.out
227
227.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
228
228.out
229
229.out
231
231.out
232
232.out
233
233.out nbd/client: Request extended headers during negotiation 2023-10-05 11:02:08 -05:00
234
234.out qapi: Remove deprecated 'singlestep' member of StatusInfo 2024-01-19 11:38:32 +01:00
235
235.out
236
236.out
237
237.out
238
238.out
239
239.out
240
240.out
241
241.out nbd/client: Request extended headers during negotiation 2023-10-05 11:02:08 -05:00
242
242.out
243
243.out
244
244.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
245 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
245.out
246
246.out
247
247.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
248
248.out
249
249.out
250
250.out
251
251.out
252
252.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
253
253.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
254
254.out
255
255.out
256 python/qemu: rename command() to cmd() 2023-10-12 14:21:43 -04:00
256.out
257 python/qemu: rename command() to cmd() 2023-10-12 14:21:43 -04:00
257.out
258
258.out
259
259.out
260
260.out
261
261.out
262
262.out qapi: Remove deprecated 'singlestep' member of StatusInfo 2024-01-19 11:38:32 +01:00
263
263.out
264 iotests/264: Use iotests.sock_dir for socket creation 2024-01-26 11:17:18 +01:00
264.out
265
265.out
266
266.out
267
267.out
268
268.out
270
270.out
271 iotests: add tests for "qemu-img rebase" with compression 2023-10-31 13:51:28 +01:00
271.out iotests: add tests for "qemu-img rebase" with compression 2023-10-31 13:51:28 +01:00
272
272.out
273
273.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
274
274.out qemu-img: map: report compressed data blocks 2023-09-20 17:46:01 +02:00
277 iotests/277: Use iotests.sock_dir for socket creation 2024-01-26 12:27:41 +01:00
277.out
279
279.out
280
280.out qapi: Remove deprecated 'singlestep' member of StatusInfo 2024-01-19 11:38:32 +01:00
281 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
281.out
282
282.out
283
283.out
284
284.out
286
286.out
287
287.out
288
288.out
289
289.out
290
290.out
292
292.out
293
293.out
294
294.out
295 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
295.out
296 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
296.out
297
297.out
298 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
298.out
299
299.out
300 python: use vm.cmd() instead of vm.qmp() where appropriate 2023-10-12 14:21:44 -04:00
300.out
301
301.out
302
302.out
303
303.out
304
304.out
305
305.out
307
307.out nbd/server: Add FLAG_PAYLOAD support to CMD_BLOCK_STATUS 2023-10-05 11:02:08 -05:00
308 monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
308.out monitor: only run coroutine commands in qemu_aio_context 2024-01-26 11:16:58 +01:00
310
310.out
312
312.out
313
313.out
314 iotests: add tests for "qemu-img rebase" with compression 2023-10-31 13:51:28 +01:00
314.out iotests: add tests for "qemu-img rebase" with compression 2023-10-31 13:51:28 +01:00
check iotests: fix leak of tmpdir in dry-run mode 2024-02-07 14:58:53 +01:00
common.filter qemu-iotests: Filter warnings about block migration being deprecated 2023-10-31 08:44:33 +01:00
common.nbd
common.pattern
common.qemu
common.rc iotests: use TEST_IMG_FILE instead of TEST_IMG in _require_large_file 2023-09-22 17:12:54 -05:00
common.tls
findtests.py
iotests.py iotests: add filter_qmp_generated_node_ids() 2024-01-26 11:16:58 +01:00
linters.py iotests: use the correct python to run linters 2023-10-17 15:20:46 +02:00
Makefile
meson.build configure, meson: rename targetos to host_os 2023-12-31 09:11:29 +01:00
mypy.ini
nbd-fault-injector.py
pylintrc tests/: spelling fixes 2023-09-08 13:08:52 +03:00
qcow2_format.py
qcow2.py
qed.py
README
testenv.py iotests: give tempdir an identifying name 2024-02-07 15:00:54 +01:00
testrunner.py

=== This is the QEMU I/O test suite ===

* Intro

This package contains a simple test suite for the I/O layer of qemu.
It does not require a guest, but only the qemu, qemu-img and qemu-io
binaries.  This does limit it to exercise the low-level I/O path only
but no actual block drivers like ide, scsi or virtio.

* Usage

Just run ./check to run all tests for the raw image format, or ./check
-qcow2 to test the qcow2 image format.  The output of ./check -h explains
additional options to test further image formats or I/O methods.

* Feedback and patches

Please send improvements to the test suite, general feedback or just
reports of failing tests cases to qemu-devel@nongnu.org with a CC:
to qemu-block@nongnu.org.