diff tests/test-run-tests.py @ 38554:f83600efa1ca

tests: don't allow reodering of glob/re lines across non-glob/re lines As shown in the test case added in the previous patch, it can be really hard to interpret diffs from the test runner if there are multiple lines that would match a given glob or regular expression. It looks like this has been the case since 1ad0ddf8cccc (run-tests: teach _processoutput to handle multiple lines of churn, 2016-03-17). It seems like the point of that was to preserve the "(glob)" annotation on lines even if they got moved. This patch tries to preserve that but only allows the lines to be moved past other glob/re lines. Differential Revision: https://phab.mercurial-scm.org/D3881
author Martin von Zweigbergk <martinvonz@google.com>
date Mon, 02 Jul 2018 11:14:13 -0700
parents dfae14354660
children aaad36b88298
line wrap: on
line diff
--- a/tests/test-run-tests.py	Fri Jun 29 11:29:03 2018 -0700
+++ b/tests/test-run-tests.py	Mon Jul 02 11:14:13 2018 -0700
@@ -40,7 +40,7 @@
     assert not re.search(br'[^ \w\\/\r\n()*?]', expected + output), \
            b'single backslash or unknown char'
     test = run_tests.TTest(b'test-run-test.t', b'.', b'.')
-    match = test.linematch(expected, output)
+    match, exact = test.linematch(expected, output)
     if isinstance(match, str):
         return 'special: ' + match
     elif isinstance(match, bytes):