hstest: Runs tests via QuickCheck1 and HUnit; like quickCheck-script but uses GHC api
hstest
looks through all Haskell source files in the current directory (by default), runs all properties via QuickCheck 1
(properties must have a name that starts prop_
), and runs all tests via HUnit (tests must have a name that starts test_
).
For example, suppose you have this Haskell source file called mysort.hs
:
mySort xs = ... -- a function you wish to test (definition elided) prop_lengthStaysTheSame xs = length xs == length (mySort xs) prop_sumStaysTheSame xs = sum xs == sum (mySort xs) prop_lowestElementAtStart, prop_highestElementAtEnd :: [Int] -> Bool prop_lowestElementAtStart xs = not (null xs) ==> minimum xs == head (mySort xs) prop_highestElementAtEnd xs = not (null xs) ==> maximum xs == last (mySort xs)
Then to check all these tests, you run
$ hstest Failed prop_highestElementAtEnd: * [-3,2,-2] mysort.hs: Failed 1 property, passed 3 properties
Oops! Fix mySort
and try again:
$ hstest mysort.hs: Passed 4 properties
Downloads
- hstest-0.0.1.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.0.0, 0.0.1 |
---|---|
Dependencies | base (>=4.0.0 && <4.3), directory (>=1.0.0 && <1.1), filepath (>=1.1.0 && <1.2), ghc (>=6.10.1 && <6.12 || >=6.12.1 && <6.14), ghc-paths (>=0.1.0 && <0.2), HUnit (>=1.2.0 && <1.3), mtl (>=1.1.0 && <1.2), QuickCheck (>=1.2.0.0 && <1.3), random (>=1.0.0 && <1.1) [details] |
Tested with | ghc ==6.10.1, ghc ==6.12.1 |
License | BSD-3-Clause |
Copyright | © Dave Hinton, 2010; portions © Koen Claessen |
Author | Dave Hinton |
Maintainer | Dave Hinton <beakerchu@googlemail.com> |
Category | Testing |
Home page | http://bitbucket.org/dave4420/hstest/wiki/Home |
Bug tracker | http://bitbucket.org/dave4420/hstest/issues?status=new&status=open |
Uploaded | by DaveHinton at 2010-06-15T01:25:57Z |
Distributions | |
Reverse Dependencies | 1 direct, 0 indirect [details] |
Executables | hstest |
Downloads | 1704 total (3 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs not available [build log] All reported builds failed as of 2016-12-29 [all 7 reports] |