- Add compatibility with GHC 8.8 (#319, @erikd)
- Include location of failed assertion in report. This enables editors to more easily parse the location of failed test assertions, and provide links/jump functionality (#308, @owickstrom)
- Stop using filter to define unicode (#303, @ajmcmiddlin)
- Export LabelName from main module (#299, @erikd)
- Add histograms to labels / coverage (#289, @jacobstanley)
- Improved shrinking of lists (#276, @jacobstanley / @edsko)
- Simplify
MonadGen
, this breaks the use ofStateT
on the outside of aGenT
for the time being, it still works fine on the inside though and you can usedistributeT
to run it (#276, @jacobstanley) - Change
Applicative
GenT
to use zipping (#272, @jacobstanley / @edsko) - Rename
Tree
->TreeT
,Node
->NodeT
(#272, @jacobstanley) diff
function which takes anya -> a -> Bool
comparison function (#196, @chessai / @jacobstanley)- Labelling of test runs via
label
,collect
(#262, @ruhatch / @jacobstanley) - Classification of test runs via
cover
,classify
(#253, @felixmulder / @jacobstanley) - Define proper
Applicative
instances forNodeT
,TreeT
andGenT
(#173@sjakobi) MonadFail
instance forPropertyT
(#267, @geigerzaehler)MonadResource
instance forPropertyT
(#268, @geigerzaehler)- Example for the
tripping
function (#258, @HuwCampbell) - Improve documentation for state machine testing (#252, @endgame)
runTests
function for running tests from a top level executable, this was later renamed todefaultMain
as is the de facto convention (#168, @erikd)- Show output variables when parallel state machine testing fails to linearise (#235, @HuwCampbell)
- Note about
enumBounded
danger (#202, @thumphries) - Expose
discoverPrefix
to find prefixed properties (#229, @ruhatch) - Remove use of
unix
package and replace withlookupEnv
(#226, @puffnfresh)
- Fix UTF-8 related rendering bugs on Windows (#218, @moodmosaic)
- Verify that our SplitMix/Seed avoids pathological γ-values (#207, @moodmosaic)
- Avoid weak gamma values in Hedgehog.Internal.Seed (#198, @moodmosaic)
- Pass Dieharder statistical/randomness tests (#185, @moodmosaic)
- Catch
readFile
exceptions on the repl (#184, @thumphries)
- Add
Semigroup
andMonoid
instances forGenT
that lift the innerMonoid
(#156, @andrewthad) Gen.unicode
no longer generates non-characters (#154, @johnchandlerburnham)- Documentation improvements (#162, @fisx)
- Documentation fixes (#157, @dredozubov)
- Add doc explaining use of
withTests 1
(#134, @chris-martin) - Explicitly define
Semigroup
instance forSummary
(#142, @gwils) - Depend on
semigroups
(#140, @LightAndLight) - Support
transformers-0.4
(#150, @gwils)
- Only invoke
setNumCapabilities
when using the-threaded
runtime (#130, @ekmett) - Correct
mixGamma
oddness check (#124, @markhibberd)
- Parallel state machine testing, allows detection of commands which are not-atomic (#98, @jacobstanley)
- Easier to use variables for state machine testing (#94, @jacobstanley)
MonadGen
class allows the use of transformers likeReaderT
andStateT
on the outside of generators (#99, @jacobstanley)- Better error messages for tests which throw exceptions (#95, @jacobstanley)
- Separated test input generation and assertions in to
PropertyT
andTestT
respectively, this allowsTestT
to have aMonadBaseControl
instance (#96, @jacobstanley) - This document grew links to the pull requests which introduced various changes (#93, @moodmosaic)
- Fixed runtime type error that could occur when shrinking state machine commands (#91, @jacobstanley)
- Abstract state machine testing, check out Tim Humphries' great blog post or the process registry example to see how it works (#89, @jacobstanley)
liftCatch
,liftCatchIO
,withCatch
functions for isolating exceptions during tests (#89, @jacobstanley)
- Exponential range combinators (#43, @chris-martin)
- Roundtrip example, check out the blog post (#85, @thumphries)
tripping
now displays intermediate value (#85, @jacobstanley)distribute
function for pulling a transformer out to the top level (#83, @jacobstanley)withExceptT
function for executing tests with an innerExceptT
(e.g.Test (ExceptT x m) a
) (#83, @jacobstanley)
- Fixed scope of
unicode
character generators (#76, @moodmosaic) - Widen version bounds for some dependencies (#80, @amarpotghan)
- Expose test modules to fix build on nix / hydra (#78, @amarpotghan)
- Fixes for GHC 8.2 RC2 (#77, @erikd)
- Added
ascii
,latin1
,unicode
character generators (#73, @jacobstanley)
- Added a quiet test runner which can be activated by setting
HEDGEHOG_VERBOSITY=0
(@jacobstanley) - Concurrent test runner does not display tests until they are executing (@jacobstanley)
- Test runner now outputs a summary of how many successful / failed tests were run (@jacobstanley)
checkSequential
andcheckParallel
now allow for tests to be run without Template Haskell (@jacobstanley)- Auto-discovery of properties is now available via
discover
instead of being baked in (@jacobstanley) annotate
allows source code to be annotated inline with extra information (@jacobstanley)forAllWith
can be used to generate values without aShow
instance (@jacobstanley)- Removed uses of
Typeable
to allow for generating types which cannot implement it (@jacobstanley)