This release contains a range of improvements to the integrated shrinking of QCheck2
, initially introduced in the 0.18 release.
As a consequence, its shrinking algorithms should act more predictably. The release also adds missing result
, int32
, and int64
combinators.
The full change log:
- [qcheck-alcotest] Add an optional
speed_level
parameter toto_alcotest
- Adjust the
QCheck2.Gen.list
shrinker to produce minimal counterexamples at size 3 too - Replace the
QCheck2
OCaml 4Random.State.split
hack with a faster one - Improve the
QCheck2.Gen.list
shrinker heuristic and utilize the improved shrinker in otherQCheck2
{list,array,bytes,string,function}*
shrinkers - Use
split
andcopy
inRandom.State
underlyingQCheck2
to avoid non-deterministic shrinking behaviour - Add missing documentation strings for
QCheck.{Print,Iter,Shrink,Gen}
andQCheck2.Gen
. - Add
result
combinators toQCheck
,QCheck.{Gen,Print,Shrink,Observable}
, andQCheck2.{Gen,Print,Observable}
. - Add missing combinators
QCheck{,2}.Print.int{32,64}
,QCheck.Gen.int{32,64}
,QCheck{,2}.Observable.int{32,64}
, and deprecateQCheck.Gen.{ui32,ui64}
- Document
dune
usage in README