packages feed

hegel-0.1.0: hegel.cabal

cabal-version: 3.0
name:          hegel
version:       0.1.0
synopsis:      Property-based testing powered by Hypothesis
description:
  Hegel is a Haskell property-based testing library backed by Hypothesis.
  It provides a generator API, an integration test runner, and a wire
  protocol client for driving Hegel from Haskell code.
maintainer:    Mark Wotton <mwotton@gmail.com>
category:      Testing
license:       MIT
build-type:    Simple

common shared
  ghc-options:      -Wall -Wcompat -threaded
  default-language: GHC2021
  build-depends:    data-default >=0.7 && <0.9

library
  import:          shared
  hs-source-dirs:  src
  exposed-modules:
    Hegel
    Hegel.Client
    Hegel.Conformance
    Hegel.Connection
    Hegel.Generator
    Hegel.Generator.Collections
    Hegel.Generator.Combinators
    Hegel.Generator.Primitives
    Hegel.Protocol
    Hegel.Session
  other-modules:
    Hegel.Generator.Range

  build-depends:
    , array         >=0.5      && <0.6
    , async         >=2.2      && <2.3
    , base          >=4.18  && <5
    , bytestring    >=0.11     && <0.13
    , cborg         >=0.2.9    && <0.3
    , containers    >=0.6      && <0.8
    , digest        >=0.0.2    && <0.1
    , directory     >=1.3      && <1.4
    , process       >=1.6      && <1.7
    , stm           >=2.5      && <2.6
    , text          >=2.0      && <2.2

test-suite hegel-test
  import:         shared
  type:           exitcode-stdio-1.0
  hs-source-dirs: test
  main-is:        Spec.hs
  other-modules:
    Hegel.ProtocolSpec
    Hegel.ClientSpec
    Hegel.IntegrationSpec

  build-depends:
    , base
    , bytestring
    , cborg
    , hegel
    , hspec
    , process
    , stm
    , text

  build-tool-depends:
    hspec-discover:hspec-discover

executable test-booleans
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestBooleans.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , hegel
    , text

executable test-integers
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestIntegers.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-floats
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestFloats.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-text
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestText.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-binary
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestBinary.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-lists
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestLists.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-sampled-from
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestSampledFrom.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

executable test-hashmaps
  import:         shared
  hs-source-dirs: conformance
  main-is:        TestHashmaps.hs
  build-depends:
    , aeson        >=2.2       && <2.3
    , base
    , bytestring
    , containers
    , hegel
    , text

source-repository head
  type:     git
  location: https://github.com/lambdamechanic/hegel-haskell.git