packages feed

hedgehog-lockstep-0.1.0.0: hedgehog-lockstep.cabal

cabal-version:      3.0
name:               hedgehog-lockstep
version:            0.1.0.0
synopsis:           Lockstep-style stateful property testing for Hedgehog
description:
  Lockstep-style testing of stateful APIs built on Hedgehog's
  state machine framework. Ports the ideas of quickcheck-lockstep onto
  Hedgehog, giving integrated shrinking, parallel testing, and less
  boilerplate than the QuickCheck / quickcheck-dynamic / quickcheck-lockstep
  stack.

license:            BSD-3-Clause
license-file:       LICENSE
author:             Josh Burgess
maintainer:         joshualoganburgess@gmail.com
copyright:          (c) 2026 Josh Burgess
category:           Testing
homepage:           https://github.com/joshburgess/hedgehog-lockstep
bug-reports:        https://github.com/joshburgess/hedgehog-lockstep/issues
build-type:         Simple
extra-doc-files:
  CHANGELOG.md
  README.md

tested-with:
  GHC ==9.6.7
   || ==9.8.4
   || ==9.10.3
   || ==9.12.4

source-repository head
  type:     git
  location: https://github.com/joshburgess/hedgehog-lockstep.git

flag werror
  description: Turn warnings into errors (development only, not for releases).
  default:     False
  manual:      True

common warnings
  ghc-options:
    -Wall -Wcompat -Wno-unticked-promoted-constructors
    -funbox-strict-fields

  if flag(werror)
    ghc-options: -Werror

library
  import:           warnings
  hs-source-dirs:   src
  default-language: GHC2021
  default-extensions:
    DerivingStrategies
    GADTs
    LambdaCase
    OverloadedStrings
    RecordWildCards
    StrictData

  exposed-modules:
    Hedgehog.Lockstep
    Hedgehog.Lockstep.Command
    Hedgehog.Lockstep.Examples
    Hedgehog.Lockstep.GVar
    Hedgehog.Lockstep.Observe
    Hedgehog.Lockstep.Op
    Hedgehog.Lockstep.Property
    Hedgehog.Lockstep.State

  build-depends:
    , barbies    >=2.0     && <2.2
    , base       >=4.18    && <4.22
    , containers >=0.6     && <0.9
    , hedgehog   >=1.4     && <1.6

test-suite hedgehog-lockstep-test
  import:           warnings
  type:             exitcode-stdio-1.0
  hs-source-dirs:   test
  main-is:          Main.hs
  default-language: GHC2021
  default-extensions:
    DerivingStrategies
    GADTs
    LambdaCase
    OverloadedStrings
    RecordWildCards
    StrictData

  other-modules:
    Test.BuggyCounter
    Test.CustomOp
    Test.HandleStore
    Test.KVStore
    Test.LabelledExamples
    Test.Observation
    Test.OpProjections
    Test.ParallelKV
    Test.PureSort
    Test.ReaderKV
    Test.UnitCoverage

  build-depends:
    , base              >=4.18 && <4.22
    , barbies           >=2.0  && <2.2
    , containers        >=0.6  && <0.9
    , hedgehog          >=1.4  && <1.6
    , hedgehog-lockstep
    , mtl               >=2.2  && <2.4