run-tests: report a test as warned when only missing globs
authorSimon Heimberg <simohe@besonet.ch>
Thu, 13 Feb 2014 08:27:53 +0100
changeset 20509 8ac08939c3fc
parent 20508 91d4f82c2d3b
child 20510 edfbcc3163a8
run-tests: report a test as warned when only missing globs On windows, some test reported as failed will now be reported as "warned".
tests/run-tests.py
--- a/tests/run-tests.py	Thu Feb 13 08:26:13 2014 +0100
+++ b/tests/run-tests.py	Thu Feb 13 08:27:53 2014 +0100
@@ -776,6 +776,7 @@
 
     # Merge the script output back into a unified test
 
+    warnonly = True
     pos = -1
     postout = []
     for l in output:
@@ -796,7 +797,7 @@
             if isinstance(r, str):
                 if r == '+glob':
                     lout = el[:-1] + ' (glob)\n'
-                    r = False
+                    r = 0 # warn only
                 elif r == '-glob':
                     log('\ninfo, unnecessary glob in %s (after line %d):'
                         ' %s (glob)\n' % (test, pos, el[:-1]))
@@ -810,6 +811,8 @@
                 if needescape(lout):
                     lout = stringescape(lout.rstrip('\n')) + " (esc)\n"
                 postout.append("  " + lout) # let diff deal with it
+                if r != 0: # != warn only
+                    warnonly = False
 
         if lcmd:
             # add on last return code
@@ -824,6 +827,8 @@
     if pos in after:
         postout += after.pop(pos)
 
+    if warnonly and exitcode == 0:
+        exitcode = False
     return exitcode, postout
 
 wifexited = getattr(os, "WIFEXITED", lambda x: False)