Cole Robinson <crobinso@xxxxxxxxxx> writes: > On 04/01/2015 09:13 AM, Giuseppe Scrivano wrote: >> Cole Robinson <crobinso@xxxxxxxxxx> writes: >> >>> ACK, but I'm surprised the test suite doesn't need tweaking. maybe we should >>> extend a clone test to use the fake qemu URI so we can validate format copying >>> in the output disk XML >> >> as follow-up, I've added a test for the cloned disks. OK to push it? >> >> Thanks, >> Giuseppe >> >> From 66c1ace004d4f2dccf48cd00ab32c7aeee503691 Mon Sep 17 00:00:00 2001 >> From: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> >> Date: Wed, 1 Apr 2015 15:07:51 +0200 >> Subject: [PATCH] tests: check that clone keeps the same image format for disks >> >> Signed-off-by: Giuseppe Scrivano <gscrivan@xxxxxxxxxx> >> --- >> tests/clone-xml/cross-pool-disks-out.xml | 22 ++++++++++++++++++++++ >> tests/clone-xml/cross-pool-out.xml | 2 +- >> tests/clonetest.py | 21 ++++++++++++++++----- >> 3 files changed, 39 insertions(+), 6 deletions(-) >> create mode 100644 tests/clone-xml/cross-pool-disks-out.xml >> >> diff --git a/tests/clone-xml/cross-pool-disks-out.xml b/tests/clone-xml/cross-pool-disks-out.xml >> new file mode 100644 >> index 0000000..8eb3acb >> --- /dev/null >> +++ b/tests/clone-xml/cross-pool-disks-out.xml >> @@ -0,0 +1,22 @@ >> +<volume> >> + <name>new1.img</name> >> + <capacity>1073</capacity> >> + <allocation>1073</allocation> >> + <target> >> + <format type="qcow2"/> >> + <features> >> + <lazy_refcounts/> >> + </features> >> + </target> >> +</volume> >> +<volume> >> + <name>new2.img</name> >> + <capacity>1000000</capacity> >> + <allocation>50000</allocation> >> + <target> >> + <format type="qcow2"/> >> + <features> >> + <lazy_refcounts/> >> + </features> >> + </target> >> +</volume> >> diff --git a/tests/clone-xml/cross-pool-out.xml b/tests/clone-xml/cross-pool-out.xml >> index 4200dce..5541adf 100644 >> --- a/tests/clone-xml/cross-pool-out.xml >> +++ b/tests/clone-xml/cross-pool-out.xml >> @@ -22,7 +22,7 @@ >> <target dev="hda" bus="ide"/> >> </disk> >> <disk type="file" device="disk"> >> - <source file="/dev/cross-pool/new2.img"/> >> + <source file="/dev/default-pool/new2.img"/> >> <target dev="hdb" bus="ide"/> >> </disk> >> <interface type="network"> >> diff --git a/tests/clonetest.py b/tests/clonetest.py >> index 0119201..5789d41 100644 >> --- a/tests/clonetest.py >> +++ b/tests/clonetest.py >> @@ -1,4 +1,4 @@ >> -# Copyright (C) 2013 Red Hat, Inc. >> +# Copyright (C) 2013, 2015 Red Hat, Inc. >> # >> # This program is free software; you can redistribute it and/or modify >> # it under the terms of the GNU General Public License as published by >> @@ -55,7 +55,8 @@ class TestClone(unittest.TestCase): >> os.unlink(f) >> >> def _clone_helper(self, filebase, disks=None, force_list=None, >> - skip_list=None, compare=True, useconn=None): >> + skip_list=None, compare=True, useconn=None, >> + clone_disks_file=None): >> """Helper for comparing clone input/output from 2 xml files""" >> infile = os.path.join(clonexml_dir, filebase + "-in.xml") >> in_content = utils.read_file(infile) >> @@ -70,7 +71,8 @@ class TestClone(unittest.TestCase): >> cloneobj = self._default_clone_values(cloneobj, disks) >> >> if compare: >> - self._clone_compare(cloneobj, filebase) >> + self._clone_compare(cloneobj, filebase, >> + clone_disks_file=clone_disks_file) >> self._clone_define(filebase) >> else: >> cloneobj.setup() >> @@ -90,13 +92,18 @@ class TestClone(unittest.TestCase): >> cloneobj.clone_paths = disks >> return cloneobj >> >> - def _clone_compare(self, cloneobj, outbase): >> + def _clone_compare(self, cloneobj, outbase, clone_disks_file=None): >> """Helps compare output from passed clone instance with an xml file""" >> outfile = os.path.join(clonexml_dir, outbase + "-out.xml") >> >> cloneobj.setup() >> >> utils.diff_compare(cloneobj.clone_xml, outfile) >> + if clone_disks_file: >> + xml_clone_disks = "" >> + for i in cloneobj.get_clone_disks(): >> + xml_clone_disks += i.get_vol_install().get_xml_config() >> + utils.diff_compare(xml_clone_disks, clone_disks_file) >> >> def _clone_define(self, filebase): >> """Take the valid output xml and attempt to define it on the >> @@ -138,8 +145,12 @@ class TestClone(unittest.TestCase): >> >> def testCloneStorageCrossPool(self): >> base = "cross-pool" >> + useconn = utils.open_test_remote() >> + clone_disks_file = os.path.join(clonexml_dir, base + "-disks-out.xml") >> self._clone_helper(base, ["%s/new1.img" % POOL2, >> - "%s/new2.img" % POOL2]) >> + "%s/new2.img" % POOL1], >> + clone_disks_file=clone_disks_file, >> + useconn=useconn) >> >> def testCloneStorageForce(self): >> base = "force" >> > > ACK pushed. Thanks, Giuseppe _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list