diff --git a/sop-core/doctest.sh b/sop-core/doctest.sh deleted file mode 100755 index 7e35469..0000000 --- a/sop-core/doctest.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -set -ex - -doctest --preserve-it \ - -XCPP \ - -XScopedTypeVariables \ - -XTypeFamilies \ - -XRankNTypes \ - -XTypeOperators \ - -XGADTs \ - -XConstraintKinds \ - -XMultiParamTypeClasses \ - -XTypeSynonymInstances \ - -XFlexibleInstances \ - -XFlexibleContexts \ - -XDeriveFunctor \ - -XDeriveFoldable \ - -XDeriveTraversable \ - -XDefaultSignatures \ - -XKindSignatures \ - -XDataKinds \ - -XFunctionalDependencies \ - $(find src -name '*.hs') diff --git a/sop-core/doctests/DocTests.hs b/sop-core/doctests/DocTests.hs new file mode 100644 index 0000000..b8a2a87 --- /dev/null +++ b/sop-core/doctests/DocTests.hs @@ -0,0 +1,29 @@ +module Main where + +import Test.DocTest + +main :: IO () +main = + doctest + [ "--preserve-it" + , "-XCPP" + , "-XScopedTypeVariables" + , "-XTypeFamilies" + , "-XRankNTypes" + , "-XTypeOperators" + , "-XGADTs" + , "-XConstraintKinds" + , "-XMultiParamTypeClasses" + , "-XTypeSynonymInstances" + , "-XFlexibleInstances" + , "-XFlexibleContexts" + , "-XDeriveFunctor" + , "-XDeriveFoldable" + , "-XDeriveTraversable" + , "-XDefaultSignatures" + , "-XKindSignatures" + , "-XDataKinds" + , "-XFunctionalDependencies" + , "--verbose" + , "src" + ] diff --git a/sop-core/sop-core.cabal b/sop-core/sop-core.cabal index a9f239d..76b0dc3 100644 --- a/sop-core/sop-core.cabal +++ b/sop-core/sop-core.cabal @@ -24,7 +24,7 @@ maintainer: andres@well-typed.com category: Data build-type: Simple cabal-version: >=1.10 -extra-source-files: CHANGELOG.md doctest.sh +extra-source-files: CHANGELOG.md tested-with: GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5, GHC == 8.8.2, GHC == 8.10.4, GHC == 9.0.1 source-repository head @@ -77,3 +77,11 @@ library EmptyCase UndecidableSuperClasses BangPatterns + +test-suite doctests + type: exitcode-stdio-1.0 + hs-source-dirs: doctests + default-language: Haskell2010 + main-is: DocTests.hs + build-depends: base >= 4.9 && < 4.16, + doctest >= 0.18 && < 0.19