[PATCH 02/12] tests/nodedev: make compare recursive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>

This will allow to have nested dict for childrens. See the following
commits.

Signed-off-by: Marc-André Lureau <marcandre.lureau@xxxxxxxxxx>
---
 tests/nodedev.py | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/tests/nodedev.py b/tests/nodedev.py
index 5d9fdec8..1a69c823 100644
--- a/tests/nodedev.py
+++ b/tests/nodedev.py
@@ -68,18 +68,26 @@ class TestNodeDev(unittest.TestCase):
         return NodeDevice.parse(conn, xml)
 
     def _testCompare(self, devname, vals, devxml=None):
+        def _compare(dev, vals, root=""):
+            for attr in vals.keys():
+                expect = vals[attr]
+                actual = getattr(dev, attr)
+                if isinstance(expect, list):
+                    for adev, exp in zip(actual, expect):
+                        _compare(adev, exp, attr + ".")
+                else:
+                    if expect != actual:
+                        raise AssertionError("devname=%s attribute=%s%s did not match:\n"
+                            "expect=%s\nactual=%s" % (devname, root, attr, expect, actual))
+                    self.assertEqual(vals[attr], getattr(dev, attr))
+
         if devxml:
             dev = NodeDevice.parse(conn, devxml)
         else:
             dev = self._nodeDevFromName(devname)
 
-        for attr in vals.keys():
-            expect = vals[attr]
-            actual = getattr(dev, attr)
-            if expect != actual:
-                raise AssertionError("devname=%s attribute=%s did not match:\n"
-                    "expect=%s\nactual=%s" % (devname, attr, expect, actual))
-            self.assertEqual(vals[attr], getattr(dev, attr))
+        _compare(dev, vals)
+        return dev
 
     def _testNode2DeviceCompare(self, nodename, devfile, nodedev=None):
         devfile = os.path.join("tests/nodedev-xml/devxml", devfile)
-- 
2.11.0.295.gd7dffce1c.dirty

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list




[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux