/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/python/comment_verifier.py
26 строк
919 B
Dmitry D. Chernov
Test-suite: Unify string quoting in the Python sources
14 июл 2019, 05:58
14 июл 2019, 05:58
fa5f519
Код
Авторство
О чём код?
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))