Change in vdsm[master]: net: tests: make monitor test_events_keys more readable

phoracek at redhat.com phoracek at redhat.com
Mon Aug 17 13:28:11 UTC 2015


Petr Horáček has uploaded a new change for review.

Change subject: net: tests: make monitor test_events_keys more readable
......................................................................

net: tests: make monitor test_events_keys more readable

When this tests fails, print lists of expected and caught events.

Change-Id: I543c12b1d02d426472807831da3a875ec4c3289c
Signed-off-by: Petr Horáček <phoracek at redhat.com>
---
M tests/netlinkTests.py
1 file changed, 17 insertions(+), 4 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/27/44927/1

diff --git a/tests/netlinkTests.py b/tests/netlinkTests.py
index 9751c53..f225341 100644
--- a/tests/netlinkTests.py
+++ b/tests/netlinkTests.py
@@ -94,10 +94,17 @@
 
     @ValidateRunningAsRoot
     def test_events_keys(self):
+        def _simplify_event(event):
+            """ Strips event keys except event, address, name, destination,
+            family.
+            """
+            allow = set(['event', 'address', 'name', 'destination', 'family'])
+            return {k: v for (k, v) in event.items() if k in allow}
+
         def _expected_events(nic, address, cidr):
             events_add = [
+                {'event': 'new_addr', 'address': address + '/' + cidr},  # down
                 {'event': 'new_link', 'name': nic},
-                {'event': 'new_addr', 'address': address + '/' + cidr},
                 {'event': 'new_link', 'name': nic}]
             events_del = [
                 {'address': address + '/' + cidr, 'event': 'del_addr'},
@@ -120,17 +127,23 @@
             dummy.remove(dummy_name)
 
             expected_events = _expected_events(dummy_name, IP_ADDRESS, IP_CIDR)
+            _expected = list(expected_events)
+            _caught = []
 
             expected = expected_events.popleft()
             for event in mon:
+                _caught.append(event)
                 if _is_subdict(expected, event):
                     expected = expected_events.popleft()
                     if len(expected_events) == 0:
                         break
 
-        self.assertEqual(0, len(expected_events), '%d expected events have not'
-                         ' been caught (in the right order)'
-                         % (1 + len(expected_events)))
+        self.assertEqual(0, len(expected_events), 'Expected events have not '
+                         'been caught (in the right order).\n'
+                         'Expected:\n%s.\nCaught:\n%s.' %
+                         ('\n'.join([str(d) for d in _expected]),
+                          '\n'.join([str(_simplify_event(d))
+                                     for d in _caught])))
 
     def test_timeout(self):
         with self.assertRaises(monitor.MonitorError):


-- 
To view, visit https://gerrit.ovirt.org/44927
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I543c12b1d02d426472807831da3a875ec4c3289c
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Petr Horáček <phoracek at redhat.com>


More information about the vdsm-patches mailing list