blob: 57ac0b72187b74772ba40d859b3c8ea2e34f5998 [file] [log] [blame]
def check(got, expected, expected_builtin=None):
if got is None: # Absence of comment is equivalent to empty comment.
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")
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))