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