[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH v6 19/21] iotests: add simple incre
From: |
John Snow |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH v6 19/21] iotests: add simple incremental backup case |
Date: |
Fri, 22 May 2015 11:29:56 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
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 <address@hidden>
>> Reviewed-by: Max Reitz <address@hidden>
>> ---
>> 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