Version 2 (modified by dterei, 7 years ago) (diff)


Testsuite Variables / Settings and WAYS

The following variables may be set on the command line when calling make:

TEST                 -- specific tests to run
TEST_HC              -- compiler to use
EXTRA_HC_OPTS        -- extra flags to send to the Haskell compiler
EXTRA_RUNTEST_OPTS   -- extra flags to give the test driver
CONFIG               -- use a different configuration file
COMPILER             -- stem of a different configuration file from the config directory [default: ghc]
WAY                  -- just this way
THREADS              -- number of threads to use when running the testsuite

For example, to run the tc053 test for only the optasm way we would use:

$ make WAY=optasm TEST=tc053

The testsuite also has a concept called, ways. These refer to different settings in which a test case can be compiled and/or run. They correspond to things such as checking a test passes both when the native code generator is used and when the LLVM code generator is used.

The following ways are defined (see the file config/ghc for the complete list):

normal               -- no special options
llvm                 -- -fllvm
optc                 -- -O -fvia-C
optasm               -- -O -fasm
optllvm              -- -O -fllvm
profc                -- -O -prof -auto-all -fvia-C
profasm              -- -O -prof -auto-all -fasm
ghci                 -- (run only, not compile) run test under GHCi
extcore              -- -fext-core
optextcore           -- -O -fext-core
threaded1            -- -threaded -debug
threaded2            -- -threaded -O, and +RTS -N2 at run-time
hpc                  -- -fhpc
dyn                  -- -O -dynamic

certain ways are enabled automatically if the GHC build in the local tree supports them. Ways that are enabled this way are optasm, optllvm, profc, profasm, threaded1, threaded2, and ghci.