on master help sign in
Allow QuickCheck version to be >= 2.13
4223969adithyaov
streamly.cabal+14−12
@@ -330,7 +330,7 @@ common prelude-test-options
330 build-depends:
330 build-depends:
331 streamly
331 streamly
332 , base >= 4.9 && < 5
332 , base >= 4.9 && < 5
333− , QuickCheck >= 2.14 && < 2.15
333+ , QuickCheck >= 2.13 && < 2.15
334 , hspec >= 2.0 && < 3
334 , hspec >= 2.0 && < 3
335 , exceptions >= 0.8 && < 0.11
335 , exceptions >= 0.8 && < 0.11
336 default-language: Haskell2010
336 default-language: Haskell2010
@@ -555,7 +555,7 @@ test-suite internal-prelude-test
555 build-depends:
555 build-depends:
556 streamly
556 streamly
557 , base >= 4.9 && < 5
557 , base >= 4.9 && < 5
558− , QuickCheck >= 2.14 && < 2.15
558+ , QuickCheck >= 2.13 && < 2.15
559 , hspec >= 2.0 && < 3
559 , hspec >= 2.0 && < 3
560 default-language: Haskell2010
560 default-language: Haskell2010
561
561
@@ -683,7 +683,7 @@ test-suite array-test
683 build-depends:
683 build-depends:
684 streamly
684 streamly
685 , base >= 4.9 && < 5
685 , base >= 4.9 && < 5
686− , QuickCheck >= 2.14 && < 2.15
686+ , QuickCheck >= 2.13 && < 2.15
687 , hspec >= 2.0 && < 3
687 , hspec >= 2.0 && < 3
688 default-language: Haskell2010
688 default-language: Haskell2010
689
689
@@ -697,7 +697,7 @@ test-suite internal-data-fold-test
697 streamly
697 streamly
698 , base >= 4.9 && < 5
698 , base >= 4.9 && < 5
699 , hspec >= 2.0 && < 3
699 , hspec >= 2.0 && < 3
700− , QuickCheck >= 2.14 && < 2.15
700+ , QuickCheck >= 2.13 && < 2.15
701 default-language: Haskell2010
701 default-language: Haskell2010
702
702
703test-suite Data.Unfold
703test-suite Data.Unfold
@@ -710,7 +710,7 @@ test-suite Data.Unfold
710 streamly
710 streamly
711 , base >= 4.8 && < 5
711 , base >= 4.8 && < 5
712 , hspec >= 2.0 && < 3
712 , hspec >= 2.0 && < 3
713− , QuickCheck >= 2.10 && < 2.15
713+ , QuickCheck >= 2.13 && < 2.15
714 , transformers >= 0.4 && < 0.6
714 , transformers >= 0.4 && < 0.6
715 default-language: Haskell2010
715 default-language: Haskell2010
716
716
@@ -725,8 +725,9 @@ test-suite internal-data-parser-test
725 streamly
725 streamly
726 , base >= 4.9 && < 5
726 , base >= 4.9 && < 5
727 , hspec >= 2.0 && < 3
727 , hspec >= 2.0 && < 3
728− , QuickCheck >= 2.14 && < 2.15
728+ , QuickCheck >= 2.13 && < 2.15
729 , transformers >= 0.4 && < 0.6
729 , transformers >= 0.4 && < 0.6
730+ , random >= 1.0.0 && < 2
730 default-language: Haskell2010
731 default-language: Haskell2010
731
732
732test-suite internal-data-parser-parserd-test
733test-suite internal-data-parser-parserd-test
@@ -739,8 +740,9 @@ test-suite internal-data-parser-parserd-test
739 streamly
740 streamly
740 , base >= 4.9 && < 5
741 , base >= 4.9 && < 5
741 , hspec >= 2.0 && < 3
742 , hspec >= 2.0 && < 3
742− , QuickCheck >= 2.14 && < 2.15
743+ , QuickCheck >= 2.13 && < 2.15
743 , transformers >= 0.4 && < 0.6
744 , transformers >= 0.4 && < 0.6
745+ , random >= 1.0.0 && < 2
744 default-language: Haskell2010
746 default-language: Haskell2010
745
747
746test-suite data-array-test
748test-suite data-array-test
@@ -752,7 +754,7 @@ test-suite data-array-test
752 build-depends:
754 build-depends:
753 streamly
755 streamly
754 , base >= 4.9 && < 5
756 , base >= 4.9 && < 5
755− , QuickCheck >= 2.14 && < 2.15
757+ , QuickCheck >= 2.13 && < 2.15
756 , hspec >= 2.0 && < 3
758 , hspec >= 2.0 && < 3
757 default-language: Haskell2010
759 default-language: Haskell2010
758
760
@@ -766,7 +768,7 @@ test-suite smallarray-test
766 build-depends:
768 build-depends:
767 streamly
769 streamly
768 , base >= 4.9 && < 5
770 , base >= 4.9 && < 5
769− , QuickCheck >= 2.14 && < 2.15
771+ , QuickCheck >= 2.13 && < 2.15
770 , hspec >= 2.0 && < 3
772 , hspec >= 2.0 && < 3
771 default-language: Haskell2010
773 default-language: Haskell2010
772
774
@@ -780,7 +782,7 @@ test-suite primarray-test
780 build-depends:
782 build-depends:
781 streamly
783 streamly
782 , base >= 4.9 && < 5
784 , base >= 4.9 && < 5
783− , QuickCheck >= 2.14 && < 2.15
785+ , QuickCheck >= 2.13 && < 2.15
784 , hspec >= 2.0 && < 3
786 , hspec >= 2.0 && < 3
785 default-language: Haskell2010
787 default-language: Haskell2010
786
788
@@ -794,7 +796,7 @@ test-suite prim-pinned-array-test
794 build-depends:
796 build-depends:
795 streamly
797 streamly
796 , base >= 4.9 && < 5
798 , base >= 4.9 && < 5
797− , QuickCheck >= 2.14 && < 2.15
799+ , QuickCheck >= 2.13 && < 2.15
798 , hspec >= 2.0 && < 3
800 , hspec >= 2.0 && < 3
799 default-language: Haskell2010
801 default-language: Haskell2010
800
802
@@ -807,7 +809,7 @@ test-suite string-test
807 build-depends:
809 build-depends:
808 streamly
810 streamly
809 , base >= 4.9 && < 5
811 , base >= 4.9 && < 5
810− , QuickCheck >= 2.14 && < 2.15
812+ , QuickCheck >= 2.13 && < 2.15
811 , hspec >= 2.0 && < 3
813 , hspec >= 2.0 && < 3
812 default-language: Haskell2010
814 default-language: Haskell2010
813
815
test/Streamly/Test/Internal/Data/Parser.hs+17−1
@@ -9,7 +9,7 @@ import Test.Hspec (Spec, hspec, describe)
9import Test.Hspec.QuickCheck
9import Test.Hspec.QuickCheck
10import Test.QuickCheck
10import Test.QuickCheck
11 (arbitrary, forAll, choose, elements, Property, property, listOf,
11 (arbitrary, forAll, choose, elements, Property, property, listOf,
12− vectorOf, counterexample, Gen, chooseAny)
12+ vectorOf, counterexample, Gen)
13import Test.QuickCheck.Monadic (monadicIO, PropertyM, assert, monitor, run)
13import Test.QuickCheck.Monadic (monadicIO, PropertyM, assert, monitor, run)
14
14
15import Prelude hiding (sequence)
15import Prelude hiding (sequence)
@@ -21,6 +21,22 @@ import qualified Streamly.Internal.Data.Array.Storable.Foreign as A
21import qualified Test.Hspec as H
21import qualified Test.Hspec as H
22import qualified Prelude
22import qualified Prelude
23
23
24+#if MIN_VERSION_QuickCheck(2,14,0)
25+
26+import Test.QuickCheck (chooseAny)
27+
28+#else
29+
30+import System.Random (Random(random))
31+import Test.QuickCheck.Gen (Gen(MkGen))
32+
33+-- | Generates a random element over the natural range of `a`.
34+chooseAny :: Random a => Gen a
35+chooseAny = MkGen (\r _ -> let (x,_) = random r in x)
36+
37+#endif
38+
39+
24maxTestCount :: Int
40maxTestCount :: Int
25maxTestCount = 100
41maxTestCount = 100
26
42
test/Streamly/Test/Internal/Data/Parser/ParserD.hs+16−1
@@ -8,7 +8,7 @@ import Data.Word (Word8, Word32, Word64)
8import Test.Hspec (Spec, hspec, describe)
8import Test.Hspec (Spec, hspec, describe)
9import Test.Hspec.QuickCheck
9import Test.Hspec.QuickCheck
10import Test.QuickCheck
10import Test.QuickCheck
11− (arbitrary, forAll, choose, chooseAny, elements, Property,
11+ (arbitrary, forAll, choose, elements, Property,
12 property, listOf, vectorOf, counterexample, (.&&.), Gen)
12 property, listOf, vectorOf, counterexample, (.&&.), Gen)
13import Test.QuickCheck.Monadic
13import Test.QuickCheck.Monadic
14 (monadicIO, PropertyM, assert, monitor, run)
14 (monadicIO, PropertyM, assert, monitor, run)
@@ -22,6 +22,21 @@ import qualified Test.Hspec as H
22
22
23import Prelude hiding (sequence)
23import Prelude hiding (sequence)
24
24
25+#if MIN_VERSION_QuickCheck(2,14,0)
26+
27+import Test.QuickCheck (chooseAny)
28+
29+#else
30+
31+import System.Random (Random(random))
32+import Test.QuickCheck.Gen (Gen(MkGen))
33+
34+-- | Generates a random element over the natural range of `a`.
35+chooseAny :: Random a => Gen a
36+chooseAny = MkGen (\r _ -> let (x,_) = random r in x)
37+
38+#endif
39+
25maxTestCount :: Int
40maxTestCount :: Int
26maxTestCount = 100
41maxTestCount = 100
27
42