packages feed

shelltestrunner-0.3: shelltestrunner.cabal

name:           shelltestrunner
version:        0.3
category:       Testing
synopsis:       A tool for testing command-line programs.
description:
                Run a given program through "shell" tests specifed by
                one or more test files, each of which specifies:
                command-line arguments, input, expected output,
                expected stderr output, and expected exit code.  This
                was extracted from the hledger project, and inspired
                by the tests in John Wiegley's ledger project.

                This uses test-framework's test runner. Any command-line
                options are passed through to the test-framework runner,
                but they must not contain spaces, so use eg -tpattern not
                -t pattern. You may be able to get a big speedup by
                running tests in parallel: try -j8.

                Usage: 

                $ shelltestrunner [testrunneropts] executable testfile1 [testfile2 ...]

                Test file format:

                ; 0 or more comment lines beginning with ;
                -opt1 -opt2 arg1 arg2
                <<<
                0 or more lines of input
                >>>
                0 or more lines of expected output
                >>>2
                0 or more lines of expected error output
                >>>=
                expected numeric exit code

                Initial lines beginning with ; are ignored.  The next line
                is the command-line arguments which will be appended to
                the executable name.  All remaining fields are optional;
                when omitted they are assumed to be "", "", "", and 0
                respectively.

                Issues:
                
                - on mac, will hang if executable does not read stdin
                - output order is mixed up
                - can't test input/ouput which does not end with newline

license:        GPL
license-file:   LICENSE
author:         Simon Michael <simon@joyful.com>
maintainer:     Simon Michael <simon@joyful.com>
homepage:       http://joyful.com/darcsweb/darcsweb.cgi?r=shelltestrunner
-- bug-reports:    
stability:      experimental
tested-with:    GHC==6.10
cabal-version:  >= 1.2
build-type:     Simple

extra-tmp-files:
extra-source-files:

executable shelltestrunner
  main-is:        shelltestrunner.hs
  ghc-options:    -Wall -threaded
  build-depends:
                 base >= 3 && < 5
                ,parsec
                ,process
                ,HUnit
                ,test-framework
                ,test-framework-hunit >= 0.2 && < 0.3
                ,parseargs >= 0.1 && < 0.2