tests/run-tests.py
branchstable
changeset 1348 2cb27f4b641c
parent 1347 0ec1025011f4
child 1350 f541c0ba771c
--- a/tests/run-tests.py	Sun Feb 16 23:36:02 2014 +0100
+++ b/tests/run-tests.py	Sun Feb 16 23:41:24 2014 +0100
@@ -776,7 +776,9 @@
 
     # Merge the script output back into a unified test
 
-    warnonly = True
+    warnonly = 1 # 1: not yet, 2: yes, 3: for sure not
+    if exitcode != 0: # failure has been reported
+        warnonly = 3 # set to "for sure not"
     pos = -1
     postout = []
     for l in output:
@@ -811,7 +813,9 @@
                     lout = stringescape(lout.rstrip('\n')) + " (esc)\n"
                 postout.append("  " + lout) # let diff deal with it
                 if r != '': # if line failed
-                    warnonly = False
+                    warnonly = 3 # set to "for sure not"
+                elif warnonly == 1: # is "not yet" (and line is warn only)
+                    warnonly = 2 # set to "yes" do warn
 
         if lcmd:
             # add on last return code
@@ -826,8 +830,8 @@
     if pos in after:
         postout += after.pop(pos)
 
-    if warnonly and exitcode == 0:
-        exitcode = False
+    if warnonly == 2:
+        exitcode = False # set exitcode to warned
     return exitcode, postout
 
 wifexited = getattr(os, "WIFEXITED", lambda x: False)