From 4d6f296e8e5d3f839ef4868390bbec27cb12e068 Mon Sep 17 00:00:00 2001 From: jgm Date: Tue, 17 Jan 2012 15:11:32 +0000 Subject: Adds file and line information to the "message", which is used as the summary of a failure. --- test/gtest_xml_output_unittest.py | 10 +++++----- test/gtest_xml_test_utils.py | 13 +++++++++---- 2 files changed, 14 insertions(+), 9 deletions(-) (limited to 'test') diff --git a/test/gtest_xml_output_unittest.py b/test/gtest_xml_output_unittest.py index 83903002..1bcd4187 100755 --- a/test/gtest_xml_output_unittest.py +++ b/test/gtest_xml_output_unittest.py @@ -63,7 +63,7 @@ EXPECTED_NON_EMPTY_XML = """ - @@ -71,10 +71,10 @@ Expected: 1%(stack)s]]> - - @@ -82,14 +82,14 @@ Expected: 2%(stack)s]]> - ]]>%(stack)s]]> - diff --git a/test/gtest_xml_test_utils.py b/test/gtest_xml_test_utils.py index f94d634b..0e5a1089 100755 --- a/test/gtest_xml_test_utils.py +++ b/test/gtest_xml_test_utils.py @@ -156,8 +156,9 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): * The "type_param" attribute of elements is replaced with a single asterisk (if it sn non-empty) as it is the type name returned by the compiler and is platform dependent. - * The line number reported in the first line of the "message" - attribute of elements is replaced with a single asterisk. + * The line info reported in the first line of the "message" + attribute and CDATA section of elements is replaced with the + file's basename and a single asterisk for the line number. * The directory names in file paths are removed. * The stack traces are removed. """ @@ -173,10 +174,14 @@ class GTestXMLTestCase(gtest_test_utils.TestCase): if type_param and type_param.value: type_param.value = '*' elif element.tagName == 'failure': + source_line_pat = r'^.*[/\\](.*:)\d+\n' + # Replaces the source line information with a normalized form. + message = element.getAttributeNode('message') + message.value = re.sub(source_line_pat, '\\1*\n', message.value) for child in element.childNodes: if child.nodeType == Node.CDATA_SECTION_NODE: - # Removes the source line number. - cdata = re.sub(r'^.*[/\\](.*:)\d+\n', '\\1*\n', child.nodeValue) + # Replaces the source line information with a normalized form. + cdata = re.sub(source_line_pat, '\\1*\n', child.nodeValue) # Removes the actual stack trace. child.nodeValue = re.sub(r'\nStack trace:\n(.|\n)*', '', cdata) -- cgit v1.2.3