Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Changes
NEXT RELEASE
Restore Test.make's max_fail parameter which was accidentally broken in 0.18
Adjust stats computation of average and standard deviation to limit precision loss, print both using scientific notation, and workaround MinGW float printing to also pass expect tests
Fix dune snippets missing a language specifier in README.adoc causing asciidoc to error
Add a note to QCheck{,2.Gen}.small_int_corners and QCheck{,2}.Gen.graft_corners about internal state, and fix a range of documentation reference warnings
Reorganize and polish the README, rewrite it to use qcheck-core, and add a QCheck2 integrated shrinking example
Document QCHECK_MSG_INTERVAL introduced in 0.20
Add QCheck{,2}.Gen.map{4,5} combinators
[ppx_deriving_qcheck] Support ppxlib.0.36.0 based on the OCaml 5.2 AST
0.24
[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
0.23
Quote and escape in Print.string and Print.char in the QCheck module, mirroring the QCheck2.Print module's behaviour. Also quote and escape Print.bytes in both QCheck and QCheck2.
Clean-up QCheck and QCheck2 documentation pages
Add exponential generator to QCheck, QCheck.Gen, and QCheck2.Gen
Add Shrink.bool and use it in QCheck.bool
Remove unread fun_gen field from QCheck2's fun_repr_tbl type thereby silencing a compiler warning
0.22
Remove QCheck2.TestResult.get_instances as retaining previous test inputs cause memory leaks
Make QCheck2.state.res immutable, silencing a compilation warning
0.21.3
Drop the dependency on base-bytes as it is provided in all supported versions of the OCaml compiler
0.21.2
Reintroduce the Shrink.list_spine fix by catching Invalid_argument and falling back on an address comparison.
Fix #273 by lowering ppx_deriving_qcheck's qcheck dependency to qcheck-core
0.21.1
Roll back the Shrink.list_spine fix, as it was utilizing polymorphic equality that can raise an exception on function comparison.
0.21
make Test.check_result, Test.check_cell_exn, and Test.check_exn honor test polarity by raising Test_unexpected_success when a negative test (expected to have a counter example), unexpectedly succeeds.
fix issue with ppx_deriving_qcheck deriving a generator with unbound gen for recursive types #269 and a related issue when deriving a generator for a record type
fix #241 causing QCheck.Shrink.int* to emit duplicates, also affecting QCheck.Shrink.{char,string}
fix a cornercase where Shrink.list_spine would emit duplicates
(QCheck2.small_string character generator argument is no more optional - reverted again due to backwards incompatibility)
add an optional argument with conservative default to Shrink.string
fix shrinkers in QCheck.{printable_string,printable_string_of_size,small_printable_string,numeral_string,numeral_string_of_size}#257
add QCheck2.Gen.set_shrink to modify the generator's shrinker
add QCheck2.Gen.no_shrink to build a generator with no shrinking
add an environment variable QCHECK_MSG_INTERVAL to control QCheck_base_runner.time_between_msg
fix unknown option error message referring to qtest
0.19.1
fix: allow ~count in Test.make to be 0
fix: allow ~long_factor in Test.make to be 0
0.19
use Float.equal for comparing floats in the Observable module underlying function generators.
add optional debug_shrink parameters in alcotest interface and expose default debug_shrinking_choices in test runners
add missing ?handler parameter to Test.check_cell_exn
remove --no-buffer option on dune runtest to avoid garbling the test output
add an option retries parameter to Test.make et al. for checking a property repeatedly while shrinking. This can be useful when testing non-deterministic code. #212
add tup2 to tup9 for generators
add Test.make_neg for negative property-based tests, that are expected not to satisfy the tested property.
rename Gen.opt to Gen.option but keep the old binding for compatibility.
add additional expect and unit tests and refactor expect test suite
fix function generation affecting reproducability #236
refactor: modify type of results to make them more accurate
feat: warn/fail if too many tests passed only b/c precondition failed
0.9
add qcheck-ounit sublibrary
use environment variables to configure qcheck-alcotest tests
alcotest backend for qcheck
make qcheck.ounit tests verbose by default
make qcheck is a compatibility library, depends on qcheck-core
split lib into qcheck and qcheck.ounit
add TestResult.is_success helper
give access to list of instances in test results
allow setting time_between_msg in runner
chore: remove submodule
chore: add travis support
doc: explanations about qcheck.ounit runners
doc: update readme
0.8
migrate to jbuilder
fix warnings
add some useful functions
update oasis files (close #48)
update copyright header (closes #47)
0.7
switch to BSD license, make it more explicit (close #43)
improve multi-line message printing in ounit (closes #46)
fix complexity of add_stat
allow negative entries in statistics (see #40)
add a way for tests to report messages to the user (see #39)
add QCheck.Shrink.int_aggressive and make default int shrinker faster
shrinker for map_keep_input
add QCheck.set_gen, missing for some reason
more compact verbose output (see #33)
better handling of dynamic progress line
Add colors to checkmarks in verbose mode
improve statistics display for runner
recover exception of shrunk input
print status line before the solving starts
0.6
add find_example and find_example_gen to synthesize values from properties (see #31)
add QCheck.gen for accessing the random generator easily
colorful runners, with --no-colors to disable them
add more generator (for corner cases)
better generation of random functions (see #8), using Observable and an efficient internal representation using heterogeneous tuples, printing, and shrinking. deprecate old hacks.
add statistics gathering and display (see #30)
better printing of Tuple
improve Shrink.{array,list} (see #32)
Change asserts to raise Invalid_arg (following the doc), and update doc
Change Gen.{int_bount,int_range} to support up to 2^62
0.5.3.1
fix regression in runner output (print results of collect)
update the @since tags
0.5.3
missing char in Gen.char (close #23)
add test and doc to opam
add small_list generator
add ~long_factor to tests and runner, for long tests
add more examples in readme, better doc for runners
improved reporting when running qcheck tests
add Test.get_count on test cells
0.5.2
Add cli option for backtraces in QCheck_runner
Add test case for raising exception
Better handling of backtraces
All tests now have a name
Add step function called on each instance in a test