summaryrefslogtreecommitdiff
path: root/testsuite/driver
diff options
context:
space:
mode:
authorÖmer Sinan Ağacan <omeragacan@gmail.com>2020-01-20 11:35:28 +0300
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-02-05 09:22:10 -0500
commit6d3b5d5706a8fcfe724ee0a042d5f7c18880ccba (patch)
tree596f715d0b77269b7b5fe9541bcbe473272e43cb /testsuite/driver
parentc90eca550ccf89c8eb880e4428a43a9d0e8203f0 (diff)
downloadhaskell-6d3b5d5706a8fcfe724ee0a042d5f7c18880ccba.tar.gz
testlib: Extend existing *_opts in extra_*_opts
Previously we'd override the existing {run,hc} opts in extra_{run,hc}_opts, which caused flakiness in T1969, see #17712. extra_{run,hc}_opts now extends {run,hc} opts, instead of overriding. Also we shrank the allocation area for T1969 in order to increase residency sampling frequency. Fixes #17712
Diffstat (limited to 'testsuite/driver')
-rw-r--r--testsuite/driver/testlib.py10
1 files changed, 6 insertions, 4 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index a4960e83bd..965350f56b 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -393,7 +393,7 @@ def extra_run_opts( val ):
return lambda name, opts, v=val: _extra_run_opts(name, opts, v);
def _extra_run_opts( name, opts, v ):
- opts.extra_run_opts = v
+ opts.extra_run_opts += " " + v
# -----
@@ -401,7 +401,7 @@ def extra_hc_opts( val ):
return lambda name, opts, v=val: _extra_hc_opts(name, opts, v);
def _extra_hc_opts( name, opts, v ):
- opts.extra_hc_opts = v
+ opts.extra_hc_opts += " " + v
# -----
@@ -567,13 +567,15 @@ def llvm_build ( ) -> bool:
# appears to change (up or down) when the underlying profile hasn't
# really changed. To further minimize this effect we run with a single
# generation (meaning we get a residency sample on every GC) with a small
-# allocation area (as suggested in #17387).
+# allocation area (as suggested in #17387). That's what +RTS -h -i0 will do.
+# If you find that a test is flaky, sampling frequency can be adjusted by
+# shrinking the allocation area (+RTS -A64k, for example).
#
# However, please don't just ignore changes in residency. If you see
# a change in one of these figures, please check whether it is real or
# not as follows:
#
-# * Run the test with old and new compilers, adding +RTS -h -i0.01
+# * Run the test with old and new compilers, adding +RTS -h -i0.001
# (you don't need to compile anything for profiling or enable profiling
# libraries to get a heap profile).
# * view the heap profiles, read off the maximum residency. If it has