Skip to content

0.24

Latest
Compare
Choose a tag to compare
@jmid jmid released this 27 Feb 17:38
· 2 commits to main since this release

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 to to_alcotest
  • Adjust the QCheck2.Gen.list shrinker to produce minimal counterexamples at size 3 too
  • Replace the QCheck2 OCaml 4 Random.State.split hack with a faster one
  • Improve the QCheck2.Gen.list shrinker heuristic and utilize the improved shrinker in other QCheck2 {list,array,bytes,string,function}* shrinkers
  • Use split and copy in Random.State underlying QCheck2 to avoid non-deterministic shrinking behaviour
  • Add missing documentation strings for QCheck.{Print,Iter,Shrink,Gen} and QCheck2.Gen.
  • Add result combinators to QCheck, QCheck.{Gen,Print,Shrink,Observable}, and QCheck2.{Gen,Print,Observable}.
  • Add missing combinators QCheck{,2}.Print.int{32,64}, QCheck.Gen.int{32,64}, QCheck{,2}.Observable.int{32,64}, and deprecate QCheck.Gen.{ui32,ui64}
  • Document dune usage in README