packages feed

tasty-discover-5.2.0: tasty-discover.cabal

cabal-version: 3.0

name:                   tasty-discover
version:                5.2.0
synopsis:               Test discovery for the tasty framework.
description:            Automatic test discovery and runner for the tasty framework.
                      
                        Prefix your test case names and tasty-discover will discover, collect and run them.
                      
                        All popular test libraries are covered. Configure once and then just write your tests.
                        Avoid forgetting to add test modules to your Cabal/Hpack files.
                      
                        Tasty ingredients are included along with various configuration options for different
                        use cases.
                      
                        Please see the `README.md` below for how to get started.
category:               Testing
stability:              Experimental
homepage:               https://github.com/haskell-works/tasty-discover
bug-reports:            https://github.com/haskell-works/tasty-discover/issues
author:                 Luke Murphy
maintainer:             John Ky <newhoggy@gmail.com>
copyright:              2016 Luke Murphy
                        2020-2025 John Ky
license:                MIT
license-file:           LICENSE
tested-with:            GHC == 9.12.2, GHC == 9.10.2, GHC == 9.8.4, GHC == 9.6.7
build-type:             Simple
extra-source-files:     CHANGELOG.md
                        README.md

source-repository head
  type: git
  location: https://github.com/haskell-works/tasty-discover

flag dev
  description: Enable development mode
  manual: True
  default: False

common base                       { build-depends: base                       >= 4.11       && < 5      }

common ansi-terminal              { build-depends: ansi-terminal              >= 1.0      && < 2.0      }
common bytestring                 { build-depends: bytestring                 >= 0.9      && < 1.0      }
common containers                 { build-depends: containers                 >= 0.4      && < 1.0      }
common directory                  { build-depends: directory                  >= 1.1      && < 2.0      }
common filepath                   { build-depends: filepath                   >= 1.3      && < 2.0      }
common Glob                       { build-depends: Glob                       >= 0.8      && < 1.0      }
common hedgehog                   { build-depends: hedgehog                   >= 1.0      && < 2.0      }
common hspec                      { build-depends: hspec                      >= 2.7      && < 2.12     }
common hspec-core                 { build-depends: hspec-core                 >= 2.7.10   && < 2.12     }
common tasty                      { build-depends: tasty                      >= 1.3      && < 2.0      }
common tasty-golden               { build-depends: tasty-golden               >= 2.0      && < 3.0      }
common tasty-hedgehog             { build-depends: tasty-hedgehog             >= 1.2      && < 2.0      }
common tasty-hspec                { build-depends: tasty-hspec                >= 1.1      && < 1.3      }
common tasty-hunit                { build-depends: tasty-hunit                >= 0.10     && < 0.11     }
common tasty-quickcheck           { build-depends: tasty-quickcheck           >= 0.10     && < 0.11     }
common tasty-smallcheck           { build-depends: tasty-smallcheck           >= 0.8      && < 1.0      }
common tasty-expected-failure     { build-depends: tasty-expected-failure     >= 0.12     && < 0.13     }
common process                    { build-depends: process                    >= 1.6      && < 2.0      }
common temporary                  { build-depends: temporary                  >= 1.3      && < 1.4      }

common project-config
  default-extensions:   DeriveGeneric
                        DerivingStrategies
  if (impl(ghc >= 9.2.1))
    default-extensions: OverloadedRecordDot
  ghc-options:          -Wall
                        -Widentities
                        -Wincomplete-uni-patterns
                        -Wmissing-deriving-strategies
                        -Wredundant-constraints
                        -Wunused-packages
  default-language:     Haskell2010
  if (flag(dev))
    ghc-options:        -Werror

common tasty-discover
  build-depends: tasty-discover

library
  import:               base, project-config
                      , ansi-terminal
                      , containers
                      , directory
                      , filepath
                      , Glob
                      , tasty
  exposed-modules:      Test.Tasty.Discover
                        Test.Tasty.Discover.Internal.Config
                        Test.Tasty.Discover.Internal.Driver
                        Test.Tasty.Discover.Internal.Generator
                        Test.Tasty.Discover.Internal.Unsafe
                        Test.Tasty.Discover.TastyInfo
                        Test.Tasty.Discover.Version
  other-modules:        Paths_tasty_discover
  autogen-modules:      Paths_tasty_discover
  hs-source-dirs:       src
  default-language:     Haskell2010

executable tasty-discover
  import:               base, project-config
                      , filepath
  main-is:              app/Main.hs
  autogen-modules:      Paths_tasty_discover
  other-modules:        Paths_tasty_discover
  build-depends:        tasty-discover
  default-language:     Haskell2010

test-suite tasty-discover-test
  import:               base, project-config
                      , ansi-terminal
                      , bytestring
                      , containers
                      , directory
                      , filepath
                      , hedgehog
                      , hspec
                      , hspec-core
                      , process
                      , tasty
                      , tasty-expected-failure
                      , tasty-golden
                      , tasty-hedgehog
                      , tasty-hspec
                      , tasty-hunit
                      , tasty-quickcheck
                      , tasty-smallcheck
                      , temporary
  type:                 exitcode-stdio-1.0
  main-is:              Driver.hs
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
  other-modules:        BackupFiles.ValidTest
                        ConfigTest
                        DiscoverTest
                        ModulesGlob.Sub.OneTest
                        ModulesGlob.TwoTest
                        SubMod.FooBaz
                        SubMod.PropTest
                        SubMod.SubSubMod.PropTest
  other-modules:        Paths_tasty_discover
  autogen-modules:      Paths_tasty_discover
  hs-source-dirs:       test
  build-depends:        tasty-discover
  default-language:     Haskell2010
  build-tool-depends:   tasty-discover:tasty-discover

test-suite no-main-test
  import:               base, project-config
                      , tasty
                      , tasty-hunit
                      , tasty-quickcheck
  type:                 exitcode-stdio-1.0
  main-is:              Main.hs
  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
  other-modules:        Tests
                        Tests.Simple
  other-modules:        Paths_tasty_discover
  autogen-modules:      Paths_tasty_discover
  hs-source-dirs:       test-no-main
  build-depends:        tasty-discover
  default-language:     Haskell2010
  build-tool-depends:   tasty-discover:tasty-discover