| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Test.Framework.JsonOutput
Contents
Description
HTF's machine-readable output is a sequence of JSON messages. Each message is terminated by a newline followed by two semicolons followed again by a newline.
There are four types of JSON messages. Each JSON object has a "type" attribute denoting
this type. The types are: test-start, test-end, and test-list, test-results.
Their haskell representations are TestStartEventObj, TestEndEventObj, TestListObj, and
TestResultsObj. The corresponding JSON rendering is defined in this module.
- The
test-startmessage denotes the start of a single test case. Example (whitespace inserted for better readability):
{"test": {"flatName": "Main:nonEmpty",
"location": {"file": "Tutorial.hs", "line": 17},
"path": ["Main","nonEmpty"],
"sort": "unit-test"},
"type":"test-start"}- The
test-endmessage denotes the end of a single test case. It contains information about the outcome of the test. Example:
{"result": "pass",
"message":"",
"test":{"flatName": "Main:nonEmpty",
"location": {"file": "Tutorial.hs", "line": 17},
"path": ["Main","nonEmpty"],
"sort": "unit-test"},
"wallTime": 0, // in milliseconds
"type": "test-end",
"location":null}- The
test-resultsmessage occurs after all tests have been run and summarizes their results. Example:
{"failures": 0,
"passed": 4,
"pending": 0,
"wallTime": 39, // in milliseconds
"errors": 0,
"type":"test-results"}- The
test-listmessage contains all tests defined. It is used for the --list commandline options. Example:
{"tests": [{"flatName":"Main:nonEmpty","location":{"file":"Tutorial.hs","line":17},"path":["Main","nonEmpty"],"sort":"unit-test"},
{"flatName":"Main:empty","location":{"file":"Tutorial.hs","line":19},"path":["Main","empty"],"sort":"unit-test"},
{"flatName":"Main:reverse","location":{"file":"Tutorial.hs","line":22},"path":["Main","reverse"],"sort":"quickcheck-property"},
{"flatName":"Main:reverseReplay","location":{"file":"Tutorial.hs","line":24},"path":["Main","reverseReplay"],"sort":"quickcheck-property"}],
"type":"test-list"}For an exact specification, please have a look at the code of this module.
Documentation
data TestStartEventObj #
Instances
| ToJSON TestStartEventObj # | |
Defined in Test.Framework.JsonOutput Methods toJSON :: TestStartEventObj -> Value # toEncoding :: TestStartEventObj -> Encoding # toJSONList :: [TestStartEventObj] -> Value # toEncodingList :: [TestStartEventObj] -> Encoding # | |
| HTFJsonObj TestStartEventObj # | |
Defined in Test.Framework.JsonOutput | |
data TestEndEventObj #
Instances
| ToJSON TestEndEventObj # | |
Defined in Test.Framework.JsonOutput Methods toJSON :: TestEndEventObj -> Value # toEncoding :: TestEndEventObj -> Encoding # toJSONList :: [TestEndEventObj] -> Value # toEncodingList :: [TestEndEventObj] -> Encoding # | |
| HTFJsonObj TestEndEventObj # | |
Defined in Test.Framework.JsonOutput | |
data TestListObj #
Instances
| ToJSON TestListObj # | |
Defined in Test.Framework.JsonOutput Methods toJSON :: TestListObj -> Value # toEncoding :: TestListObj -> Encoding # toJSONList :: [TestListObj] -> Value # toEncodingList :: [TestListObj] -> Encoding # | |
| HTFJsonObj TestListObj # | |
Defined in Test.Framework.JsonOutput | |
Instances
| ToJSON TestObj # | |
Defined in Test.Framework.JsonOutput | |
data TestResultsObj #
Instances
| ToJSON TestResultsObj # | |
Defined in Test.Framework.JsonOutput Methods toJSON :: TestResultsObj -> Value # toEncoding :: TestResultsObj -> Encoding # toJSONList :: [TestResultsObj] -> Value # toEncodingList :: [TestResultsObj] -> Encoding # | |
| HTFJsonObj TestResultsObj # | |
Defined in Test.Framework.JsonOutput | |
mkTestStartEventObj :: FlatTest -> String -> TestStartEventObj #
mkTestListObj :: [(FlatTest, String)] -> TestListObj #
decodeObj :: HTFJsonObj a => a -> ByteString #
class ToJSON a => HTFJsonObj a #
Instances
| HTFJsonObj TestResultsObj # | |
Defined in Test.Framework.JsonOutput | |
| HTFJsonObj TestListObj # | |
Defined in Test.Framework.JsonOutput | |
| HTFJsonObj TestEndEventObj # | |
Defined in Test.Framework.JsonOutput | |
| HTFJsonObj TestStartEventObj # | |
Defined in Test.Framework.JsonOutput | |