[Python-checkins] CVS: python/dist/src/Lib/test regrtest.py,1.53,1.54

Guido van Rossum gvanrossum@users.sourceforge.net
Fri, 21 Sep 2001 14:06:24 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv17915

Modified Files:
	regrtest.py 
Log Message:
reportdiff(): print a "plain diff" style diff.

XXX This should really be a unified diff, but I can't be bothered.


Index: regrtest.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/regrtest.py,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -d -r1.53 -r1.54
*** regrtest.py	2001/09/21 20:45:44	1.53
--- regrtest.py	2001/09/21 21:06:22	1.54
***************
*** 352,359 ****
      print "*" * 70
      import difflib
!     a = expected.splitlines(1)
!     b = output.splitlines(1)
!     diff = difflib.ndiff(a, b)
!     print ''.join(diff),
      print "*" * 70
  
--- 352,385 ----
      print "*" * 70
      import difflib
!     a = expected.splitlines()
!     b = output.splitlines()
!     sm = difflib.SequenceMatcher(a=a, b=b)
!     tuples = sm.get_opcodes()
!     def pair(x0, x1):
!         x0 += 1
!         if x0 >= x1:
!             return str(x0)
!         else:
!             return "%d,%d" % (x0, x1)
!     for op, a0, a1, b0, b1 in tuples:
!         if op == 'equal':
!             pass
!         elif op == 'delete':
!             print pair(a0, a1) + "d" + pair(b0, b1)
!             for line in a[a0:a1]:
!                 print "<", line
!         elif op == 'replace':
!             print pair(a0, a1) + "c" + pair(b0, b1)
!             for line in a[a0:a1]:
!                 print "<", line
!             print "---"
!             for line in b[b0:b1]:
!                 print ">", line
!         elif op == 'insert':
!             print str(a0) + "a" + pair(b0, b1)
!             for line in b[b0:b1]:
!                 print ">", line
!         else:
!             print "get_opcodes() returned bad tuple?!?!", (op, a0, a1, b0, b1)
      print "*" * 70