shelltestrunner: A handy tool for testing command-line programs.

[ program, testing ] [ Propose Tags ]

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. Output order is currently a bit mixed up. 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: -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 > Lines whose first non-whitespace character is ; are ignored, mostly. The first line is the command line, to be appended to the executable name. All remaining fields are optional; when omitted they are assumed to be "", "", "", and 0 respectively.

Versions 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.2.1, 1.3, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.9
Dependencies base (>=3 && <5), HUnit, parsec, process, test-framework, test-framework-hunit (==0.2.*) [details]
License LicenseRef-GPL
Author Simon Michael <>
Maintainer Simon Michael <>
Category Testing
Home page
Uploaded by SimonMichael at Sat Jul 11 02:00:13 UTC 2009
Distributions Debian:1.3.5, LTSHaskell:1.9, NixOS:1.9, Stackage:1.9, openSUSE:1.9
Executables shelltestrunner
Downloads 10097 total (71 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-12-31 [all 7 reports]
Hackage Matrix CI


Maintainer's Corner

For package maintainers and hackage trustees