diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2016-03-30 13:43:04 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2016-03-30 13:43:05 +0100 |
| commit | b9c27e7ae6fb1387eafe858d8378ff14cd1c5b89 (patch) | |
| tree | 5a66308f776272b19396a47005f5e6438047c8bc /tests/qemu-iotests/iotests.py | |
| parent | 8850dcbfd7664fab86ab49d9c27b6fa700d71618 (diff) | |
| parent | f4e732a0a773c4e44c2c183a5d63cd850ffb57d1 (diff) | |
| download | focaccia-qemu-b9c27e7ae6fb1387eafe858d8378ff14cd1c5b89.tar.gz focaccia-qemu-b9c27e7ae6fb1387eafe858d8378ff14cd1c5b89.zip | |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches
# gpg: Signature made Wed 30 Mar 2016 11:57:54 BST using RSA key ID C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>"
* remotes/kevin/tags/for-upstream: (48 commits)
iotests: Test qemu-img convert -S 0 behavior
block/null-{co,aio}: Implement get_block_status()
block/null-{co,aio}: Allow reading zeroes
qemu-img: Fix preallocation with -S 0 for convert
block: Remove bdrv_(set_)enable_write_cache()
block: Remove BDRV_O_CACHE_WB
block: Remove bdrv_parse_cache_flags()
qemu-io: Use bdrv_parse_cache_mode() in reopen_f()
block: Use bdrv_parse_cache_mode() in drive_init()
raw: Support BDRV_REQ_FUA
nbd: Support BDRV_REQ_FUA
iscsi: Support BDRV_REQ_FUA
block: Introduce bdrv_co_writev_flags()
block/qapi: Use blk_enable_write_cache()
block: Move enable_write_cache to BB level
block: Handle flush error in bdrv_pwrite_sync()
block: Always set writeback mode in blk_new_open()
block: blockdev_init(): Call blk_set_enable_write_cache() explicitly
xen_disk: Call blk_set_enable_write_cache() explicitly
qemu-img: Call blk_set_enable_write_cache() explicitly
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests/qemu-iotests/iotests.py')
| -rw-r--r-- | tests/qemu-iotests/iotests.py | 48 |
1 files changed, 40 insertions, 8 deletions
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 0a238ec1b7..8499e1b611 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -29,7 +29,9 @@ import qtest import struct __all__ = ['imgfmt', 'imgproto', 'test_dir' 'qemu_img', 'qemu_io', - 'VM', 'QMPTestCase', 'notrun', 'main'] + 'VM', 'QMPTestCase', 'notrun', 'main', 'verify_image_format', + 'verify_platform', 'filter_test_dir', 'filter_win32', + 'filter_qemu_io', 'filter_chown', 'log'] # This will not work if arguments contain spaces but is necessary if we # want to support the override options that ./check supports. @@ -71,7 +73,9 @@ def qemu_img_verbose(*args): def qemu_img_pipe(*args): '''Run qemu-img and return its output''' - subp = subprocess.Popen(qemu_img_args + list(args), stdout=subprocess.PIPE) + subp = subprocess.Popen(qemu_img_args + list(args), + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) exitcode = subp.wait() if exitcode < 0: sys.stderr.write('qemu-img received signal %i: %s\n' % (-exitcode, ' '.join(qemu_img_args + list(args)))) @@ -80,7 +84,8 @@ def qemu_img_pipe(*args): def qemu_io(*args): '''Run qemu-io and return the stdout data''' args = qemu_io_args + list(args) - subp = subprocess.Popen(args, stdout=subprocess.PIPE) + subp = subprocess.Popen(args, stdout=subprocess.PIPE, + stderr=subprocess.STDOUT) exitcode = subp.wait() if exitcode < 0: sys.stderr.write('qemu-io received signal %i: %s\n' % (-exitcode, ' '.join(args))) @@ -101,6 +106,28 @@ def create_image(name, size): i = i + 512 file.close() +test_dir_re = re.compile(r"%s" % test_dir) +def filter_test_dir(msg): + return test_dir_re.sub("TEST_DIR", msg) + +win32_re = re.compile(r"\r") +def filter_win32(msg): + return win32_re.sub("", msg) + +qemu_io_re = re.compile(r"[0-9]* ops; [0-9\/:. sec]* \([0-9\/.inf]* [EPTGMKiBbytes]*\/sec and [0-9\/.inf]* ops\/sec\)") +def filter_qemu_io(msg): + msg = filter_win32(msg) + return qemu_io_re.sub("X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)", msg) + +chown_re = re.compile(r"chown [0-9]+:[0-9]+") +def filter_chown(msg): + return chown_re.sub("chown UID:GID", msg) + +def log(msg, filters=[]): + for flt in filters: + msg = flt(msg) + print msg + # Test if 'match' is a recursive subset of 'event' def event_match(event, match=None): if match is None: @@ -391,17 +418,22 @@ def notrun(reason): print '%s not run: %s' % (seq, reason) sys.exit(0) -def main(supported_fmts=[], supported_oses=['linux']): - '''Run tests''' - - debug = '-d' in sys.argv - verbosity = 1 +def verify_image_format(supported_fmts=[]): if supported_fmts and (imgfmt not in supported_fmts): notrun('not suitable for this image format: %s' % imgfmt) +def verify_platform(supported_oses=['linux']): if True not in [sys.platform.startswith(x) for x in supported_oses]: notrun('not suitable for this OS: %s' % sys.platform) +def main(supported_fmts=[], supported_oses=['linux']): + '''Run tests''' + + debug = '-d' in sys.argv + verbosity = 1 + verify_image_format(supported_fmts) + verify_platform(supported_oses) + # We need to filter out the time taken from the output so that qemu-iotest # can reliably diff the results against master output. import StringIO |