1.9.0.1 (2023/8/21) * fix build with base-4.18 shipped with GHC 9.6 (Andreas Abel) 1.9 (2018/1/14) * two new test file formats have been added, allowing input re-use and lighter syntax * new -l/--list flag lists the tests found * new -D/--defmacro option allows text substitution (Taavi Valjaots) * new --xmlout option saves test results as xml (Taavi Valjaots) * tests with Windows line endings now also work on unix (Taavi Valjaots) * shelltestrunner's tests should now pass on Windows (Taavi Valjaots) * flags formerly passed through to test-framework are now built in * >>>= with nothing after it now matches any exit status * failure messages now show the test command (John Chee) * include shelltestrunner's tests in cabal sdist archive (Iustin Pop) * build with latest deps and stackage resolvers * shelltestrunner's code and home page have moved to github 1.3.5 (2015/3/30) * fix Applicative warning with ghc 7.10 * allow utf8-string <1.1 1.3.4 (2014/5/28) * drop cabal-file-th, support GHC 7.8.2 1.3.3 (2014/5/25) * allow process 1.2, regex-tdfa-1.2 * add a hackage-compatible changelog 1.3.2 (2013/11/13) * increase upper bound on Diff package 1.3.1 (2012/12/28) * fix cabal file typo breaking the build 1.3 (2012/12/28) * support latest Diff, cmdargs, test-framework; tested with GHC 7.6.1 (Magnus Therning) * fix unicode handling on GHC >= 7.2 1.2.1 (2012/3/12) * use the more up-to-date filemanip package for easier Debian packaging 1.2 (2012/2/26) * support latest cmdargs, test-framework, and GHC 7.4 * more readable non-quoted failure output by default; for quoted output, use -p/--precise * the --all, --diff and --precise options now interact well 1.1 (2011/8/25) * bump process dependency to allow building with GHC 7.2.1 * new -a/--all flag shows all failure output without truncating 1.0 (2011/7/23) * New home page/docs * The >>>= field is now required; you may need to add it to your existing tests * Input and expected output can now contain lines beginning with # * Multiple tests in a file may now have whitespace between them * The -i/--implicit option has been dropped * New -d/--diff option shows test failures as a unified diff when possible, including line numbers to help locate the problem * New -x/--exclude option skips certain test files (eg platform-specific ones) * Passing arguments through to test-framework is now more robust * Fixed: parsing could fail when input contained left angle brackets * Fixed: some test files generated an extra blank test at the end 0.9 (2010/9/3) * show plain non-ansi output by default, add --color option * better handling of non-ascii test data. We assume that non-ascii file paths, command-line arguments etc. are UTF-8 encoded on unix systems (cf http://www.dwheeler.com/essays/fixing-unix-linux-filenames.html), and that GHC 6.12 or greater is used. Then: - non-ascii test file paths should render correctly, eg in failure messages - non-ascii test commands should run correctly - non-ascii expected output should match correctly - non-ascii regular expressions should match correctly. (Caveat: not thoroughly tested, this may break certain regexps, ) * use regex-tdfa instead of pcre-light for better windows compatibility To avoid a memory leak in current regex-tdfa, only regular expressions up to 300 characters in size are supported. Also, DOTALL is no longer enabled and probably fewer regexp constructs are supported. There are still issues on windows/wine but in theory this will help. * tighten up dependencies 0.8 (2010/4/9) * rename executable to shelltest. The package might also be renamed at some point. * better built-in help * shell tests now include a full command line, making them more readable and self-contained. The --with option can be used to replace the first word with something else, unless the test command line begins with a space. * we also accept directory arguments, searching for test files below them, with two new options: --execdir execute tested command in same directory as test file --extension=EXT file extension of test files (default=.test) 0.7 (2010/3/5) * more robust parsing - --debug-parse parses test files and stops - regexps now support escaped forward slash (\/) - bad regexps now fail at startup - command-line arguments are required in a test, and may be blank - a >>>= is no longer required to separate multiple tests in a file - comments can be appended to delimiter lines - comments can appear at end of file - files need not have a final newline - files containing nothing, all comments, or valid tests are allowed; anything else is rejected - somewhat better errors - allow indented input * support negative (-) and negatively-matched (!) numeric exit codes * let . in regexps match newline * warn but continue when a test file fails to parse * output cleanups, trim large output * more flexible --implicit flag * switch to the more robust and faster pcre-light regexp lib 0.6 (2009/7/15) * allow multiple tests per file, handle bad executable better 0.5 (2009/7/14) * show failure output in proper order 0.4 (2009/7/14) * run commands in a more robust way to avoid hangs This fixes hanging when a command generates large output, and hopefully all other deadlocks. The output is consumed strictly. Thanks to Ganesh Sittampalam for his help with this. * --implicit-tests flag providing implicit tests for omitted fields * --debug flag * regular expression matching * disallow interspersed foreign options which confused parseargs * change comment character to # 0.3 (2009/7/11) * misc. bugfixes/improvements 0.2 (2009/7/10) * bugfix, build with -threaded 0.1 (2009/7/10) * shelltestrunner, a generic shell command stdout/stderr/exit status tester