debian/0000755000000000000000000000000012244672040007167 5ustar debian/rules0000755000000000000000000000104712244671614010257 0ustar #!/usr/bin/make -f include /usr/share/cdbs/1/rules/debhelper.mk include /usr/share/cdbs/1/class/hlibrary.mk build/$(CABAL_PACKAGE) :: build-ghc-stamp install/$(CABAL_PACKAGE) :: build/$(CABAL_PACKAGE) $(DEB_SETUP_BIN_NAME) copy \ --builddir=dist-ghc \ --destdir=debian/$(CABAL_PACKAGE) rm -rf debian/$(CABAL_PACKAGE)/usr/share/doc debian/shelltest.1: debian/shelltest.md pandoc -s -w man $< -o $@ # Note: for now, the built man page is distributed, so that we don't # need to build-depend on pandoc. #clean:: # rm -f debian/shelltest.1 debian/shelltest.md0000644000000000000000000000671312244671614011535 0ustar % SHELLTEST(1) shelltestrunner | version 1.2.1 % Simon Michael % March 18 2012 # NAME shelltestrunner - test command-line programs or arbitrary shell commands # SYNOPSIS shelltest [*options*] {*testfiles*|*testdirs*} # DESCRIPTION shelltestrunner tests command-line programs (or arbitrary shell commands). It reads simple declarative tests specifying a command, some input, and the expected output, and can run them run in parallel, selectively, with a timeout, in color, and/or with differences highlighted. # OPTIONS -a, \--all : Show all failure output, even if large -c, \--color : Show colored output if your terminal supports it -d, \--diff : Show failures in diff format -p, \--precise : Show failure output precisely (good for whitespace) -x *STR*, \--exclude=*STR* : Exclude test files whose path contains *STR* \--execdir : Run tests from within the test file's directory. Test commands normally run within your current directory; `--execdir` makes them run within the directory where they are defined, instead. \--extension=*EXT* : Filename suffix of test files (default: *.test*) -w, \--with=*EXECUTABLE* : Replace the first word of (unindented) test commands. This option replaces the first word of all test commands with something else, which can be useful for testing alternate versions of a program. Commands which have been indented by one or more spaces will not be affected by this option. \--debug : Show debug info, for troubleshooting \--debug-parse : Show test file parsing info and stop \--help-format : Display test format help -?, \--help : Display help message -V, \--version : Print version information \-- *TFOPTIONS* : Set extra test-framework options like `-j`/`--threads`, `-t`/`--select-tests`, `-o`/`--timeout`, `--hide-successes`. Use `-- --help` for a list. Avoid spaces. # DEFINING TESTS Test files, typically named `tests/*.test`, contain one or more tests consisting of: - a one-line command - optional standard input (`<<<`), standard output (`>>>`) and/or standard error output (`>>>2`) specifications - an exit status (`>>>=`) specification **Test format:** # optional comment the command to test <<< zero or more lines of standard input >>> zero or more lines of expected standard output (or /REGEXP/ added to the previous line) >>>2 zero or more lines of expected standard error output (or /REGEXP/ added to the previous line) >>>= EXITCODE (or /REGEXP/) - A `/REGEXP/` pattern may be used instead of explicit data. In this case a match anywhere in the output allows the test to pass. The regular expression syntax is [regex-tdfa](http://hackage.haskell.org/package/regex-tdfa)'s. - `EXITCODE` is a numeric [exit status](http://en.wikipedia.org/wiki/Exit_status), eg `0` for a successful exit. - You can put `!` before a `/REGEXP/` or `EXITCODE` to negate the match. - Comment lines beginning with `#` may be used between tests. # EXAMPLES Here's `example.test`, a file containing two simple tests: # 1. let's test that echo runs. Numbering your tests can be helpful. echo >>>= 0 # 2. and now the cat command. On windows, this one should fail. cat <<< foo >>> foo >>>= 0 Run it with `shelltest`: $ shelltest example.test :t.test:1: [OK] :t.test:2: [OK] Test Cases Total Passed 2 2 Failed 0 0 Total 2 2 debian/control0000644000000000000000000000320212244672027010574 0ustar Source: shelltestrunner Section: haskell Priority: extra Maintainer: Debian Haskell Group Uploaders: Iustin Pop Build-Depends: debhelper (>= 9) , cdbs , haskell-devscripts (>= 0.8.13) , ghc (>= 7.4) , libghc-utf8-string-dev (>= 0.3.5) , libghc-utf8-string-dev (<< 0.4) , libghc-diff-dev (>= 0.2) , libghc-diff-dev (<< 0.4) , libghc-filemanip-dev (>= 0.3) , libghc-filemanip-dev (<< 0.4) , libghc-cmdargs-dev (>= 0.7) , libghc-cmdargs-dev (<< 0.11) , libghc-regex-tdfa-dev (>= 1.1) , libghc-regex-tdfa-dev (<< 1.2) , libghc-test-framework-dev (>= 0.3.2) , libghc-test-framework-dev (<< 0.9) , libghc-test-framework-hunit-dev (>= 0.2) , libghc-test-framework-hunit-dev (<< 0.4) , libghc-parsec3-dev (<< 3.2) Standards-Version: 3.9.5 Homepage: http://hackage.haskell.org/package/shelltestrunner Vcs-Darcs: http://darcs.debian.org/pkg-haskell/shelltestrunner Vcs-Browser: http://darcs.debian.org/cgi-bin/darcsweb.cgi?r=pkg-haskell/shelltestrunner Package: shelltestrunner Architecture: any Depends: ${haskell:Depends} , ${shlibs:Depends} , ${misc:Depends} Recommends: ${haskell:Recommends} Suggests: ${haskell:Suggests} Provides: ${haskell:Provides} Description: test command-line programs or arbitrary shell commands shelltestrunner is a cross-platform tool for testing command-line programs (or arbitrary shell commands). It reads simple declarative tests specifying a command, some input, and the expected output, error output and exit status. Tests can be run selectively, in parallel, with a timeout, in color, and/or with differences highlighted. debian/README.source0000644000000000000000000000073712244671613011362 0ustar Note that the version is embedded in the source file via a local patch, as cabal-th is not (yet?) available on many architectures. As such, when importing new upstream versions, the patch should be refreshed. Also note that the built man page is stored in VCS and distributed, in order to remove the dependency on pandoc. To (re)built it, install pandoc and then run: make -f debian/rules debian/shelltest.1 -- Iustin Pop , Wed, 28 Mar 2012 23:45:47 +0200 debian/shelltestrunner.manpages0000644000000000000000000000002312244671614014146 0ustar debian/shelltest.1 debian/copyright0000644000000000000000000000221112244671613011123 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: shelltestrunner Upstream-Contact: Simon Michael Source: http://hackage.haskell.org/package/shelltestrunner Files: * Copyright: 2009-2011 Simon Michael License: GPL-3.0+ Files: debian/* Copyright: 2012 Iustin Pop License: GPL-3.0+ License: GPL-3.0+ This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. . This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. . You should have received a copy of the GNU General Public License along with this program. If not, see . . On Debian systems, the complete text of the GNU General Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". debian/patches/0000755000000000000000000000000012244671614010624 5ustar debian/patches/series0000644000000000000000000000004112244671614012034 0ustar remove-cabal-th-dependency.patch debian/patches/remove-cabal-th-dependency.patch0000644000000000000000000000341012244671614016725 0ustar Description: Remove cabal-th dependency This is only used to embed the version of the package, but since cabal-th is available just on a few architectures, it makes more sense to hard-code that and thus make shelltestrunner available on more architectures. Author: Iustin Pop Forwarded: no Last-Update: 2012-03-26 Index: shelltestrunner-1.3.1/shelltest.hs =================================================================== --- shelltestrunner-1.3.1.orig/shelltest.hs 2013-02-09 12:59:08.930494458 +0100 +++ shelltestrunner-1.3.1/shelltest.hs 2013-02-09 12:59:49.650492958 +0100 @@ -34,7 +34,6 @@ import qualified System.FilePath.Find as Find (extension) import Control.Applicative ((<$>)) import Data.Algorithm.Diff -import Distribution.PackageDescription.TH (packageVariable, package, pkgVersion) import PlatformString (fromPlatformString, toPlatformString) @@ -43,7 +42,8 @@ progname, version, progversion :: String progname = "shelltest" -version = $(packageVariable (pkgVersion . package)) +-- sync with the cabal file +version = "1.3.1" progversion = progname ++ " " ++ version proghelpsuffix :: [String] proghelpsuffix = [ Index: shelltestrunner-1.3.1/shelltestrunner.cabal =================================================================== --- shelltestrunner-1.3.1.orig/shelltestrunner.cabal 2013-02-09 12:59:08.930494458 +0100 +++ shelltestrunner-1.3.1/shelltestrunner.cabal 2013-02-09 12:59:08.930494458 +0100 @@ -29,7 +29,6 @@ ghc-options: -threaded -W -fwarn-tabs build-depends: base >= 4 && < 5 - ,cabal-file-th ,filemanip >= 0.3 && < 0.4 ,HUnit < 1.3 ,cmdargs >= 0.7 && < 0.11 debian/changelog0000644000000000000000000000332512244671724011054 0ustar shelltestrunner (1.3.2-1) unstable; urgency=low [ Joachim Breitner ] * Adjust watch file to new hackage layout [ Clint Adams ] * New upstream version. -- Clint Adams Mon, 25 Nov 2013 10:59:05 -0500 shelltestrunner (1.3.1-3) unstable; urgency=low * Drop hardcoded architecture restrictions. We have the threaded runtime on all architectures now. -- Colin Watson Mon, 17 Jun 2013 18:11:08 +0100 shelltestrunner (1.3.1-2) unstable; urgency=low * Enable compat level 9 -- Joachim Breitner Fri, 24 May 2013 12:52:48 +0200 shelltestrunner (1.3.1-1) experimental; urgency=low * Depend on haskell-devscripts 0.8.13 to ensure this packages is built against experimental * Bump standards version, no change * New upstream release -- Joachim Breitner Sat, 09 Feb 2013 13:02:19 +0100 shelltestrunner (1.2.1-3) unstable; urgency=low * Remove pandoc as build-dependency (to allow building on more arches) * Bump dependency on test-framework (Closes: #669461) * Manually restrict the package to architectures which have a threaded runtime * Add patch to skip explicit decoding/encoding of FilePath, since ghc 7.4 already does it automatically -- Iustin Pop Sat, 19 May 2012 20:07:41 +0200 shelltestrunner (1.2.1-2) unstable; urgency=low * Remove cabal-th as depedency and hardcode the version; this will make the package available on many more architectures -- Iustin Pop Mon, 26 Mar 2012 18:55:51 +0200 shelltestrunner (1.2.1-1) unstable; urgency=low * Initial release. (Closes: #664466) -- Iustin Pop Mon, 19 Mar 2012 19:44:49 +0100 debian/compat0000644000000000000000000000000212244671613010372 0ustar 9 debian/shelltest.10000644000000000000000000000770312244671614011275 0ustar .TH SHELLTEST 1 "March 18 2012" "shelltestrunner" "version 1.2.1" .SH NAME .PP shelltestrunner - test command-line programs or arbitrary shell commands .SH SYNOPSIS .PP shelltest [\f[I]options\f[]] {\f[I]testfiles\f[]|\f[I]testdirs\f[]} .SH DESCRIPTION .PP shelltestrunner tests command-line programs (or arbitrary shell commands). It reads simple declarative tests specifying a command, some input, and the expected output, and can run them run in parallel, selectively, with a timeout, in color, and/or with differences highlighted. .SH OPTIONS .TP .B -a, --all Show all failure output, even if large .RS .RE .TP .B -c, --color Show colored output if your terminal supports it .RS .RE .TP .B -d, --diff Show failures in diff format .RS .RE .TP .B -p, --precise Show failure output precisely (good for whitespace) .RS .RE .TP .B -x \f[I]STR\f[], --exclude=\f[I]STR\f[] Exclude test files whose path contains \f[I]STR\f[] .RS .RE .TP .B --execdir Run tests from within the test file\[aq]s directory. Test commands normally run within your current directory; \f[C]--execdir\f[] makes them run within the directory where they are defined, instead. .RS .RE .TP .B --extension=\f[I]EXT\f[] Filename suffix of test files (default: \f[I]\&.test\f[]) .RS .RE .TP .B -w, --with=\f[I]EXECUTABLE\f[] Replace the first word of (unindented) test commands. This option replaces the first word of all test commands with something else, which can be useful for testing alternate versions of a program. Commands which have been indented by one or more spaces will not be affected by this option. .RS .RE .TP .B --debug Show debug info, for troubleshooting .RS .RE .TP .B --debug-parse Show test file parsing info and stop .RS .RE .TP .B --help-format Display test format help .RS .RE .TP .B -?, --help Display help message .RS .RE .TP .B -V, --version Print version information .RS .RE .TP .B -- \f[I]TFOPTIONS\f[] Set extra test-framework options like \f[C]-j\f[]/\f[C]--threads\f[], \f[C]-t\f[]/\f[C]--select-tests\f[], \f[C]-o\f[]/\f[C]--timeout\f[], \f[C]--hide-successes\f[]. Use \f[C]--\ --help\f[] for a list. Avoid spaces. .RS .RE .SH DEFINING TESTS .PP Test files, typically named \f[C]tests/*.test\f[], contain one or more tests consisting of: .IP \[bu] 2 a one-line command .IP \[bu] 2 optional standard input (\f[C]<<<\f[]), standard output (\f[C]>>>\f[]) and/or standard error output (\f[C]>>>2\f[]) specifications .IP \[bu] 2 an exit status (\f[C]>>>=\f[]) specification .PP \f[B]Test format:\f[] .IP .nf \f[C] #\ optional\ comment the\ command\ to\ test <<< zero\ or\ more\ lines\ of\ standard\ input >>> zero\ or\ more\ lines\ of\ expected\ standard\ output (or\ /REGEXP/\ added\ to\ the\ previous\ line) >>>2 zero\ or\ more\ lines\ of\ expected\ standard\ error\ output (or\ /REGEXP/\ added\ to\ the\ previous\ line) >>>=\ EXITCODE\ (or\ /REGEXP/) \f[] .fi .IP \[bu] 2 A \f[C]/REGEXP/\f[] pattern may be used instead of explicit data. In this case a match anywhere in the output allows the test to pass. The regular expression syntax is regex-tdfa (http://hackage.haskell.org/package/regex-tdfa)\[aq]s. .IP \[bu] 2 \f[C]EXITCODE\f[] is a numeric exit status (http://en.wikipedia.org/wiki/Exit_status), eg \f[C]0\f[] for a successful exit. .IP \[bu] 2 You can put \f[C]!\f[] before a \f[C]/REGEXP/\f[] or \f[C]EXITCODE\f[] to negate the match. .IP \[bu] 2 Comment lines beginning with \f[C]#\f[] may be used between tests. .SH EXAMPLES .PP Here\[aq]s \f[C]example.test\f[], a file containing two simple tests: .IP .nf \f[C] #\ 1.\ let\[aq]s\ test\ that\ echo\ runs.\ Numbering\ your\ tests\ can\ be\ helpful. echo >>>=\ 0 #\ 2.\ and\ now\ the\ cat\ command.\ On\ windows,\ this\ one\ should\ fail. cat <<< foo >>> foo >>>=\ 0 \f[] .fi .PP Run it with \f[C]shelltest\f[]: .IP .nf \f[C] $\ shelltest\ example.test :t.test:1:\ [OK] :t.test:2:\ [OK] \ \ \ \ \ \ \ \ \ Test\ Cases\ \ Total \ Passed\ \ 2\ \ \ \ \ \ \ \ \ \ \ 2 \ Failed\ \ 0\ \ \ \ \ \ \ \ \ \ \ 0 \ Total\ \ \ 2\ \ \ \ \ \ \ \ \ \ \ 2 \f[] .fi .SH AUTHORS Simon Michael. debian/source/0000755000000000000000000000000012244671614010475 5ustar debian/source/format0000644000000000000000000000001412244671614011703 0ustar 3.0 (quilt) debian/watch0000644000000000000000000000020512244671614010223 0ustar version=3 http://hackage.haskell.org/package/shelltestrunner/distro-monitor .*-([0-9\.]+).(?:zip|tgz|tbz|txz|(?:tar\.(?:gz|bz2|xz)))