packages feed

quickcheck-lockstep-0.2.1: quickcheck-lockstep.cabal

cabal-version:      2.4
name:               quickcheck-lockstep
version:            0.2.1
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.
tested-with:        GHC ==8.10.7 || ==9.0.2 || ==9.2.4 || ==9.4.2

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
  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