Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
18112 commits behind the upstream repository.
Tamar Christina's avatar
Tamar Christina authored
Summary:
Another round and attempt at getting these down to 0.

We really should re-enable the CI and not wait for those cloud based ones.

I've disabled the backpack tests on windows as they are too broad, they test
as much the shell as they do the compiler.

The perf tests have been too long to track down. but the numbers are horrible
but I don't see them getting fixed so just have to accept them.

T9293 has new windows specific output because a Dyn way only flag was added.
This will of course not work on non-Dyn way builds.

Test Plan: ./validate

Reviewers: bgamari, hvr, simonmar

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #15107

Differential Revision: https://phabricator.haskell.org/D4668
60fb2b21
History

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.