testsuite: Move echoing commands in make invocations to VERBOSE=5
authorReid Barton <rwbarton@gmail.com>
Thu, 2 Mar 2017 21:39:16 +0000 (16:39 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 3 Mar 2017 00:58:01 +0000 (19:58 -0500)
D2894 added a new verbosity level VERBOSE=4 to strip -s/--silent
flags from make invocations in test commands. This will probably
cause the test to fail of course, but is useful for seeing what
a test that's already failing is doing.

However there was already an undocumented meaning of VERBOSE=4,
added in commit cfeededf, that causes the results of performance
tests to be printed unconditionally (even when they are within the
expected range). nomeata's ghc builder uses these figures to
collect historical data on performance test figures. The new
meaning of VERBOSE=4 added in D2894 means that any test that uses
make now fails on the builder.

This commit moves the new behavior of D2894 to the level VERBOSE=5
so that nomeata's ghc builder again produces useful results on
failing tests. It also adds documentation for both settings.

Test Plan: did some manual testing

Reviewers: austin, bgamari, Phyx, nomeata

Reviewed By: bgamari, Phyx

Subscribers: nomeata, thomie, Phyx

Differential Revision: https://phabricator.haskell.org/D3141

testsuite/README.md
testsuite/driver/runtests.py
testsuite/driver/testlib.py

index 31193d6..5ab6daf 100644 (file)
@@ -18,7 +18,9 @@ Commands to run testsuite:
  * Skip performance tests: `make SKIP_PERF_TESTS=YES`
  * Set verbosity: `make VERBOSE=n`
    where n=0: No per-test ouput, n=1: Only failures,
-         n=2: Progress output, n=3: Include commands called (default)
+         n=2: Progress output, n=3: Include commands called (default),
+         n=4: Include perf test results unconditionally,
+         n=5: Echo commands in subsidiary make invocations
  * Pass in extra GHC options: `make EXTRA_HC_OPTS=-fvectorize`
 
 You can also change directory to a specific test folder to run that
index df85fa1..7e4f375 100644 (file)
@@ -111,8 +111,8 @@ for opt,arg in opts:
         config.skip_perf_tests = True
 
     if opt == '--verbose':
-        if arg not in ["0","1","2","3","4"]:
-            sys.stderr.write("ERROR: requested verbosity %s not supported, use 0,1,2,3 or 4" % arg)
+        if arg not in ["0","1","2","3","4","5"]:
+            sys.stderr.write("ERROR: requested verbosity %s not supported, use 0,1,2,3,4 or 5" % arg)
             sys.exit(1)
         config.verbose = int(arg)
 
index 44d1ccb..7dedb33 100644 (file)
@@ -872,7 +872,7 @@ def do_test(name, way, func, args, files):
 # if found and instead have the testsuite decide on what to do
 # with the output.
 def override_options(pre_cmd):
-    if config.verbose >= 4 and bool(re.match('\$make', pre_cmd, re.I)):
+    if config.verbose >= 5 and bool(re.match('\$make', pre_cmd, re.I)):
         return pre_cmd.replace('-s'      , '') \
                       .replace('--silent', '') \
                       .replace('--quiet' , '')