Mercurial > hg-stable
changeset 20273:d9d6cbbeef0d
run-tests: suggest to append glob when only path sep does not match
When the line does not match because of \ instead of / (on windows), append
(glob) in the expected output.
This allows to rename test-bla.t.err to test-bla.t for getting a correct
output. This worked for other failures like missing (esc), but not here.
Output example (only +- lines of diff):
Before:
- path/with/local/sep
+ path\\with\\local/sep
Now:
- path/with/local/sep
+ path/with/local/sep (glob)
author | Simon Heimberg <simohe@besonet.ch> |
---|---|
date | Thu, 16 Jan 2014 12:08:29 +0100 |
parents | 9e3eb009a404 |
children | 7a259dfe24f7 |
files | tests/run-tests.py tests/test-run-tests.py |
diffstat | 2 files changed, 13 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/run-tests.py Thu Jan 16 12:06:49 2014 +0100 +++ b/tests/run-tests.py Thu Jan 16 12:08:29 2014 +0100 @@ -638,6 +638,8 @@ return rematch(el[:-6], l) if el.endswith(" (glob)\n"): return globmatch(el[:-8], l) + if os.altsep and l.replace('\\', '/') == el: + return '+glob' return False def tsttest(test, wd, options, replacements, env): @@ -791,7 +793,12 @@ if pos in expected and expected[pos]: el = expected[pos].pop(0) - if linematch(el, lout): + r = linematch(el, lout) + if isinstance(r, str): + if r == '+glob': + lout = el[:-1] + ' (glob)\n' + r = False + if r: postout.append(" " + el) else: if needescape(lout):
--- a/tests/test-run-tests.py Thu Jan 16 12:06:49 2014 +0100 +++ b/tests/test-run-tests.py Thu Jan 16 12:08:29 2014 +0100 @@ -27,7 +27,10 @@ assert not re.search(r'[^ \w\\/\r\n()*?]', expected + output), \ 'single backslash or unknown char' match = run_tests.linematch(expected, output) - return bool(match) + if isinstance(match, str): + return 'special: ' + match + else: + return bool(match) # do not return match object def wintests(): r"""test matching like running on windows @@ -48,7 +51,7 @@ missing glob >>> lm('/g/c/d/fg\n', '\\g\\c\\d/fg\n') - False + 'special: +glob' restore os.altsep >>> os.altsep = _osaltsep