Commit 718e86b4 authored by Joachim Breitner's avatar Joachim Breitner
Browse files

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
parent 3db76508
......@@ -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)
......
......@@ -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)
......
......@@ -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()
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment