run-tests: print more information on unnecessary glob matching
authorSimon Heimberg <simohe@besonet.ch>
Thu, 16 Jan 2014 12:08:57 +0100
changeset 20274 7a259dfe24f7
parent 20273 d9d6cbbeef0d
child 20275 2123d27ff75d
run-tests: print more information on unnecessary glob matching Extend the message with the test name and the approximate line number. (The line number is the one of the command producing the output.) Finding the line to fix is easier now. old message: ...... Info, unnecessary glob: at a/b/c (glob) .. new message: ...... Info, unnecessary glob in test-example.t (after line 9): at a/b/c (glob) .. The test result is still pass as before.
tests/run-tests.py
tests/test-run-tests.py
--- a/tests/run-tests.py	Thu Jan 16 12:08:29 2014 +0100
+++ b/tests/run-tests.py	Thu Jan 16 12:08:57 2014 +0100
@@ -606,7 +606,7 @@
     if el + '\n' == l:
         if os.altsep:
             # matching on "/" is not needed for this line
-            log("\nInfo, unnecessary glob: %s (glob)" % el)
+            return '-glob'
         return True
     i, n = 0, len(el)
     res = ''
@@ -797,7 +797,14 @@
             if isinstance(r, str):
                 if r == '+glob':
                     lout = el[:-1] + ' (glob)\n'
-                r = False
+                    r = False
+                elif r == '-glob':
+                    log('\ninfo, unnecessary glob in %s (after line %d):'
+                        ' %s (glob)\n' % (test, pos, el[-1]))
+                    r = True # pass on unnecessary glob
+                else:
+                    log('\ninfo, unknown linematch result: %r\n' % r)
+                    r = False
             if r:
                 postout.append("  " + el)
             else:
--- a/tests/test-run-tests.py	Thu Jan 16 12:08:29 2014 +0100
+++ b/tests/test-run-tests.py	Thu Jan 16 12:08:57 2014 +0100
@@ -45,9 +45,7 @@
 
     direct matching, glob unnecessary
         >>> lm('g/b (glob)\n', 'g/b\n')
-        <BLANKLINE>
-        Info, unnecessary glob: g/b (glob)
-        True
+        'special: -glob'
 
     missing glob
         >>> lm('/g/c/d/fg\n', '\\g\\c\\d/fg\n')