[PATCH 4 of 4 V2] run-tests: print more information on unnecessary glob matching

Simon Heimberg simohe at besonet.ch
Thu Jan 16 12:22:04 CST 2014


# HG changeset patch
# User Simon Heimberg <simohe at besonet.ch>
# Date 1389870537 -3600
#      Thu Jan 16 12:08:57 2014 +0100
# Node ID 38040a9893dfa689d114a14bcbf3f2aa0ff71137
# Parent  8643d7d2b164b45252b93597ffd4f622b78f928a
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.

diff -r 8643d7d2b164 -r 38040a9893df tests/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:
diff -r 8643d7d2b164 -r 38040a9893df tests/test-run-tests.py
--- 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')


More information about the Mercurial-devel mailing list