Replace HMP 'savevm' with QMP 'snapshot-save' job-based API. Use _launch_qemu/_send_qemu_cmd for proper QMP interaction.
Signed-off-by: Marc-André Lureau <[email protected]> --- tests/qemu-iotests/007 | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/qemu-iotests/007 b/tests/qemu-iotests/007 index 936d3f14fbad..06096149ce83 100755 --- a/tests/qemu-iotests/007 +++ b/tests/qemu-iotests/007 @@ -29,6 +29,7 @@ status=1 # failure is the default! _cleanup() { + _cleanup_qemu _cleanup_test_img true } @@ -37,6 +38,7 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # get standard environment, filters and checks . ./common.rc . ./common.filter +. ./common.qemu # currently only qcow2 allows for consistency checks using qemu-img _supported_fmt qcow2 @@ -50,12 +52,23 @@ echo echo "creating image" _make_test_img 1M -for ((i=1;i<=10;i++)); do - echo "savevm $i" - $QEMU -nographic -hda "$TEST_IMG" -serial none -monitor stdio >/dev/null 2>&1 <<EOF -savevm test-$i -quit -EOF +silent=yes +for ((n=1;n<=10;n++)); do + echo "savevm $n" + _launch_qemu \ + -drive if=none,id=drive0,node-name=disk0,file="$TEST_IMG",format="$IMGFMT" \ + -device virtio-scsi,id=hba0 -device scsi-hd,drive=drive0 + _send_qemu_cmd $QEMU_HANDLE \ + "{ 'execute': 'qmp_capabilities' }" 'return' + _run_qmp_job $QEMU_HANDLE 'save' \ + "{ 'execute': 'snapshot-save', + 'arguments': { 'job-id': 'save', + 'tag': 'test-$n', + 'vmstate': 'disk0', + 'devices': ['disk0'] } }" + _send_qemu_cmd $QEMU_HANDLE \ + "{ 'execute': 'quit' }" 'return' + _cleanup_qemu done echo -- 2.56.0.rc0.29.g47ce80527c56
