Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
This module defines the API for HTF plugins.
Synopsis
- type Assertion = IO ()
- data TestResult
- data FullTestResult = FullTestResult {}
- data HTFFailureException = HTFFailure FullTestResult
- failHTF :: MonadBaseControl IO m => FullTestResult -> m a
- subAssertHTF :: MonadBaseControl IO m => Location -> Maybe String -> m a -> m a
- mkFullTestResult :: TestResult -> Maybe String -> FullTestResult
Documentation
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 TestResult Source #
The summary result of a test.
Instances
Eq TestResult Source # | |
Defined in Test.Framework.TestInterface (==) :: TestResult -> TestResult -> Bool # (/=) :: TestResult -> TestResult -> Bool # | |
Read TestResult Source # | |
Defined in Test.Framework.TestInterface readsPrec :: Int -> ReadS TestResult # readList :: ReadS [TestResult] # readPrec :: ReadPrec TestResult # readListPrec :: ReadPrec [TestResult] # | |
Show TestResult Source # | |
Defined in Test.Framework.TestInterface showsPrec :: Int -> TestResult -> ShowS # show :: TestResult -> String # showList :: [TestResult] -> ShowS # | |
ToJSON TestResult Source # | |
Defined in Test.Framework.History toJSON :: TestResult -> Value # toEncoding :: TestResult -> Encoding # toJSONList :: [TestResult] -> Value # toEncodingList :: [TestResult] -> Encoding # | |
FromJSON TestResult Source # | |
Defined in Test.Framework.History parseJSON :: Value -> Parser TestResult # parseJSONList :: Value -> Parser [TestResult] # |
data FullTestResult Source #
The full result of a test, as used by HTF plugins.
FullTestResult | |
|
Instances
Eq FullTestResult Source # | |
Defined in Test.Framework.TestInterface (==) :: FullTestResult -> FullTestResult -> Bool # (/=) :: FullTestResult -> FullTestResult -> Bool # | |
Read FullTestResult Source # | |
Defined in Test.Framework.TestInterface readsPrec :: Int -> ReadS FullTestResult # readList :: ReadS [FullTestResult] # | |
Show FullTestResult Source # | |
Defined in Test.Framework.TestInterface showsPrec :: Int -> FullTestResult -> ShowS # show :: FullTestResult -> String # showList :: [FullTestResult] -> ShowS # |
data HTFFailureException Source #
Instances
Show HTFFailureException Source # | |
Defined in Test.Framework.TestInterface showsPrec :: Int -> HTFFailureException -> ShowS # show :: HTFFailureException -> String # showList :: [HTFFailureException] -> ShowS # | |
Exception HTFFailureException Source # | |
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
.