mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 11:23:43 +08:00
iotests/028: Fix for long $TEST_DIRs
For long test image paths, the order of the "Formatting" line and the "(qemu)" prompt after a drive_backup HMP command may be reversed. In fact, the interaction between the prompt and the line may lead to the "Formatting" to being greppable at all after "read"-ing it (if the prompt injects an IFS character into the "Formatting" string). So just wait until we get a prompt. At that point, the block job must have been started, so "info block-jobs" will only return "No active jobs" once it is done. Reported-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
f2208fdc5b
commit
48c8d3ce6d
@ -119,9 +119,14 @@ fi
|
||||
# Silence output since it contains the disk image path and QEMU's readline
|
||||
# character echoing makes it very hard to filter the output. Plus, there
|
||||
# is no telling how many times the command will repeat before succeeding.
|
||||
_send_qemu_cmd $h "drive_backup disk ${TEST_IMG}.copy" "(qemu)" >/dev/null
|
||||
_send_qemu_cmd $h "" "Formatting" | _filter_img_create
|
||||
qemu_cmd_repeat=20 _send_qemu_cmd $h "info block-jobs" "No active jobs" >/dev/null
|
||||
# (Note that creating the image results in a "Formatting..." message over
|
||||
# stdout, which is the same channel the monitor uses. We cannot reliably
|
||||
# wait for it because the monitor output may interact with it in such a
|
||||
# way that _timed_wait_for cannot read it. However, once the block job is
|
||||
# done, we know that the "Formatting..." message must have appeared
|
||||
# already, so the output is still deterministic.)
|
||||
silent=y _send_qemu_cmd $h "drive_backup disk ${TEST_IMG}.copy" "(qemu)"
|
||||
silent=y qemu_cmd_repeat=20 _send_qemu_cmd $h "info block-jobs" "No active jobs"
|
||||
_send_qemu_cmd $h "info block-jobs" "No active jobs"
|
||||
_send_qemu_cmd $h 'quit' ""
|
||||
|
||||
|
@ -468,7 +468,6 @@ No errors were found on the image.
|
||||
|
||||
block-backup
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.copy', fmt=IMGFMT size=4294968832 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
(qemu) info block-jobs
|
||||
No active jobs
|
||||
=== IO: pattern 195
|
||||
|
Loading…
Reference in New Issue
Block a user