Add poor man trailing white space detection to Doxygen Python tests.

Show that there is trailing white space in the output in an ugly but
functional way, as without this it's impossible to determine what is the
actual change at all.
This commit is contained in:
Vadim Zeitlin 2014-07-13 20:31:43 +02:00
commit eaf63ba47d

View file

@ -3,6 +3,24 @@ def check(got, expected):
got = ''
if got != expected:
import re
p = re.compile(r'^[+-]([^+-].*\S)?(\s+)$', re.M)
def make_trailing_spaces_visible(str):
def replace_trailing_spaces(match):
res = match.group(0)
spaces = match.group(2)
if spaces is not None:
res = res + "{+%d trailing spaces}" % len(spaces)
return res
return re.sub(p, replace_trailing_spaces, str)
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))
diff = unified_diff(expected.splitlines(True),
got.splitlines(True), "expected", "got")
lines = []
for line in diff:
line = make_trailing_spaces_visible(line.strip("\r\n"))
lines.append(line + "\n")
raise RuntimeError("Comments don't match:\n" + "".join(lines))