TLDR: 3 шага как запустить доктесты с кабалом.
Setup.hs:
import Distribution.Extra.Doctest ( defaultMainWithDoctests )
main :: IO ()
main = defaultMainWithDoctests "doctests"
cabal:
build-type: Custom
custom-setup
setup-depends:
Cabal
, base
, cabal-doctest >=1.0.2 && <1.1
test-suite doctests
buildable: True
type: exitcode-stdio-1.0
main-is: doctests.hs
hs-source-dirs: test
ghc-options: -Wall
build-depends:
base
, doctest
default-language: Haskell2010
doctest.hs:
module Main where
import Build_doctests (flags, module_sources, pkgs)
import Data.Foldable (traverse_)
import Test.DocTest
main :: IO ()
main = do
traverse_ putStrLn args
doctest args
where args = flags ++ pkgs ++ module_sources