Skip to content

QuickChick/QuickChick

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
April 14, 2023 11:45
September 20, 2022 16:25
March 5, 2023 16:56
November 16, 2018 22:58
src
May 3, 2023 22:38
March 5, 2023 16:56
September 29, 2021 11:43
September 12, 2014 20:45
April 14, 2023 09:44
April 19, 2023 05:50
April 14, 2023 13:34

QuickChick CircleCI

Description

Tutorial

Installation

From OPAM

# Add the Coq opam repository (if you haven't already)
opam repo add coq-released https://coq.inria.fr/opam/released
opam update
# Install the coq-quickchick opam package
opam install coq-quickchick

From source

Dependencies are listed in coq-quickchick.opam.

# To get the dependencies, add the Coq opam repository if you haven't already
opam repo add coq-released https://coq.inria.fr/opam/released
opam update
opam install . --deps-only

Build using Make

make

# To install the package:
# (proceed with caution: this will clobber your `.opam` directory)
make install

Build using Dune

make compat
dune build

Simple Examples

  • examples/Tutorial.v
  • examples/RedBlack
  • examples/stlc
  • examples/ifc-basic

Running make tests in the top-level QuickChick folder will check and execute all of these. If successful, you should see "success" at the end.

Documentation

The public API of QuickChick is summarized in BasicInterface.v.

Top-level Commands

  • QuickCheck c
  • Sample g
  • Derive Arbitrary for c
  • Derive Show for c
  • Derive ArbitrarySizedSuchThat for (fun x => p)
  • Derive DecOpt for p
  • Derive EnumSizedSuchThat for (fun x => p)
  • Derive ArbitrarySizedSuchThat for (fun x => let (x1,x2...) := x in p)
  • QuickCheckWith args c
  • MutateCheck c p
  • MutateCheckWith args c p
  • MutateCheckMany c ps
  • MutateCheckManyWith args c ps

More resources

Here is some more reading material: