cabal-version: 2.4
name: quickcheck-lockstep
version: 0.2.0
license: BSD-3-Clause
license-file: LICENSE
author: Edsko de Vries
maintainer: edsko@well-typed.com
extra-source-files: CHANGELOG.md
category: Testing
synopsis: Library for lockstep-style testing with 'quickcheck-dynamic'
description: Lockstep-style testing is a particular approach for blackbox
testing of stateful APIs: we generate a random sequence of
APIs calls, then execute them both against the system under
test and against a model, and compare responses up to some
notion of observability.
source-repository head
type: git
location: https://github.com/well-typed/quickcheck-lockstep
common lang
default-language:
Haskell2010
default-extensions:
FlexibleContexts
FlexibleInstances
GADTs
ImportQualifiedPost
LambdaCase
MultiParamTypeClasses
QuantifiedConstraints
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TupleSections
TypeApplications
TypeFamilies
other-extensions:
UndecidableInstances
ghc-options:
-Wall
-Wprepositive-qualified-module
-Wredundant-constraints
library
import:
lang
exposed-modules:
Test.QuickCheck.StateModel.Lockstep
Test.QuickCheck.StateModel.Lockstep.Defaults
Test.QuickCheck.StateModel.Lockstep.Op.Identity
Test.QuickCheck.StateModel.Lockstep.Op.SumProd
Test.QuickCheck.StateModel.Lockstep.Run
other-modules:
Test.QuickCheck.StateModel.Lockstep.API
Test.QuickCheck.StateModel.Lockstep.EnvF
Test.QuickCheck.StateModel.Lockstep.GVar
Test.QuickCheck.StateModel.Lockstep.Op
build-depends:
-- quickcheck-dynamic requires ghc 8.10 minimum
base >= 4.14 && < 4.18
, constraints >= 0.13 && < 0.14
, mtl >= 2.2 && < 2.3
, containers >= 0.6 && < 0.7
, QuickCheck >= 2.14 && < 2.15
, quickcheck-dynamic >= 2.0 && < 2.1
hs-source-dirs:
src
test-suite test-quickcheck-lockstep
import:
lang
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
Main.hs
other-modules:
Test.MockFS
Test.MockFS.Mock
Test.IORef
default-extensions:
DeriveGeneric
EmptyCase
build-depends:
-- Version bounds determined by main lib
base
, constraints
, containers
, directory
, filepath
, mtl
, QuickCheck
, quickcheck-dynamic
, quickcheck-lockstep
, tasty
, tasty-hunit
, tasty-quickcheck
, temporary