From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36194) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YvoTc-0005um-0O for qemu-devel@nongnu.org; Fri, 22 May 2015 11:03:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YvoTa-0006MI-Gu for qemu-devel@nongnu.org; Fri, 22 May 2015 11:03:07 -0400 Date: Fri, 22 May 2015 17:02:57 +0200 From: Kevin Wolf Message-ID: <20150522150257.GC4267@noname.redhat.com> References: <1429314609-29776-1-git-send-email-jsnow@redhat.com> <1429314609-29776-20-git-send-email-jsnow@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1429314609-29776-20-git-send-email-jsnow@redhat.com> Subject: Re: [Qemu-devel] [PATCH v6 19/21] iotests: add simple incremental backup case List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: John Snow Cc: famz@redhat.com, qemu-block@nongnu.org, qemu-devel@nongnu.org, armbru@redhat.com, vsementsov@parallels.com, stefanha@redhat.com, mreitz@redhat.com Am 18.04.2015 um 01:50 hat John Snow geschrieben: > Signed-off-by: John Snow > Reviewed-by: Max Reitz > --- > 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