From a7f72a59ba3214f19c7bd66a7ef465ecc22794dd Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Tue, 19 Feb 2013 19:39:55 +0000 Subject: Fix XMLMatcher error reporting The nova.tests.matchers.XMLMismatch class implements the get_details() method returning a dictionary with the expect and actual XML output. It is returning a string values, but the testtools code requires that the dictionary values are instances of the testtools.content.Content object. To quote the 'get_details' docs on testtools.matchers.Mismatch :return: a dict mapping names to Content objects. name is a string to name the detail, and the Content object is the detail to add to the result. For more information see the API to which items from this dict are passed testtools.TestCase.addDetail. Related bug #1130146 Change-Id: I75ec07d8b34b04c7b8009229fda49b344ed13bec Signed-off-by: Daniel P. Berrange --- nova/tests/matchers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nova/tests/matchers.py b/nova/tests/matchers.py index be65da823..280b2842c 100644 --- a/nova/tests/matchers.py +++ b/nova/tests/matchers.py @@ -20,6 +20,8 @@ import pprint +from testtools import content + from lxml import etree @@ -226,8 +228,8 @@ class XMLMismatch(object): def get_details(self): return { - 'expected': self.expected, - 'actual': self.actual, + 'expected': content.text_content(self.expected), + 'actual': content.text_content(self.actual), } -- cgit