Add a test for Trac #13951
[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 output, n=1: Only failures,
21          n=2: Progress output, n=3: Include commands called (default),
22          n=4: Include perf test results unconditionally,
23          n=5: Echo commands in subsidiary make invocations
24  * Pass in extra GHC options: `make EXTRA_HC_OPTS=-fvectorize`
25
26 You can also change directory to a specific test folder to run that
27 individual test or group of tests. For example:
28
29 ``` .sh
30 $ cd tests/array
31 $ make
32 ```
33
34 ## Testsuite Ways
35
36 The testsuite can be run in a variety of 'ways'. This concept refers
37 to different ways that GHC can compile the code. For example, using
38 the native code generator (`-fasm`) is one way, while using the LLVM
39 code generator (`-fllvm`) is another way.
40
41 The various ways that GHC supports are defined in `config/ghc`
42
43 ## Adding Tests
44
45 Please see the more extensive documentation [here][1].
46
47   [1]: http://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests