Como posso configurar um teste simples com Cabal?
Pergunta
Eu tenho um projeto Haskell e descrição do pacote de cabala que me permite construir e instalar meu pacote com
$ cabal configure $ cabal build $ cabal install
Mas que tal cabal test
? A ajuda de Cabal diz para configurar uma suíte de teste com os usuários, mas como posso fazer isso?
Solução
Como Duncan mencionou na resposta de Greg, o Cabal-1.10 tem suporte para suítes de teste pronta para uso.
o manual Parece ter as melhores informações que encontrei sobre como fazer uso disso.
Aqui está um trecho do manual que mostra como usar o exitcode-stdio
Tipo de teste:
foo.cabal
Name: foo
Version: 1.0
License: BSD3
Cabal-Version: >= 1.9.2
Build-Type: Simple
Test-Suite test-foo
type: exitcode-stdio-1.0
main-is: test-foo.hs
build-depends: base
test-foo.hs:
module Main where
import System.Exit (exitFailure)
main = do
putStrLn "This test always fails!"
exitFailure
Outras dicas
Para uma abordagem, veja Configurando um teste simples com cabala.
Esta abordagem tem desvantagens, e há um Bilhete de cabala aberto Isso sugere poder especificar testes mais diretamente, por exemplo,
test
test-is: Test
build-depends: QuickCheck
hs-source-dirs: tests src