GHC Trac Home
GHC Git Repos
Working on GHC
Mailing Lists & IRC
The GHC Team
All Feature Req's
Tickets I Created
Patches for review
New Feature Req
side by side
lines around each change
Show the changes in full context
White space changes
Jul 8, 2011 10:58:06 PM (
= Testsuite Details =
The testsuite is designed largely as follows, where we take the root of the testsuite to be `testsuite/`. Firstly we have the individual test cases to run. Each test case though can be run in multiple ways. These different ways (which are simply called ```ways```) correspond to things like different optimisation levels, using the threaded RTS or not... ect. Some test cases can be run in any way while others are specific to certain ways. The general layout of the testsuite is this:
* `config`: Contains the definition of the different ways supported. The only file of relevance here is `ghc`. No other Haskell compiler is actually supported by the testsuite.
* `driver`: Contains the python source code that forms the testsuite framework.
* `mk`: Contains the make source code that forms the testsuite framework. The make part is mostly concerned with invoking the python component, which does the actual work.
* `tests`: Contains the actual test cases to run.
* `timeout`: Contains a Haskell program that kills a running test case after a certain amount of time. Used by the testsuite framework.
== Testsuite Implementation details ==
The testsuite driver is just a set of Python scripts, as are all of