cabal-version: 2.4
name: quickcheck-lockstep
version: 0.5.1
license: BSD-3-Clause
license-file: LICENSE
author: Edsko de Vries
maintainer: edsko@well-typed.com, joris@well-typed.com
extra-doc-files:
CHANGELOG.md
README.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.
tested-with:
GHC ==8.10 || ==9.0 || ==9.2 || ==9.4 || ==9.6 || ==9.8 || ==9.10
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
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
-- quickcheck-dynamic requires ghc 8.10 minimum
build-depends:
, base >=4.14 && <4.21
, constraints ^>=0.13 || ^>=0.14
, containers ^>=0.6 || ^>=0.7
, mtl ^>=2.2 || ^>=2.3
, QuickCheck ^>=2.14 || ^>=2.15
, quickcheck-dynamic ^>=3.4.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.IORef.Full
Test.IORef.Simple
Test.MockFS
Test.MockFS.Mock
default-extensions:
DeriveGeneric
EmptyCase
-- Version bounds determined by main lib
build-depends:
, base
, constraints
, containers
, directory
, filepath
, mtl
, QuickCheck
, quickcheck-dynamic
, quickcheck-lockstep
, tasty
, tasty-hunit
, tasty-quickcheck
, temporary