qemu/tests/qemu-iotests
Kevin Wolf 23e6c3c41b iotests: Test active commit with iothread and background I/O
This is a better regression test for the bugs hidden by commit 80fc5d26
('graph-lock: Disable locking for now'). With that commit reverted, it
hangs instantaneously and reliably for me.

It is important to have a reliable test like this, because the following
commits will set out to fix the actual root cause of the deadlocks and
then finally revert commit 80fc5d26, which was only a stopgap solution.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20230605085711.21261-2-kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2023-06-28 08:45:46 +02:00
..
sample_images
tests iotests: Test active commit with iothread and background I/O 2023-06-28 08:45:46 +02: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 Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
022.out
023
023.out
024
024.out
025 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
025.out
026
026.out
026.out.nocache
027 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
027.out
028 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
028.out
029
029.out
030 iotests: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +02:00
030.out
031 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
031.out
032
032.out
033
033.out
034
034.out
035
035.out
036 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
036.out
037
037.out
038
038.out
039 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
039.out
040 iotests/040: Fix TestCommitWithFilters test 2022-04-25 14:30:09 +02:00
040.out
041 iotests: Fix status checks 2022-03-29 16:30:55 +02:00
041.out
042
042.out
043
043.out
044 iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
044.out iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
045
045.out
046
046.out
047
047.out
048
048.out
049
049.out cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05:00
050
050.out
051 block: Refactor get_tmp_filename() 2022-10-27 20:13:32 +02:00
051.out monitor: do not use mb_read/mb_set for suspend_cnt 2023-05-25 10:18:33 +02:00
051.pc.out monitor: do not use mb_read/mb_set for suspend_cnt 2023-05-25 10:18:33 +02:00
052
052.out
053
053.out
054
054.out
055
055.out
056 iotests: Don't check qemu_io() output for specific error strings 2022-04-25 14:30:04 +02:00
056.out
057
057.out
058
058.out
059 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
059.out
060 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
060.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
061 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
061.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
062 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
062.out
063
063.out
064 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
064.out
065 qemu-img: Let info print block graph 2023-02-01 16:52:33 +01:00
065.out
066 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
066.out
068 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
068.out
069 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
069.out
070 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
070.out
071 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
071.out
072 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
072.out
073
073.out
074 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
074.out
075
075.out
076
076.out
077
077.out
078
078.out
079
079.out
080
080.out
081
081.out
082
082.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
083
083.out
084 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
084.out
085 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
085.out block: Fail gracefully when blockdev-snapshot creates loops 2021-11-02 13:02:46 +01:00
086
086.out
087
087.out
088
088.out
089 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
089.out
090 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
090.out
091 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
091.out
092
092.out
093
093.out
094 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
094.out
095 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
095.out
096
096.out
097 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
097.out
098 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
098.out
099 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
099.out
101
101.out
102 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
102.out
103 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
103.out
104
104.out
105 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
105.out
106 iotests/106, 214, 308: Read only one size line 2023-02-01 16:52:33 +01:00
106.out
107 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
107.out
108 tests/qemu-iotests: skip 108 when FUSE is not loaded 2022-07-12 12:14:56 +02:00
108.out iotests/108: Test new refcount rebuild algorithm 2022-04-20 12:09:17 +02:00
109
109.out job: @force parameter for job_cancel_sync() 2021-10-07 10:42:09 +02:00
110 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
110.out
111 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
111.out
112 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
112.out
113 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
113.out
114
114.out
115 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
115.out
116
116.out
117 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
117.out
118
118.out
119 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
119.out
120 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
120.out
121 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
121.out
122 iotests: Test qemu-img convert of zeroed data cluster 2022-01-14 12:03:16 +01:00
122.out qemu-img: make is_allocated_sectors() more efficient 2022-01-14 12:03:16 +01:00
123 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
123.out
124
124.out
125 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
125.out
126 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
126.out
127 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
127.out
128
128.out
129 pylint: fix errors and warnings generated by tests/qemu-iotests/297 2021-11-02 12:47:51 +01:00
129.out
130
130.out
131 iotests/131: Add parallels regression test 2022-07-26 22:05:20 +03:00
131.out iotests/131: Add parallels regression test 2022-07-26 22:05:20 +03:00
132
132.out
133
133.out
134
134.out
135 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
135.out
136
136.out
137 iotests: massive use _qcow2_dump_header 2022-02-01 10:51:39 +01:00
137.out
138 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
138.out
139
139.out
140 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
140.out
141 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
141.out blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
142 file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
142.out file-posix: Fix alignment after reopen changing O_DIRECT 2021-11-16 11:30:29 +01:00
143 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
143.out
144 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
144.out
145
145.out
146 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
146.out
147
147.out
148
148.out
149 iotests: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +02:00
149.out iotests/149: Remove qemu_img_pipe() call 2022-03-22 10:14:37 +01:00
150 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
150.out.qcow2
150.out.raw
151 iotests/151: Test active requests on mirror start 2022-11-10 13:33:57 +01:00
151.out iotests/151: Test active requests on mirror start 2022-11-10 13:33:57 +01:00
152
152.out
153 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
153.out
154
154.out
155
155.out
156 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
156.out
157
157.out
158
158.out
159
159.out
160
160.out
161
161.out
162 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
162.out
163 iotests/163: Fix broken qemu-io invocation 2022-04-25 14:30:03 +02:00
163.out
165 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
165.out
170
170.out
171
171.out
172 tests/qemu-iotests/172: Run QEMU with -vga none and -nic none 2023-05-22 09:44:48 +02:00
172.out block: add missed block_acct_setup with new block device init procedure 2022-09-30 18:42:34 +02:00
173 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
173.out
174
174.out
175
175.out
176 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
176.out
177
177.out
178
178.out.qcow2 cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05:00
178.out.raw cutils: Use parse_uint in qemu_strtosz for negative rejection 2023-06-02 12:29:27 -05:00
179
179.out
181
181.out
182 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
182.out
183
183.out
184
184.out
185 iotests/185: Add post-READY quit tests 2022-03-04 18:14:40 +01:00
185.out iotests/185: Add post-READY quit tests 2022-03-04 18:14:40 +01:00
186 tests/qemu-iotests: Require virtio-scsi-pci 2023-02-14 09:11:27 +01:00
186.out
187
187.out
188
188.out
189
189.out
190
190.out
191
191.out
192 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
192.out
194 iotests: fix 194: filter out racy postcopy-active event 2023-06-07 08:36:55 -07:00
194.out iotests: fix 194: filter out racy postcopy-active event 2023-06-07 08:36:55 -07:00
195
195.out
196 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
196.out
197
197.out
198
198.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
200 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
200.out
201
201.out
202 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
202.out
203 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
203.out
204
204.out
205 iotests: rebase qemu_io() on top of qemu_tool() 2022-04-25 14:30:27 +02:00
205.out
206 iotests: Use aes-128-cbc 2021-11-23 15:39:12 +01:00
206.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
207 iotests/207: Filter host fingerprint 2022-03-22 10:50:10 +01:00
207.out iotests/207: Filter host fingerprint 2022-03-22 10:50:10 +01:00
208
208.out
209 iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
209.out iotests: drop qemu_img_verbose() helper 2022-02-01 10:51:39 +01:00
210 iotests.py: img_info_log(): rename imgopts argument 2022-02-01 10:51:39 +01:00
210.out iotests: Use aes-128-cbc 2021-11-23 15:39:12 +01:00
211 iotests: add qemu_img_map() function 2022-03-22 10:14:34 +01:00
211.out iotests: add qemu_img_map() function 2022-03-22 10:14:34 +01:00
212
212.out
213
213.out
214 iotests/106, 214, 308: Read only one size line 2023-02-01 16:52:33 +01:00
214.out
215
215.out
216 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
216.out
217
217.out
218 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
218.out
219
219.out
220
220.out
221
221.out
223 iotests/223: check new possibility of exporting bitmaps by node/name 2022-04-26 13:15:56 -05:00
223.out tests/qemu-iotests: hotfix for 307, 223 output 2022-07-12 12:14:56 +02:00
224 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
224.out
225 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
225.out
226
226.out
227
227.out block: add accounting for zone append operation 2023-05-15 08:18:10 -04:00
228 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
228.out
229 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
229.out
231 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
231.out
232
232.out
233 tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
233.out tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
234 iotests: replace unchecked calls to qemu_img_pipe() 2022-03-22 10:14:36 +01:00
234.out
235 iotests: add 'qemu' package location to PYTHONPATH in testenv 2021-10-06 10:25:55 +02:00
235.out
236
236.out
237 iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +01:00
237.out iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +01:00
238
238.out
239
239.out
240
240.out
241 tests/qemu-iotests: introduce filter for qemu-nbd export list 2022-03-07 17:12:45 -06:00
241.out tests/qemu-iotests: introduce filter for qemu-nbd export list 2022-03-07 17:12:45 -06:00
242 iotests: replace calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +02:00
242.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
243
243.out
244
244.out
245 iotests/245: Check if 'compress' driver is available 2023-05-19 19:12:12 +02:00
245.out iotests/245: Check if 'compress' driver is available 2023-05-19 19:12:12 +02:00
246 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
246.out
247
247.out
248
248.out
249
249.out
250 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
250.out
251 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
251.out
252 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
252.out
253
253.out
254 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
254.out
255 iotests: replace calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +02:00
255.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
256 iotests: Make verify_virtio_scsi_pci_or_ccw() public 2023-05-30 17:29:44 +02:00
256.out
257 iotests: make qemu_img raise on non-zero rc by default 2022-03-22 10:14:26 +01:00
257.out block: copy-before-write: realize snapshot-access API 2022-03-07 09:33:31 +01:00
258 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
258.out
259 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
259.out
260 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
260.out
261 iotests: update test owner contact information 2022-03-29 16:30:55 +02:00
261.out
262 tests/qemu-iotests/262: Check for availability of "blkverify" first 2023-01-24 18:26:41 +01:00
262.out
263
263.out
264 tests/qemu-iotests/264: Allow up to 5s for the BLOCK_JOB_CANCEL event to arrive 2022-08-07 18:51:35 +02:00
264.out
265
265.out
266 iotests: make qemu_img_log and img_info_log raise on error 2022-03-22 10:39:36 +01:00
266.out
267
267.out
268
268.out
270
270.out
271 tests/qemu-iotests: Rework the checks and spots using GNU sed 2022-03-04 18:18:26 +01:00
271.out qcow2: handle_dependencies(): relax conflict detection 2021-09-15 15:54:07 +02:00
272
272.out
273
273.out block: drop BLK_PERM_GRAPH_MOD 2022-01-14 12:03:16 +01:00
274 iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
274.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
277
277.out
279
279.out
280 iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
280.out iotests: replace qemu_img_log('create', ...) calls 2022-03-22 10:14:41 +01:00
281 iotests/281: Let NBD connection yield in iothread 2022-02-11 14:06:18 +01:00
281.out iotests/281: Let NBD connection yield in iothread 2022-02-11 14:06:18 +01:00
282
282.out
283 blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
283.out blockjob: drop BlockJob.blk field 2021-12-28 15:18:59 +01:00
284
284.out
286
286.out
287 iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
287.out
288
288.out
289
289.out
290 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
290.out
292
292.out
293
293.out
294
294.out
295
295.out
296 iotests: remove remaining calls to qemu_img_pipe() 2022-03-22 10:14:38 +01:00
296.out crypto: perform permission checks under BQL 2022-03-04 18:14:39 +01:00
297 iotests: split linters.py out from 297 2021-11-01 11:54:59 -04:00
297.out
298 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
298.out
299
299.out
300 iotests/300: avoid abnormal shutdown race condition 2021-11-01 11:54:59 -04:00
300.out
301
301.out
302 iotest 302: use img_info_log() helper 2022-02-01 10:51:39 +01:00
302.out qemu-img: Change info key names for protocol nodes 2023-02-01 16:52:33 +01:00
303 iotests: replace calls to log(qemu_io(...)) with qemu_io_log() 2022-04-25 14:30:02 +02:00
303.out iotest 303: explicit compression type 2022-02-01 10:51:39 +01:00
304
304.out
305
305.out
307
307.out tests/qemu-iotests: hotfix for 307, 223 output 2022-07-12 12:14:56 +02:00
308 iotests/308: Add test for 'write -zu' 2023-03-10 15:14:46 +01:00
308.out iotests/308: Add test for 'write -zu' 2023-03-10 15:14:46 +01:00
310 iotests: remove qemu_io_silent() and qemu_io_silent_check(). 2022-04-25 14:30:34 +02:00
310.out
312 tests/qemu-iotests/312: Mark "quorum" as required driver 2023-01-24 18:26:41 +01:00
312.out
313
313.out
check iotests: strip subdir path when listing tests 2023-03-22 15:08:26 +00:00
common.filter iotests: Fix test 104 under NBD 2023-06-02 11:24:18 -05:00
common.nbd
common.pattern
common.qemu
common.rc iotests: Fix test 104 under NBD 2023-06-02 11:24:18 -05:00
common.tls tests/qemu-iotests: validate NBD TLS with UNIX sockets and PSK 2022-03-07 17:13:31 -06:00
findtests.py
iotests.py iotests: Make verify_virtio_scsi_pci_or_ccw() public 2023-05-30 17:29:44 +02:00
linters.py iotests/linters: Add workaround for mypy bug #9852 2021-11-01 11:54:59 -04:00
Makefile
meson.build build: move sanitizer tests to meson 2023-05-18 08:53:52 +02:00
mypy.ini iotests/297: Have mypy ignore unused ignores 2022-07-12 13:55:24 +02:00
nbd-fault-injector.py
pylintrc iotests: add copy-before-write: on-cbw-error tests 2022-06-29 10:55:14 +03:00
qcow2.py
qcow2_format.py
qed.py
README
testenv.py iotests: allow test discovery before building 2023-03-22 15:08:26 +00:00
testrunner.py iotests: always use a unique sub-directory per test 2023-03-22 15:08:26 +00:00

=== 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.