# HG changeset patch # User Martin von Zweigbergk # Date 2018-06-29 18:29:03 # Node ID 3fb46734508d5ca28f1ce1cbbf986c064b163d89 # Parent 5a20b6090a6eaef057f57fd974e5d503110970a5 tests: add test showing puzzling test output with (glob) lines When using multiple (glob) lines, the test runner often moves the lines around in the output on failure. I have run into this problem many times. The added test shows one example of this. Note that it doesn't show the mismatching lines and instead shows diff hunks that appear to replace a literal by a glob, and other hunks that should clearly match. Differential Revision: https://phab.mercurial-scm.org/D3880 diff --git a/tests/test-run-tests.t b/tests/test-run-tests.t --- a/tests/test-run-tests.t +++ b/tests/test-run-tests.t @@ -120,6 +120,52 @@ test churn with globs python hash seed: * (glob) [1] +test how multiple globs gets matched with lines in output + $ cat > test-failure-globs.t < $ echo "context"; echo "context"; \ + > echo "key: 1"; echo "value: not a"; \ + > echo "key: 2"; echo "value: not b"; \ + > echo "key: 3"; echo "value: c"; \ + > echo "key: 4"; echo "value: d" + > context + > context + > key: 1 + > value: a + > key: 2 + > value: b + > key: 3 + > value: * (glob) + > key: 4 + > value: * (glob) + > EOF + $ rt test-failure-globs.t + + --- $TESTTMP/test-failure-globs.t + +++ $TESTTMP/test-failure-globs.t.err + @@ -2,10 +2,10 @@ + context + context + key: 1 + - value: a + + value: * (glob) + key: 2 + - value: b + + value: * (glob) + key: 3 + - value: * (glob) + + value: c + key: 4 + - value: * (glob) + + value: d + + ERROR: test-failure-globs.t output changed + ! + Failed test-failure-globs.t: output changed + # Ran 1 tests, 0 skipped, 1 failed. + python hash seed: * (glob) + [1] + $ rm test-failure-globs.t + test diff colorisation #if no-windows pygments @@ -374,6 +420,7 @@ test --xunit support $ cat .testtimes test-empty.t * (glob) + test-failure-globs.t * (glob) test-failure-unicode.t * (glob) test-failure.t * (glob) test-success.t * (glob)