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:
parent
dd4c680a02
commit
eaf63ba47d
1 changed files with 20 additions and 2 deletions
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue