Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master
http://hackage.haskell.org/trac/ghc/changeset/660844f1a7a437104433041df8807b0730092626 >--------------------------------------------------------------- commit 660844f1a7a437104433041df8807b0730092626 Author: Simon Marlow <[email protected]> Date: Wed Feb 15 14:29:53 2012 +0000 Make the compiler_always_flags modifiable on a per-test basis Motivation: we wanted to disable -dcore-lint for the perf tests >--------------------------------------------------------------- driver/testglobals.py | 5 +++++ driver/testlib.py | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/driver/testglobals.py b/driver/testglobals.py index 634792c..6e079a7 100644 --- a/driver/testglobals.py +++ b/driver/testglobals.py @@ -176,6 +176,11 @@ class TestOptions: # compile this test to .hc only self.compile_to_hc = 0 + # We sometimes want to modify the compiler_always_flags, so + # they are copied from config.compiler_always_flags when we + # make a new instance of TestOptions. + self.compiler_always_flags = [] + # extra compiler opts for this test self.extra_hc_opts = '' diff --git a/driver/testlib.py b/driver/testlib.py index 76ec477..f877edb 100644 --- a/driver/testlib.py +++ b/driver/testlib.py @@ -494,6 +494,7 @@ def newTestDir( dir ): # reset the options for this test directory thisdir_testopts = copy.copy(default_testopts) thisdir_testopts.testdir = dir + thisdir_testopts.compiler_always_flags = config.compiler_always_flags # ----------------------------------------------------------------------------- # Actually doing tests @@ -834,7 +835,7 @@ def run_command( name, way, cmd ): def ghci_script( name, way, script ): # filter out -fforce-recomp from compiler_always_flags, because we're # actually testing the recompilation behaviour in the GHCi tests. - flags = filter(lambda f: f != '-fforce-recomp', config.compiler_always_flags) + flags = filter(lambda f: f != '-fforce-recomp', getTestOpts().compiler_always_flags) flags.append(getTestOpts().extra_hc_opts) # We pass HC and HC_OPTS as environment variables, so that the @@ -1035,7 +1036,7 @@ def simple_build( name, way, extra_hc_opts, should_fail, top_mod, link, addsuf, else: cmd_prefix = getTestOpts().compile_cmd_prefix + ' ' - comp_flags = config.compiler_always_flags + comp_flags = getTestOpts().compiler_always_flags if noforce: comp_flags = filter(lambda f: f != '-fforce-recomp', comp_flags) @@ -1212,7 +1213,7 @@ def interpreter_run( name, way, extra_hc_opts, compile_only, top_mod ): script.close() cmd = "'" + config.compiler + "' " \ - + join(config.compiler_always_flags,' ') + ' ' \ + + join(getTestOpts().compiler_always_flags,' ') + ' ' \ + srcname + ' ' \ + join(config.way_flags[way],' ') + ' ' \ + extra_hc_opts + ' ' \ @@ -1306,7 +1307,7 @@ def extcore_run( name, way, extra_hc_opts, compile_only, top_mod ): cmd = 'cd ' + getTestOpts().testdir + " && '" \ + config.compiler + "' " \ - + join(config.compiler_always_flags,' ') + ' ' \ + + join(getTestOpts().compiler_always_flags,' ') + ' ' \ + join(config.way_flags[way],' ') + ' ' \ + extra_hc_opts + ' ' \ + getTestOpts().extra_hc_opts \ @@ -1336,7 +1337,7 @@ def extcore_run( name, way, extra_hc_opts, compile_only, top_mod ): cmd = 'cd ' + getTestOpts().testdir + " && '" \ + config.compiler + "' " \ - + join(config.compiler_always_flags,' ') + ' ' \ + + join(getTestOpts().compiler_always_flags,' ') + ' ' \ + to_compile + ' ' \ + extra_hc_opts + ' ' \ + getTestOpts().extra_hc_opts + ' ' \ _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
