Commit e4ca4e98 authored by Max Reitz's avatar Max Reitz
Browse files

iotests: Let 216 make use of qemu-io's exit code



As a showcase of how you can use qemu-io's exit code to determine
success or failure (same for qemu-img), this test is changed to use
qemu_io_silent() instead of qemu_io(), and to assert the exit code
instead of logging the filtered result.

One real advantage of this is that in case of an error, you get a
backtrace that helps you locate the issue in the test file quickly.

Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
Reviewed-by: default avatarEric Blake <eblake@redhat.com>
Message-id: 20180509194302.21585-6-mreitz@redhat.com
Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
parent 745f2bf4
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@
# Creator/Owner: Max Reitz <mreitz@redhat.com>

import iotests
from iotests import log, qemu_img_pipe, qemu_io, filter_qemu_io
from iotests import log, qemu_img, qemu_io_silent

# Need backing file support
iotests.verify_image_format(supported_fmts=['qcow2', 'qcow', 'qed', 'vmdk'])
@@ -50,14 +50,13 @@ with iotests.FilePath('base.img') as base_img_path, \
    log('--- Setting up images ---')
    log('')

    qemu_img_pipe('create', '-f', iotests.imgfmt, base_img_path, '64M')
    assert qemu_img('create', '-f', iotests.imgfmt, base_img_path, '64M') == 0
    assert qemu_io_silent(base_img_path, '-c', 'write -P 1 0M 1M') == 0
    assert qemu_img('create', '-f', iotests.imgfmt, '-b', base_img_path,
                    top_img_path) == 0
    assert qemu_io_silent(top_img_path,  '-c', 'write -P 2 1M 1M') == 0

    log(filter_qemu_io(qemu_io(base_img_path, '-c', 'write -P 1 0M 1M')))

    qemu_img_pipe('create', '-f', iotests.imgfmt, '-b', base_img_path,
                  top_img_path)

    log(filter_qemu_io(qemu_io(top_img_path,  '-c', 'write -P 2 1M 1M')))
    log('Done')

    log('')
    log('--- Doing COR ---')
@@ -110,6 +109,8 @@ with iotests.FilePath('base.img') as base_img_path, \
    log('--- Checking COR result ---')
    log('')

    log(filter_qemu_io(qemu_io(base_img_path, '-c', 'discard 0 64M')))
    log(filter_qemu_io(qemu_io(top_img_path,  '-c', 'read -P 1 0M 1M')))
    log(filter_qemu_io(qemu_io(top_img_path,  '-c', 'read -P 2 1M 1M')))
    assert qemu_io_silent(base_img_path, '-c', 'discard 0 64M') == 0
    assert qemu_io_silent(top_img_path,  '-c', 'read -P 1 0M 1M') == 0
    assert qemu_io_silent(top_img_path,  '-c', 'read -P 2 1M 1M') == 0

    log('Done')
+2 −15
Original line number Diff line number Diff line
@@ -3,12 +3,7 @@

--- Setting up images ---

wrote 1048576/1048576 bytes at offset 0
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

wrote 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

Done

--- Doing COR ---

@@ -17,12 +12,4 @@ wrote 1048576/1048576 bytes at offset 1048576

--- Checking COR result ---

discard 67108864/67108864 bytes at offset 0
64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

read 1048576/1048576 bytes at offset 0
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)

read 1048576/1048576 bytes at offset 1048576
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
Done