Am 18.04.2015 um 01:50 hat John Snow geschrieben: > Signed-off-by: John Snow <js...@redhat.com> > Reviewed-by: Max Reitz <mre...@redhat.com> > --- > tests/qemu-iotests/124 | 174 > +++++++++++++++++++++++++++++++++++++++++++-- > tests/qemu-iotests/124.out | 4 +- > 2 files changed, 172 insertions(+), 6 deletions(-) > > diff --git a/tests/qemu-iotests/124 b/tests/qemu-iotests/124 > index 85675ec..5c3b434 100644 > --- a/tests/qemu-iotests/124 > +++ b/tests/qemu-iotests/124 > @@ -29,6 +29,51 @@ def io_write_patterns(img, patterns): > iotests.qemu_io('-c', 'write -P%s %s %s' % pattern, img) > > > +def try_remove(img): > + try: > + os.remove(img) > + except OSError: > + pass > + > + > +class Bitmap: > + def __init__(self, name, drive): > + self.name = name > + self.drive = drive > + self.num = 0 > + self.backups = list() > + > + def base_target(self): > + return (self.drive['backup'], None) > + > + def new_target(self, num=None): > + if num is None: > + num = self.num > + self.num = num + 1 > + base = os.path.join(iotests.test_dir, > + "%s.%s." % (self.drive['id'], self.name)) > + suff = "%i.%s" % (num, self.drive['fmt']) > + target = base + "inc" + suff > + reference = base + "ref" + suff > + self.backups.append((target, reference)) > + return (target, reference) > + > + def last_target(self): > + if self.backups: > + return self.backups[-1] > + return self.base_target() > + > + def del_target(self): > + for image in self.backups.pop(): > + try_remove(image) > + self.num -= 1 > + > + def cleanup(self): > + for backup in self.backups: > + for image in backup: > + try_remove(image) > + > + > class TestIncrementalBackup(iotests.QMPTestCase): > def setUp(self): > self.bitmaps = list() > @@ -73,6 +118,128 @@ class TestIncrementalBackup(iotests.QMPTestCase): > iotests.qemu_img('create', '-f', fmt, img, size) > self.files.append(img) > > + > + def do_qmp_backup(self, error='Input/output error', **kwargs): > + res = self.vm.qmp('drive-backup', **kwargs) > + self.assert_qmp(res, 'return', {}) > + > + event = self.vm.event_wait(name="BLOCK_JOB_COMPLETED", > + match={'data': {'device': > kwargs['device']}}) > + self.assertIsNotNone(event)
RHEL 6 doesn't have self.assertIsNotNone(), so 124 fails there now. Can you send a follow-up patch to fix this? Kevin