123456789101112131415161718 |
- import difflib
- def iter_diff(fr, to):
- for l in difflib.unified_diff(fr.splitlines(), to.splitlines(), fromfile='L', tofile='R'):
- l = l.rstrip('\n')
- if l:
- if l[0] == '-':
- l = '[[bad]]' + l + '[[rst]]'
- elif l[0] == '+':
- l = '[[good]]' + l + '[[rst]]'
- yield l
- def pytest_assertrepr_compare(op, left, right):
- return ['failed, show diff'] + list(iter_diff(left, right))
|