|
Packit |
1d8052 |
Name: QuickCheck
|
|
Packit |
1d8052 |
Version: 2.10.1
|
|
Packit |
1d8052 |
Cabal-Version: >= 1.8
|
|
Packit |
1d8052 |
Build-type: Simple
|
|
Packit |
1d8052 |
License: BSD3
|
|
Packit |
1d8052 |
License-file: LICENSE
|
|
Packit |
1d8052 |
Copyright: 2000-2017 Koen Claessen, 2006-2008 Björn Bringert, 2009-2017 Nick Smallbone
|
|
Packit |
1d8052 |
Author: Koen Claessen <koen@chalmers.se>
|
|
Packit |
1d8052 |
Maintainer: Nick Smallbone <nick@smallbone.se>; see also QuickCheck mailing list (https://groups.google.com/forum/#!forum/haskell-quickcheck)
|
|
Packit |
1d8052 |
Bug-reports: https://github.com/nick8325/quickcheck/issues
|
|
Packit |
1d8052 |
Tested-with: GHC == 7.0.4, GHC == 7.2.2, GHC >= 7.4
|
|
Packit |
1d8052 |
Homepage: https://github.com/nick8325/quickcheck
|
|
Packit |
1d8052 |
Category: Testing
|
|
Packit |
1d8052 |
Synopsis: Automatic testing of Haskell programs
|
|
Packit |
1d8052 |
Description:
|
|
Packit |
1d8052 |
QuickCheck is a library for random testing of program properties.
|
|
Packit |
1d8052 |
.
|
|
Packit |
1d8052 |
The programmer provides a specification of the program, in the form of
|
|
Packit |
1d8052 |
properties which functions should satisfy, and QuickCheck then tests that the
|
|
Packit |
1d8052 |
properties hold in a large number of randomly generated cases.
|
|
Packit |
1d8052 |
.
|
|
Packit |
1d8052 |
Specifications are expressed in Haskell, using combinators defined in the
|
|
Packit |
1d8052 |
QuickCheck library. QuickCheck provides combinators to define properties,
|
|
Packit |
1d8052 |
observe the distribution of test data, and define test data generators.
|
|
Packit |
1d8052 |
.
|
|
Packit |
1d8052 |
The <http://www.cse.chalmers.se/~rjmh/QuickCheck/manual.html official QuickCheck manual>
|
|
Packit |
1d8052 |
explains how to write generators and properties;
|
|
Packit |
1d8052 |
it is out-of-date in some details but still full of useful advice.
|
|
Packit |
1d8052 |
.
|
|
Packit |
1d8052 |
A user of QuickCheck has written an unofficial, but detailed, tutorial which
|
|
Packit |
1d8052 |
you can find at
|
|
Packit |
1d8052 |
<https://begriffs.com/posts/2017-01-14-design-use-quickcheck.html>.
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
extra-source-files:
|
|
Packit |
1d8052 |
README
|
|
Packit |
1d8052 |
changelog
|
|
Packit |
1d8052 |
examples/Heap.hs
|
|
Packit |
1d8052 |
examples/Heap_Program.hs
|
|
Packit |
1d8052 |
examples/Heap_ProgramAlgebraic.hs
|
|
Packit |
1d8052 |
examples/Lambda.hs
|
|
Packit |
1d8052 |
examples/Merge.hs
|
|
Packit |
1d8052 |
examples/Set.hs
|
|
Packit |
1d8052 |
examples/Simple.hs
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
source-repository head
|
|
Packit |
1d8052 |
type: git
|
|
Packit |
1d8052 |
location: https://github.com/nick8325/quickcheck
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
source-repository this
|
|
Packit |
1d8052 |
type: git
|
|
Packit |
1d8052 |
location: https://github.com/nick8325/quickcheck
|
|
Packit |
1d8052 |
tag: 2.10.1
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
flag templateHaskell
|
|
Packit |
1d8052 |
Description: Build Test.QuickCheck.All, which uses Template Haskell.
|
|
Packit |
1d8052 |
Default: True
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
library
|
|
Packit |
1d8052 |
Build-depends: base >=4.3 && <5, random, containers
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- Modules that are always built.
|
|
Packit |
1d8052 |
Exposed-Modules:
|
|
Packit |
1d8052 |
Test.QuickCheck,
|
|
Packit |
1d8052 |
Test.QuickCheck.Arbitrary,
|
|
Packit |
1d8052 |
Test.QuickCheck.Gen,
|
|
Packit |
1d8052 |
Test.QuickCheck.Gen.Unsafe,
|
|
Packit |
1d8052 |
Test.QuickCheck.Monadic,
|
|
Packit |
1d8052 |
Test.QuickCheck.Modifiers,
|
|
Packit |
1d8052 |
Test.QuickCheck.Property,
|
|
Packit |
1d8052 |
Test.QuickCheck.Test,
|
|
Packit |
1d8052 |
Test.QuickCheck.Text,
|
|
Packit |
1d8052 |
Test.QuickCheck.Poly,
|
|
Packit |
1d8052 |
Test.QuickCheck.State,
|
|
Packit |
1d8052 |
Test.QuickCheck.Random,
|
|
Packit |
1d8052 |
Test.QuickCheck.Exception
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- GHC-specific modules.
|
|
Packit |
1d8052 |
if impl(ghc)
|
|
Packit |
1d8052 |
Exposed-Modules: Test.QuickCheck.Function
|
|
Packit |
1d8052 |
Build-depends: transformers >= 0.3, deepseq
|
|
Packit |
1d8052 |
else
|
|
Packit |
1d8052 |
cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
if impl(ghc) && flag(templateHaskell)
|
|
Packit |
1d8052 |
Build-depends: template-haskell >= 2.4
|
|
Packit |
1d8052 |
Other-Extensions: TemplateHaskell
|
|
Packit |
1d8052 |
Exposed-Modules: Test.QuickCheck.All
|
|
Packit |
1d8052 |
else
|
|
Packit |
1d8052 |
cpp-options: -DNO_TEMPLATE_HASKELL
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
if !impl(ghc >= 7.2)
|
|
Packit |
1d8052 |
cpp-options: -DNO_FOREIGN_C_USECONDS
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- The new generics appeared in GHC 7.2...
|
|
Packit |
1d8052 |
if impl(ghc < 7.2)
|
|
Packit |
1d8052 |
cpp-options: -DNO_GENERICS
|
|
Packit |
1d8052 |
-- ...but in 7.2-7.4 it lives in the ghc-prim package.
|
|
Packit |
1d8052 |
if impl(ghc >= 7.2) && impl(ghc < 7.6)
|
|
Packit |
1d8052 |
Build-depends: ghc-prim
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- Safe Haskell appeared in GHC 7.2, but GHC.Generics isn't safe until 7.4.
|
|
Packit |
1d8052 |
if impl (ghc < 7.4)
|
|
Packit |
1d8052 |
cpp-options: -DNO_SAFE_HASKELL
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- Use tf-random on newer GHCs.
|
|
Packit |
1d8052 |
if impl(ghc)
|
|
Packit |
1d8052 |
Build-depends: tf-random >= 0.4
|
|
Packit |
1d8052 |
else
|
|
Packit |
1d8052 |
cpp-options: -DNO_TF_RANDOM
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
if !impl(ghc >= 7.6)
|
|
Packit |
1d8052 |
cpp-options: -DNO_POLYKINDS
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
if !impl(ghc >= 8.0)
|
|
Packit |
1d8052 |
cpp-options: -DNO_MONADFAIL
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- Switch off most optional features on non-GHC systems.
|
|
Packit |
1d8052 |
if !impl(ghc)
|
|
Packit |
1d8052 |
-- If your Haskell compiler can cope without some of these, please
|
|
Packit |
1d8052 |
-- send a message to the QuickCheck mailing list!
|
|
Packit |
1d8052 |
cpp-options: -DNO_TIMEOUT -DNO_NEWTYPE_DERIVING -DNO_GENERICS -DNO_TEMPLATE_HASKELL -DNO_SAFE_HASKELL
|
|
Packit |
1d8052 |
if !impl(hugs) && !impl(uhc)
|
|
Packit |
1d8052 |
cpp-options: -DNO_ST_MONAD -DNO_MULTI_PARAM_TYPE_CLASSES
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
-- LANGUAGE pragmas don't have any effect in Hugs.
|
|
Packit |
1d8052 |
if impl(hugs)
|
|
Packit |
1d8052 |
Extensions: CPP
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
if impl(uhc)
|
|
Packit |
1d8052 |
-- Cabal under UHC needs pointing out all the dependencies of the
|
|
Packit |
1d8052 |
-- random package.
|
|
Packit |
1d8052 |
Build-depends: old-time, old-locale
|
|
Packit |
1d8052 |
-- Plus some bits of the standard library are missing.
|
|
Packit |
1d8052 |
cpp-options: -DNO_FIXED -DNO_EXCEPTIONS
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
Test-Suite test-quickcheck
|
|
Packit |
1d8052 |
type: exitcode-stdio-1.0
|
|
Packit |
1d8052 |
hs-source-dirs:
|
|
Packit |
1d8052 |
examples
|
|
Packit |
1d8052 |
main-is: Heap.hs
|
|
Packit |
1d8052 |
build-depends: base, QuickCheck
|
|
Packit |
1d8052 |
if !flag(templateHaskell)
|
|
Packit |
1d8052 |
Buildable: False
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
Test-Suite test-quickcheck-gcoarbitrary
|
|
Packit |
1d8052 |
type: exitcode-stdio-1.0
|
|
Packit |
1d8052 |
hs-source-dirs: tests
|
|
Packit |
1d8052 |
main-is: GCoArbitraryExample.hs
|
|
Packit |
1d8052 |
build-depends: base, QuickCheck
|
|
Packit |
1d8052 |
if !impl(ghc >= 7.2)
|
|
Packit |
1d8052 |
buildable: False
|
|
Packit |
1d8052 |
if impl(ghc >= 7.2) && impl(ghc < 7.6)
|
|
Packit |
1d8052 |
build-depends: ghc-prim
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
Test-Suite test-quickcheck-generators
|
|
Packit |
1d8052 |
type: exitcode-stdio-1.0
|
|
Packit |
1d8052 |
hs-source-dirs: tests
|
|
Packit |
1d8052 |
main-is: Generators.hs
|
|
Packit |
1d8052 |
build-depends: base, QuickCheck
|
|
Packit |
1d8052 |
if !flag(templateHaskell)
|
|
Packit |
1d8052 |
Buildable: False
|
|
Packit |
1d8052 |
|
|
Packit |
1d8052 |
Test-Suite test-quickcheck-gshrink
|
|
Packit |
1d8052 |
type: exitcode-stdio-1.0
|
|
Packit |
1d8052 |
hs-source-dirs: tests
|
|
Packit |
1d8052 |
main-is: GShrinkExample.hs
|
|
Packit |
1d8052 |
build-depends: base, QuickCheck
|
|
Packit |
1d8052 |
if !impl(ghc >= 7.2)
|
|
Packit |
1d8052 |
buildable: False
|
|
Packit |
1d8052 |
if impl(ghc >= 7.2) && impl(ghc < 7.6)
|
|
Packit |
1d8052 |
build-depends: ghc-prim
|