diff options
| author | Joachim Breitner <mail@joachim-breitner.de> | 2013-10-05 17:04:31 +0200 |
|---|---|---|
| committer | Joachim Breitner <mail@joachim-breitner.de> | 2013-10-05 17:07:16 +0200 |
| commit | 718e86b4751b0435097bdde46855e819cf4f7864 (patch) | |
| tree | b1a6fbf85d3596966067004517636250416d9337 | |
| parent | 3db765088ac7c919bdf283cb6263e2ceedf6bc27 (diff) | |
| download | haskell-718e86b4751b0435097bdde46855e819cf4f7864.tar.gz | |
Flag to test suite: SKIP_PERF_TESTS
More often than not the output of the performance tests is in the way,
rather than helping. This allows the use of `make SKIP_PERF_TESTS=YES`
to skip these tests. Fixes #8413
| -rw-r--r-- | testsuite/README.md | 1 | ||||
| -rw-r--r-- | testsuite/driver/runtests.py | 4 | ||||
| -rw-r--r-- | testsuite/driver/testglobals.py | 3 | ||||
| -rw-r--r-- | testsuite/driver/testlib.py | 6 | ||||
| -rw-r--r-- | testsuite/mk/test.mk | 4 |
5 files changed, 18 insertions, 0 deletions
diff --git a/testsuite/README.md b/testsuite/README.md index 7620809dee..f934533165 100644 --- a/testsuite/README.md +++ b/testsuite/README.md @@ -13,6 +13,7 @@ Commands to run testsuite: * Run a specific test: `make TEST=tc054` * Test a specific 'way': `make WAY=optllvm` * Test a specifc stage of GHC: `make stage=1` + * 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) diff --git a/testsuite/driver/runtests.py b/testsuite/driver/runtests.py index b0367f3073..8ed6499a0a 100644 --- a/testsuite/driver/runtests.py +++ b/testsuite/driver/runtests.py @@ -45,6 +45,7 @@ long_options = [ "threads=", # threads to run simultaneously "check-files-written", # check files aren't written by multiple tests "verbose=", # verbose (0,1,2 so far) + "skip-perf-tests", # skip performance tests ] opts, args = getopt.getopt(sys.argv[1:], "e:", long_options) @@ -93,6 +94,9 @@ for opt,arg in opts: if opt == '--check-files-written': config.check_files_written = True + if opt == '--skip-perf-tests': + config.skip_perf_tests = True + if opt == '--verbose': if arg not in ["0","1","2","3"]: sys.stderr.write("ERROR: requested verbosity %s not supported, use 0,1,2 or 3" % arg) diff --git a/testsuite/driver/testglobals.py b/testsuite/driver/testglobals.py index 85a5b7d7d8..203d85f336 100644 --- a/testsuite/driver/testglobals.py +++ b/testsuite/driver/testglobals.py @@ -112,6 +112,9 @@ class TestConfig: # Should we check for files being written more than once? self.check_files_written = False + # Should we skip performance tests + self.skip_perf_tests = False + global config config = TestConfig() diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py index 4694b5e3d1..ed7d02f819 100644 --- a/testsuite/driver/testlib.py +++ b/testsuite/driver/testlib.py @@ -60,6 +60,11 @@ def setLocalTestOpts(opts): global testopts_local testopts_local.x=opts +def isStatsTest(): + opts = getTestOpts() + return len(opts.compiler_stats_range_fields) > 0 or len(opts.stats_range_fields) > 0 + + # This can be called at the top of a file of tests, to set default test options # for the following tests. def setTestOpts( f ): @@ -606,6 +611,7 @@ def test_common_work (name, opts, func, args): and (config.only == [] or name in config.only) \ and (getTestOpts().only_ways == None or way in getTestOpts().only_ways) \ and (config.cmdline_ways == [] or way in config.cmdline_ways) \ + and (not (config.skip_perf_tests and isStatsTest())) \ and way not in getTestOpts().omit_ways # Which ways we are asked to skip diff --git a/testsuite/mk/test.mk b/testsuite/mk/test.mk index 928e1e4af2..0cc3f21c8a 100644 --- a/testsuite/mk/test.mk +++ b/testsuite/mk/test.mk @@ -163,6 +163,10 @@ ifneq "$(VERBOSE)" "" RUNTEST_OPTS += --verbose=$(VERBOSE) endif +ifeq "$(SKIP_PERF_TESTS)" "YES" +RUNTEST_OPTS += --skip-perf-tests +endif + ifneq "$(CLEAN_ONLY)" "" RUNTEST_OPTS += -e clean_only=True else |
