qemu-e2k/tests/qemu-iotests
John Snow 50465f94d2 python/machine: raise VMLaunchFailure exception from launch()
This allows us to pack in some extra information about the failure,
which guarantees that if the caller did not *intentionally* cause a
failure (by capturing this Exception), some pretty good clues will be
printed at the bottom of the traceback information.

This will help make failures in the event of a non-negative return code
more obvious when they go unhandled; the current behavior in
_post_shutdown() is to print a warning message only in the event of
signal-based terminations (for negative return codes).

(Note: In Python, catching BaseException instead of Exception catches a
broader array of Exception events, including SystemExit and
KeyboardInterrupt. We do not want to "wrap" such exceptions as a
VMLaunchFailure, because that will 'downgrade' the exception from a
BaseException to a regular Exception. We do, however, want to perform
cleanup in either case, so catch on the broadest scope and
wrap-and-re-raise only in the more targeted scope.)

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-id: 20220201041134.1237016-3-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
2022-02-02 14:12:22 -05:00
..
sample_images
tests python/machine: raise VMLaunchFailure exception from launch() 2022-02-02 14:12:22 -05: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
024.out
025
025.out
026
026.out
026.out.nocache
027
027.out
028
028.out
029
029.out
030 iotests/030: Unthrottle parallel jobs in reverse 2021-11-16 09:43:48 +01: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: massive use _qcow2_dump_header 2022-02-01 10:51:39 +01:00
036.out
037
037.out
038
038.out
039 iotest 39: use _qcow2_dump_header 2022-02-01 10:51:39 +01:00
039.out
040
040.out
041
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
050
050.out
051 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
051.out
051.pc.out
052
052.out
053
053.out
054
054.out
055
055.out
056
056.out
057
057.out
058
058.out
059
059.out
060 iotests 60: more accurate set dirty bit in qcow2 header 2022-02-01 10:51:39 +01:00
060.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
061 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
061.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
062
062.out
063
063.out
064
064.out
065 iotest 065: explicit compression type 2022-02-01 10:51:39 +01:00
065.out
066
066.out
068
068.out
069
069.out
070
070.out
071
071.out
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
081
081.out
082
082.out iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
083
083.out
084
084.out
085 block: Fail gracefully when blockdev-snapshot creates loops 2021-11-02 13:02:46 +01: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
089.out
090
090.out
091
091.out
092
092.out
093
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
109
109.out
110
110.out
111
111.out
112 iotests: declare lack of support for compresion_type in IMGOPTS 2022-02-01 10:51:39 +01:00
112.out
113
113.out
114
114.out
115
115.out
116
116.out
117
117.out
118
118.out
119
119.out
120
120.out
121
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
123.out
124
124.out
125
125.out
126
126.out
127
127.out
128
128.out
129
129.out
130
130.out
131
131.out
132
132.out
133
133.out
134
134.out
135
135.out
136
136.out
137 iotests: massive use _qcow2_dump_header 2022-02-01 10:51:39 +01:00
137.out
138
138.out
139
139.out
140
140.out
141
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
143.out
144
144.out
145
145.out
146
146.out
147
147.out
148
148.out
149 iotests/149: Skip on unsupported ciphers 2021-11-23 15:39:12 +01:00
149.out iotests.py: filter out successful output of qemu-img create 2022-02-01 10:51:39 +01:00
150
150.out.qcow2
150.out.raw
151
151.out
152
152.out
153
153.out
154
154.out
155
155.out
156
156.out
157
157.out
158
158.out
159
159.out
160
160.out
161
161.out
162
162.out
163 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01: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
172.out
173
173.out
174
174.out
175
175.out
176
176.out
177
177.out
178
178.out.qcow2
178.out.raw
179
179.out
181
181.out
182
182.out
183
183.out
184
184.out
185
185.out
186
186.out
187
187.out
188
188.out
189
189.out
190
190.out
191
191.out
192
192.out
194
194.out
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
200.out
201
201.out
202
202.out
203
203.out
204
204.out
205
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
207.out
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
211.out
212
212.out
213
213.out
214 iotest 214: explicit compression type 2022-02-01 10:51:39 +01:00
214.out
215
215.out
216
216.out
217
217.out
218
218.out
219
219.out
220
220.out
221
221.out
223
223.out
224
224.out
225
225.out
226
226.out
227
227.out
228
228.out
229
229.out
231
231.out
232
232.out
233
233.out
234
234.out
235
235.out
236
236.out
237
237.out iotests.py: filter out successful output of qemu-img create 2022-02-01 10:51:39 +01:00
238
238.out
239
239.out
240
240.out
241
241.out
242 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
242.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
243
243.out
244
244.out
245
245.out
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
250.out
251
251.out
252
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
255.out iotests.py: filter out successful output of qemu-img create 2022-02-01 10:51:39 +01:00
256
256.out
257
257.out
258
258.out
259
259.out
260 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
260.out
261
261.out
262
262.out
263
263.out
264
264.out
265
265.out
266
266.out
267
267.out
268
268.out
270
270.out
271
271.out
272
272.out
273
273.out block: drop BLK_PERM_GRAPH_MOD 2022-01-14 12:03:16 +01:00
274 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
274.out iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
277
277.out
279
279.out
280
280.out iotests.py: filter out successful output of qemu-img create 2022-02-01 10:51:39 +01:00
281 iotests: specify some unsupported_imgopts for python iotests 2022-02-01 10:51:39 +01:00
281.out
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
296.out iotests.py: filter out successful output of qemu-img create 2022-02-01 10:51:39 +01:00
297
297.out
298
298.out
299
299.out
300
300.out
301
301.out
302 iotest 302: use img_info_log() helper 2022-02-01 10:51:39 +01:00
302.out iotest 302: use img_info_log() helper 2022-02-01 10:51:39 +01:00
303 iotest 303: explicit compression type 2022-02-01 10:51:39 +01: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
308 iotests/308: Fix for CAP_DAC_OVERRIDE 2022-01-14 12:03:16 +01:00
308.out iotests/308: Fix for CAP_DAC_OVERRIDE 2022-01-14 12:03:16 +01:00
310
310.out
312
312.out
313
313.out
Makefile
README
check check-block: replace -makecheck with TAP output 2022-01-28 11:13:33 +01:00
common.config
common.filter iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
common.nbd
common.pattern
common.qemu
common.rc iotests: bash tests: filter compression type 2022-02-01 10:51:39 +01:00
common.tls
findtests.py
iotests.py iotests.py: filter compression type out 2022-02-01 10:51:39 +01:00
linters.py
meson.build check-block: replace -makecheck with TAP output 2022-01-28 11:13:33 +01:00
mypy.ini
nbd-fault-injector.py
pylintrc
qcow2.py
qcow2_format.py
qed.py
testenv.py check-block: replace -makecheck with TAP output 2022-01-28 11:13:33 +01:00
testrunner.py check-block: replace -makecheck with TAP output 2022-01-28 11:13:33 +01:00

README

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