On 05/22/2015 11:02 AM, Kevin Wolf wrote: > 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 >
What's the minimum version requirement for RHEL6, for future information? --js