-
Notifications
You must be signed in to change notification settings - Fork 12
Open
Labels
Description
When I develop executables as part of a Haskell project, I have to do and repeat some manual tests to ensure that the executable behaviour is correct (e.g. status code, error message, output ...). This is tedious, and I think it could be automated nicely with shelltestrunner.
My proposal would be to support shelltestrunner in Cabal file as a test-suite.
Example of a Cabal test-suite with shelltestrunner support:
test-suite shelltest
hs-source-dirs: test
main-is: shelltest.hs
type: exitcode-stdio-1.0
default-language: Haskell2010
build-depends: base, shelltestrunner
test/shelltest.hs
module Main where
import Test.ShellTest (shelltest)
main :: IO ()
main = shelltest ["test/shelltest/"]
Shelltestrunner test files would be gathered in test/shelltest.
Shelltestrunner configuration could be set directly in shelltest.hs or in an external configuration file.
sjakobi