changeset 38553:3fb46734508d

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
author Martin von Zweigbergk <martinvonz@google.com>
date Fri, 29 Jun 2018 11:29:03 -0700
parents 5a20b6090a6e
children f83600efa1ca
files tests/test-run-tests.t
diffstat 1 files changed, 47 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/tests/test-run-tests.t	Tue Jul 03 15:30:22 2018 -0700
+++ b/tests/test-run-tests.t	Fri Jun 29 11:29:03 2018 -0700
@@ -120,6 +120,52 @@
   python hash seed: * (glob)
   [1]
 
+test how multiple globs gets matched with lines in output
+  $ cat > test-failure-globs.t <<EOF
+  >   $ 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 @@
 
   $ cat .testtimes
   test-empty.t * (glob)
+  test-failure-globs.t * (glob)
   test-failure-unicode.t * (glob)
   test-failure.t * (glob)
   test-success.t * (glob)