From 329d64bb044d9248eeb0b692c87426826a57f2b4 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 15 Jun 2014 23:40:34 +0200 Subject: [PATCH] Show the diff when a Doxygen test fails. This is much more readable than just dumping the expected output and the actual result produced by SWIG, especially for longer Doxygen comments. Remove the bunch of commented out code and also do not save the results in the file, this is not very useful as it's not even clear which test the files correspond to and annoying when these files are left over later. If anybody really uses this functionality, it ought to be optional. --- Examples/test-suite/python/commentVerifier.py | 31 +++---------------- 1 file changed, 5 insertions(+), 26 deletions(-) diff --git a/Examples/test-suite/python/commentVerifier.py b/Examples/test-suite/python/commentVerifier.py index e231565c2..ea840935a 100644 --- a/Examples/test-suite/python/commentVerifier.py +++ b/Examples/test-suite/python/commentVerifier.py @@ -1,29 +1,8 @@ - def check(got, expected): - #if got is Null - # raise RuntimeError('Expected comment string\n') - #gotStr = string.replace(got, ' ', '') - #gotStr = string.replace(gotStr, '\n', '') - # gotStr = string.replace(gotStr, '\t', '') - #expectedStr = string.replace(expected, ' ', '') - #expectedStr = string.replace(expectedStr, '\n', '') - #expectedStr = string.replace(expectedStr, '\t', '') - - if got == None: # when there is no commant attached to a class or function + if got is None: # Absence of comment is equivalent to empty comment. got = '' - if not got == expected: - print("\n\n////////////////////////////////////////////////////////////////////////") - - expectedFileName = "expected.txt" - gotFileName = "got.txt" - print("Output is also saved to files '" + expectedFileName + \ - "' and '" + gotFileName + "'") - - expectedFile = open(expectedFileName, "w") - expectedFile.write(expected) - expectedFile.close() - gotFile = open(gotFileName, "w") - gotFile.write(got) - gotFile.close() - raise RuntimeError("Expected: [" + str(expected) + "]\n" + "Got : [" + str(got) + "]\n") + if got != expected: + from difflib import unified_diff + diff = unified_diff(expected.splitlines(True), got.splitlines(True), "expected", "got") + raise RuntimeError("Comments don't match:\n" + "".join(diff))