regression.py
changeset 4586 4b9b5f1692d3
parent 4584 7f4ee7f84b19
child 4760 f774ff724ee4
--- a/regression.py	Wed Jun 24 18:43:04 2009 +0100
+++ b/regression.py	Wed Jun 24 19:38:59 2009 +0100
@@ -40,6 +40,26 @@
     import filecmp
     comp = filecmp.dircmp(dir1, dir2)
     differ = (comp.left_only or comp.right_only or comp.diff_files)
+
+    if differ:
+        # ok, stupid binary comparison reports differences, but maybe
+        # only text files differ, in which case we should compare
+        # again while ignoring newline differences between
+        # windows/mac/unix.
+        if not comp.left_only and not comp.right_only:
+            for diff_fname in comp.diff_files:
+                if not (diff_fname.endswith(".tr") or diff_fname.endswith(".mob")):
+                    # doesn't look like a text file; it has to differ
+                    break
+                diff_file1 = open(os.path.join(dir1, diff_fname), "rtU").readlines()
+                diff_file2 = open(os.path.join(dir2, diff_fname), "rtU").readlines()
+                if diff_file1 != diff_file2:
+                    break
+                #else:
+                #    print ">>>>>>>> %s file does not really differ!" % (diff_fname)
+            else:
+                differ = False
+
     if differ:
         if verbose:
             comp.report()