Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data FromSetup
- data Summary = Summary {}
- emptySummary :: Summary
- runModules :: (?verbosity :: LogLevel) => ModuleConfig -> Maybe Int -> Bool -> [String] -> [Module [Located DocTest]] -> IO Summary
- count :: Module [Located DocTest] -> Int
- type Report = StateT ReportState IO
- data ReportState = ReportState {}
- report :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => LogLevel -> String -> Report ()
- report_ :: (?verbosity :: LogLevel) => LogLevel -> String -> Report ()
- overwrite :: String -> Report ()
- shuffle :: Int -> [a] -> [a]
- runModule :: ModuleConfig -> Bool -> [String] -> Chan (ThreadId, ReportUpdate) -> Module [Located DocTest] -> IO ()
- data ReportUpdate
- = UpdateSuccess FromSetup
- | UpdateFailure FromSetup Location Expression [String]
- | UpdateError FromSetup Location Expression String
- | UpdateModuleDone
- | UpdateInternalError FromSetup (Module [Located DocTest]) SomeException
- | UpdateImportError ModuleName (Either String String)
- | UpdateOptionError Location String
- | UpdateLog LogLevel String
- makeThreadPool :: Int -> (Chan (ThreadId, ReportUpdate) -> Module [Located DocTest] -> IO ()) -> IO (Chan (Module [Located DocTest]), Chan (ThreadId, ReportUpdate))
- reportFailure :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Location -> Expression -> [String] -> Report ()
- reportError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Location -> Expression -> String -> Report ()
- reportOptionError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => Location -> String -> Report ()
- reportInternalError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Module a -> SomeException -> Report ()
- reportImportError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => ModuleName -> Either String String -> Report ()
- reportSuccess :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Report ()
- updateSummary :: FromSetup -> Summary -> Report ()
- reportProgress :: (?verbosity :: LogLevel) => Report ()
- runTestGroup :: FromSetup -> Bool -> Interpreter -> IO () -> (ReportUpdate -> IO ()) -> [Located DocTest] -> IO Bool
- runExampleGroup :: FromSetup -> Bool -> Interpreter -> (ReportUpdate -> IO ()) -> [Located Interaction] -> IO Bool
- safeEvalWith :: Bool -> Interpreter -> String -> IO (Either String String)
Documentation
Summary of a test run.
:: (?verbosity :: LogLevel) | |
=> ModuleConfig | Configuration options specific to module |
-> Maybe Int | Number of threads to use. Defaults to |
-> Bool | Implicit Prelude |
-> [String] | Arguments passed to the GHCi process. |
-> [Module [Located DocTest]] | Modules under test |
-> IO Summary |
Run all examples from a list of modules.
data ReportState Source #
ReportState | |
|
report :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => LogLevel -> String -> Report () Source #
Add output to the report.
runModule :: ModuleConfig -> Bool -> [String] -> Chan (ThreadId, ReportUpdate) -> Module [Located DocTest] -> IO () Source #
Run all examples from given module.
data ReportUpdate Source #
UpdateSuccess FromSetup | Test succeeded |
UpdateFailure FromSetup Location Expression [String] | Test failed with unexpected result |
UpdateError FromSetup Location Expression String | Test failed with an error |
UpdateModuleDone | All examples tested in module |
UpdateInternalError FromSetup (Module [Located DocTest]) SomeException | Exception caught while executing internal code |
UpdateImportError ModuleName (Either String String) | Could not import module |
UpdateOptionError Location String | Unrecognized flag in module specific option |
UpdateLog LogLevel String | Unstructured message |
makeThreadPool :: Int -> (Chan (ThreadId, ReportUpdate) -> Module [Located DocTest] -> IO ()) -> IO (Chan (Module [Located DocTest]), Chan (ThreadId, ReportUpdate)) Source #
reportFailure :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Location -> Expression -> [String] -> Report () Source #
reportError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Location -> Expression -> String -> Report () Source #
reportOptionError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => Location -> String -> Report () Source #
reportInternalError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => FromSetup -> Module a -> SomeException -> Report () Source #
reportImportError :: (?verbosity :: LogLevel, ?threadId :: ThreadId) => ModuleName -> Either String String -> Report () Source #
reportProgress :: (?verbosity :: LogLevel) => Report () Source #
runTestGroup :: FromSetup -> Bool -> Interpreter -> IO () -> (ReportUpdate -> IO ()) -> [Located DocTest] -> IO Bool Source #
Run given test group.
The interpreter state is zeroed with :reload
first. This means that you
can reuse the same Interpreter
for several test groups.
runExampleGroup :: FromSetup -> Bool -> Interpreter -> (ReportUpdate -> IO ()) -> [Located Interaction] -> IO Bool Source #
Execute all expressions from given example in given Interpreter
and verify
the output.
safeEvalWith :: Bool -> Interpreter -> String -> IO (Either String String) Source #