conftest.py 459 B

123456789101112131415161718
  1. import difflib
  2. def iter_diff(fr, to):
  3. for l in difflib.unified_diff(fr.splitlines(), to.splitlines(), fromfile='L', tofile='R'):
  4. l = l.rstrip('\n')
  5. if l:
  6. if l[0] == '-':
  7. l = '[[bad]]' + l + '[[rst]]'
  8. elif l[0] == '+':
  9. l = '[[good]]' + l + '[[rst]]'
  10. yield l
  11. def pytest_assertrepr_compare(op, left, right):
  12. return ['failed, show diff'] + list(iter_diff(left, right))