changeset 31827:220d4bffd23e

run-tests: prevent a (glob) declaration from reordering (?) lines Previously, if a series of optional output lines marked with '(?)' had a (glob) in one of the first lines, the output would be reordered such that it came last if none of the lines were output. The (re) declaration wasn't affected, which was helpful in figuring this out. There were no tests for '(re) (?)' so add that to make sure everything plays nice.
author Matt Harbison <matt_harbison@yahoo.com>
date Wed, 05 Apr 2017 22:00:33 -0400
parents 9fce17c4a7b3
children ff60498211f3
files tests/run-tests.py tests/test-run-tests.t
diffstat 2 files changed, 8 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/tests/run-tests.py	Fri Apr 07 13:45:33 2017 +0530
+++ b/tests/run-tests.py	Wed Apr 05 22:00:33 2017 -0400
@@ -1385,7 +1385,7 @@
                 # ignore '(glob)' added to l by 'replacements'
                 if l.endswith(b" (glob)\n"):
                     l = l[:-8] + b"\n"
-                return TTest.globmatch(el[:-8], l)
+                return TTest.globmatch(el[:-8], l) or retry
             if os.altsep and l.replace(b'\\', b'/') == el:
                 return b'+glob'
         return retry
--- a/tests/test-run-tests.t	Fri Apr 07 13:45:33 2017 +0530
+++ b/tests/test-run-tests.t	Wed Apr 05 22:00:33 2017 -0400
@@ -55,7 +55,10 @@
   >   $ echo babar
   >   babar
   >   $ echo xyzzy
+  >   dont_print (?)
+  >   nothing[42]line (re) (?)
   >   never*happens (glob) (?)
+  >   more_nothing (?)
   >   xyzzy
   >   nor this (?)
   >   $ printf 'abc\ndef\nxyz\n'
@@ -326,14 +329,14 @@
   *SALT* 2 0 (glob)
   + echo xyzzy
   xyzzy
-  + echo *SALT* 6 0 (glob)
-  *SALT* 6 0 (glob)
+  + echo *SALT* 9 0 (glob)
+  *SALT* 9 0 (glob)
   + printf *abc\ndef\nxyz\n* (glob)
   abc
   def
   xyz
-  + echo *SALT* 12 0 (glob)
-  *SALT* 12 0 (glob)
+  + echo *SALT* 15 0 (glob)
+  *SALT* 15 0 (glob)
   .
   # Ran 2 tests, 0 skipped, 0 warned, 0 failed.