name:                massiv-test
version:             0.1.2
x-revision: 3
synopsis:            Library that contains generators, properties and tests for Massiv Array Library.
description:         This library is designed for users of massiv library that need random generators for writing custom property tests and reusing some of the predefined ones.
homepage:            https://github.com/lehins/massiv
license:             BSD3
license-file:        LICENSE
author:              Alexey Kuleshevich
maintainer:          alexey@kuleshevi.ch
copyright:           2018-2019 Alexey Kuleshevich
category:            Data, Data Structures, Parallelism
build-type:          Simple
extra-source-files:  README.md
                   , CHANGELOG.md
cabal-version:       >=1.10

library
  hs-source-dirs:      src
  exposed-modules:    Test.Massiv.Core
                    , Test.Massiv.Core.Common
                    , Test.Massiv.Core.Index
                    , Test.Massiv.Core.Mutable
                    , Test.Massiv.Array.Delayed
                    , Test.Massiv.Array.Mutable
                    , Test.Massiv.Utils


  build-depends:       base >= 4.9 && < 4.21
                     , bytestring
                     , data-default-class
                     , deepseq
                     , exceptions
                     , QuickCheck < 2.15
                     , hspec
                     , massiv >= 0.4.5 && < 1
                     , scheduler
                     , primitive
                     , unliftio
                     , vector

  default-language:    Haskell2010
  ghc-options:        -Wall
                      -Wincomplete-record-updates
                      -Wincomplete-uni-patterns
                      -Wredundant-constraints
                      -fno-warn-orphans

test-suite tests
  type:               exitcode-stdio-1.0
  hs-source-dirs:     tests
  main-is:            Main.hs
  other-modules:      Spec
                    , Test.Massiv.Core.IndexSpec
                    , Test.Massiv.Core.ListSpec
                    , Test.Massiv.Core.SchedulerSpec
                    , Test.Massiv.Array.Delayed.StreamSpec
                    , Test.Massiv.Array.MutableSpec
                    , Test.Massiv.Array.Ops.TransformSpec
                    , Test.Massiv.Array.Ops.SortSpec
                      -- TODO: Below should be moved to Test.Massiv.Array
                    , Data.Massiv.Array.Delayed.InterleavedSpec
                    , Data.Massiv.Array.Delayed.PushSpec
                    , Data.Massiv.Array.Delayed.WindowedSpec
                    , Data.Massiv.Array.DelayedSpec
                    , Data.Massiv.Array.Manifest.VectorSpec
                    , Data.Massiv.Array.ManifestSpec
                    , Data.Massiv.Array.Numeric.IntegralSpec
                    , Data.Massiv.Array.Ops.ConstructSpec
                    , Data.Massiv.Array.Ops.FoldSpec
                    , Data.Massiv.Array.Ops.MapSpec
                    , Data.Massiv.Array.Ops.SliceSpec
                    , Data.Massiv.Array.StencilSpec
                    , Data.Massiv.ArraySpec
  build-depends:      base
                    , bytestring
                    , containers
                    , data-default
                    , deepseq
                    , genvalidity-hspec
                    , massiv
                    , massiv-test
                    , hspec
                    , scheduler
                    , QuickCheck
                    , vector

  default-language:   Haskell2010
  ghc-options:       -Wall
                     -Wincomplete-record-updates
                     -Wincomplete-uni-patterns
                     -Wredundant-constraints
                     -fno-warn-orphans
                     -threaded
                     -with-rtsopts=-N2

source-repository head
  type:     git
  location: https://github.com/lehins/massiv