diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2016-07-26 17:16:07 +0100 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2016-07-26 18:28:40 +0200 |
commit | 4c44b4a4c816a0450b80feb14d692c9c8b80fbd2 (patch) | |
tree | e930fed8593d6842ea04099bf29867b1ec2e65f4 /tests/qemu-iotests | |
parent | c7c4cf498fc46c0dc6b0866ea5f00e056cae15bb (diff) |
iotest: fix python based IO tests
The previous commit refactoring iotests.py:
commit 66613974468fb6e1609fb3eabf55981b1ee436cf
Author: Daniel P. Berrange <berrange@redhat.com>
Date: Wed Jul 20 14:23:10 2016 +0100
scripts: refactor the VM class in iotests for reuse
was not properly tested and included a number of broken
bits.
- The 'event_match' method was not moved into qemu.py
- The 'self._args' list parameter in QEMUMachine needs
to be copied otherwise modifications will affect the
global 'qemu_opts' variable in iotests.py
- The QEMUQtestMachine class methods had inverted
parameter order for the super() calls
- The QEMUQtestMachine class forgot to add
'-machine accel=qtest'
- The QEMUQtestMachine class constructor needs to set
a default 'name' value before using it as it may
be None
- The QEMUQtestMachine class constructor needs to use
named parameters when calling the super constructor
as it is leaving out some positional parameters.
- The 'qemu_prog' variable should be a string not a
list in iotests.py
- The VM classs constructor needs to use named
parameters when calling the super constructor
as it is leaving out some positional parameters.
- The path to the socket-scm-helper needs to be
passed into the QEMUMachine class
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-id: 1469549767-27249-1-git-send-email-berrange@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'tests/qemu-iotests')
-rw-r--r-- | tests/qemu-iotests/iotests.py | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 14427f44f9..dbe0ee548a 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -39,7 +39,7 @@ qemu_io_args = [os.environ.get('QEMU_IO_PROG', 'qemu-io')] if os.environ.get('QEMU_IO_OPTIONS'): qemu_io_args += os.environ['QEMU_IO_OPTIONS'].strip().split(' ') -qemu_prog = [os.environ.get('QEMU_PROG', 'qemu')] +qemu_prog = os.environ.get('QEMU_PROG', 'qemu') qemu_opts = os.environ.get('QEMU_OPTIONS', '').strip().split(' ') imgfmt = os.environ.get('IMGFMT', 'raw') @@ -128,28 +128,12 @@ def log(msg, 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: - return True - - for key in match: - if key in event: - if isinstance(event[key], dict): - if not event_match(event[key], match[key]): - return False - elif event[key] != match[key]: - return False - else: - return False - - return True - -class VM(qtest.QEMUMachine): +class VM(qtest.QEMUQtestMachine): '''A QEMU VM''' def __init__(self): - super(self, VM).__init__(qemu_prog, qemu_opts, test_dir) + super(VM, self).__init__(qemu_prog, qemu_opts, test_dir=test_dir, + socket_scm_helper=socket_scm_helper) self._num_drives = 0 def add_drive_raw(self, opts): |