summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-08 10:28:35 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-02-08 10:28:35 -0500
commit041196dc73d55d73c8b165168312eb5e0a018704 (patch)
tree823570b60b09802aeae89385b75e14f19b219b5d
parent78fd9074eb06945870e8545d75ea2bacec9b4090 (diff)
downloadbcfg2-041196dc73d55d73c8b165168312eb5e0a018704.tar.gz
bcfg2-041196dc73d55d73c8b165168312eb5e0a018704.tar.bz2
bcfg2-041196dc73d55d73c8b165168312eb5e0a018704.zip
testsuite: improved error messages from assertXMLEqual
-rw-r--r--testsuite/common.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/testsuite/common.py b/testsuite/common.py
index e26d0be61..4bf5c85f3 100644
--- a/testsuite/common.py
+++ b/testsuite/common.py
@@ -13,6 +13,7 @@ import re
import sys
import codecs
import unittest
+import lxml.etree
from mock import patch, MagicMock, _patch, DEFAULT
from Bcfg2.Compat import wraps
@@ -265,11 +266,18 @@ class Bcfg2TestCase(unittest.TestCase):
""" Test that the two XML trees given are equal. Both
elements and all children are expected to have ``name``
attributes. """
- self.assertEqual(el1.tag, el2.tag, msg=msg)
- self.assertEqual(el1.text, el2.text, msg=msg)
- self.assertItemsEqual(el1.attrib.items(), el2.attrib.items(), msg=msg)
+ if msg is None:
+ msg = "XML trees were not equal"
+ fullmsg = msg + "\nFirst: %s" % lxml.etree.tostring(el1) + \
+ "\nSecond: %s" % lxml.etree.tostring(el2)
+
+ self.assertEqual(el1.tag, el2.tag, msg=fullmsg)
+ self.assertEqual(el1.text, el2.text, msg=fullmsg)
+ self.assertItemsEqual(el1.attrib.items(), el2.attrib.items(),
+ msg=fullmsg)
self.assertEqual(len(el1.getchildren()),
- len(el2.getchildren()))
+ len(el2.getchildren()),
+ msg=fullmsg)
for child1 in el1.getchildren():
cname = child1.get("name")
self.assertIsNotNone(cname,