Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
13950 commits behind the upstream repository.
  • Takenobu Tani's avatar
    3769e3a8
    Update Wiki URLs to point to GitLab · 3769e3a8
    Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
    This moves all URL references to Trac Wiki to their corresponding
    GitLab counterparts.
    
    This substitution is classified as follows:
    
    1. Automated substitution using sed with Ben's mapping rule [1]
        Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
        New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
    
    2. Manual substitution for URLs containing `#` index
        Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
        New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
    
    3. Manual substitution for strings starting with `Commentary`
        Old: Commentary/XxxYyy...
        New: commentary/xxx-yyy...
    
    See also !539
    
    [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
    3769e3a8
    History
    Update Wiki URLs to point to GitLab
    Takenobu Tani authored and Marge Bot's avatar Marge Bot committed
    This moves all URL references to Trac Wiki to their corresponding
    GitLab counterparts.
    
    This substitution is classified as follows:
    
    1. Automated substitution using sed with Ben's mapping rule [1]
        Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...
        New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...
    
    2. Manual substitution for URLs containing `#` index
        Old: ghc.haskell.org/trac/ghc/wiki/XxxYyy...#Zzz
        New: gitlab.haskell.org/ghc/ghc/wikis/xxx-yyy...#zzz
    
    3. Manual substitution for strings starting with `Commentary`
        Old: Commentary/XxxYyy...
        New: commentary/xxx-yyy...
    
    See also !539
    
    [1]: https://gitlab.haskell.org/bgamari/gitlab-migration/blob/master/wiki-mapping.json
Code owners
Assign users and groups as approvers for specific file changes. Learn more.

GHC Testsuite Readme

For the full testsuite documentation, please see here.

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:

$ 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.