test package:HUnit

The basic structure used to create an annotated tree of test cases.
Counts the number of TestCases in a tree of Tests.
Determines the paths for all TestCases in a tree of Tests.
A single, independent test case composed.
A name or description for a subtree of the Tests.
A set of Tests sharing the same level in the hierarchy.
Provides a way to convert data into a Test or set of Test.
Performs a test run with the specified report generators. This handles the actual running of the tests. Most developers will want to use HUnit.Text.runTestTT instead. A developer could use this function to execute tests via another IO system, such as a GUI, or to output the results in a different manner (e.g., upload XML-formatted results to a webservice). Note that the counts in a start report do not include the test case being started, whereas the counts in a problem report do include the test case just finished. The principle is that the counts are sampled only between test case executions. As a result, the number of test case successes always equals the difference of test cases tried and the sum of test case errors and failures.
Performs a single test case.
Provides the "standard" text-based test controller. Reporting is made to standard error, and progress reports are included. For possible programmatic use, the final counts are returned. The "TT" in the name suggests "Text-based reporting to the Terminal".
Convenience wrapper for runTestTT. Simply runs runTestTT and then exits back to the OS, using exitSuccess if there were no errors or failures, or exitFailure if there were. For example:
tests :: Test
tests = ...

main :: IO ()
main = runTestTTAndExit tests
Executes a test, processing each report line according to the given reporting scheme. The reporting scheme's state is threaded through calls to the reporting scheme's function and finally returned, along with final count values.