HTF- The Haskell Test Framework

Safe HaskellSafe



This module defines the API for HTF plugins.



type Assertion = IO () Source #

An assertion is just an IO action. Internally, the body of any test in HTF is of type Assertion. If a test specification of a certain plugin has a type different from Assertion, the plugin's preprocessor pass must inject wrapper code to convert the test specification into an assertion.

Assertions may use failHTF to signal a TestResult different from Pass. If the assertion finishes successfully, the tests passes implicitly.

Please note: the assertion must not swallow any exceptions! Otherwise, timeouts and other things might not work as expected.

data FullTestResult Source #

The full result of a test, as used by HTF plugins.




failHTF :: MonadBaseControl IO m => FullTestResult -> m a Source #

Terminate a HTF test, usually to signal a failure. The result of the test is given in the FullTestResult argument.

subAssertHTF :: MonadBaseControl IO m => Location -> Maybe String -> m a -> m a Source #

Opens a new assertion stack frame to allow for sensible location information.

mkFullTestResult :: TestResult -> Maybe String -> FullTestResult Source #

Auxiliary function for contructing a FullTestResult.