Fix 'SPECIALISE instance'
[ghc.git] / testsuite / README.md
1 GHC Testsuite Readme
2 ====================
3
4 For the full testsuite documentation, please see [here][1].
5
6 ## Quick Guide
7
8 Commands to run testsuite:
9
10  * Full testsuite: `make`
11  * Using more threads: `make THREADS=12`
12  * Reduced (fast) testsuite: `make fast`
13  * Run a specific test: `make TEST=tc054`
14  * Test a specific 'way': `make WAY=optllvm`
15  * Keeping the run directory after test run: `make CLEANUP=0`. You will find a
16    directory `{test_name}.run` in the test's source directory.
17  * Test a specifc stage of GHC: `make stage=1`
18  * Skip performance tests: `make SKIP_PERF_TESTS=YES`
19  * Set verbosity: `make VERBOSE=n`
20    where n=0: No per-test ouput, n=1: Only failures,
21          n=2: Progress output, n=3: Include commands called (default)
22  * Pass in extra GHC options: `make EXTRA_HC_OPTS=-fvectorize`
23
24 You can also change directory to a specific test folder to run that
25 individual test or group of tests. For example:
26
27 ``` .sh
28 $ cd tests/array
29 $ make
30 ```
31
32 ## Testsuite Ways
33
34 The testsuite can be run in a variety of 'ways'. This concept refers
35 to different ways that GHC can compile the code. For example, using
36 the native code generator (`-fasm`) is one way, while using the LLVM
37 code generator (`-fllvm`) is another way.
38
39 The various ways that GHC supports are defined in `config/ghc`
40
41 ## Adding Tests
42
43 Please see the more extensive documentation [here][1].
44
45   [1]: http://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests