run-tests: suggest a (glob) for os.path.sep mismatches with '\r\n' EOL too
authorMatt Harbison <matt_harbison@yahoo.com>
Sun, 10 Dec 2017 00:00:36 -0500
changeset 35381 14fd435763ee
parent 35380 acff41957b34
child 35382 dfae14354660
run-tests: suggest a (glob) for os.path.sep mismatches with '\r\n' EOL too We already do this for lines ending in '\n', such that the test only needs to be run with --interactive and the changes accepted at the end. But that wasn't working with list-tree.py output for example, and required manual fixup.
tests/run-tests.py
tests/test-run-tests.py
--- a/tests/run-tests.py	Sat Dec 09 23:46:44 2017 -0500
+++ b/tests/run-tests.py	Sun Dec 10 00:00:36 2017 -0500
@@ -1610,8 +1610,10 @@
                 if l.endswith(b" (glob)\n"):
                     l = l[:-8] + b"\n"
                 return TTest.globmatch(el[:-8], l) or retry
-            if os.altsep and l.replace(b'\\', b'/') == el:
-                return b'+glob'
+            if os.altsep:
+                _l = l.replace(b'\\', b'/')
+                if el == _l or os.name == 'nt' and el[:-1] + b'\r\n' == _l:
+                    return b'+glob'
         return retry
 
     @staticmethod
--- a/tests/test-run-tests.py	Sat Dec 09 23:46:44 2017 -0500
+++ b/tests/test-run-tests.py	Sun Dec 10 00:00:36 2017 -0500
@@ -54,6 +54,8 @@
     enable windows matching on any os
         >>> _osaltsep = os.altsep
         >>> os.altsep = True
+        >>> _osname = os.name
+        >>> os.name = 'nt'
 
     valid match on windows
         >>> lm(b'g/a*/d (glob)\n', b'g\\abc/d\n')
@@ -66,9 +68,12 @@
     missing glob
         >>> lm(b'/g/c/d/fg\n', b'\\g\\c\\d/fg\n')
         'special: +glob'
+        >>> lm(b'/g/c/d/fg\n', b'\\g\\c\\d\\fg\r\n')
+        'special: +glob'
 
     restore os.altsep
         >>> os.altsep = _osaltsep
+        >>> os.name = _osname
     """
     pass
 
@@ -78,6 +83,8 @@
     disable windows matching on any os
         >>> _osaltsep = os.altsep
         >>> os.altsep = False
+        >>> _osname = os.name
+        >>> os.name = 'nt'
 
     backslash does not match slash
         >>> lm(b'h/a* (glob)\n', b'h\\ab\n')
@@ -93,6 +100,7 @@
 
     restore os.altsep
         >>> os.altsep = _osaltsep
+        >>> os.name = _osname
     """
     pass