diff options
author | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 13:12:25 +0200 |
---|---|---|
committer | Stefano Lattarini <stefano.lattarini@gmail.com> | 2012-04-06 21:29:30 +0200 |
commit | 8a5096d150cf9803b8963768b7366cd68edcce03 (patch) | |
tree | a49c0e54876b8b9877d7ca2df386377e7b6037d1 /t/tap-whitespace-normalization.sh | |
parent | f8e822bbc197f01fc722aa6def7cddb4182e3c66 (diff) | |
download | automake-8a5096d150cf9803b8963768b7366cd68edcce03.tar.gz |
tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS). See automake bug#7868 for more information.
Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.
* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.
Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
Diffstat (limited to 't/tap-whitespace-normalization.sh')
-rwxr-xr-x | t/tap-whitespace-normalization.sh | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/t/tap-whitespace-normalization.sh b/t/tap-whitespace-normalization.sh new file mode 100755 index 000000000..227467441 --- /dev/null +++ b/t/tap-whitespace-normalization.sh @@ -0,0 +1,165 @@ +#! /bin/sh +# Copyright (C) 2011-2012 Free Software Foundation, Inc. +# +# 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 2, or (at your option) +# any later version. +# +# This program 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 <http://www.gnu.org/licenses/>. + +# TAP support: whitespace normalization (or lack thereof) in the testsuite +# progress output on console. We keep all these checks here in a single +# script so that a potential cosmetic change in the output format won't +# force us to tweak dozens of other tests (hopefully). +# See also related test 'tap-todo-skip-whitespace.test'. + +am_parallel_tests=yes +. ./defs || Exit 1 + +cat > Makefile.am << 'END' +TEST_LOG_COMPILER = cat +TESTS = +END + +: > exp + +spaces_a=${sp}${tab}${tab}${sp}${sp}${tab} +spaces_b=${tab}${tab}${sp}${tab}${sp}${sp}${sp} + +#----------------------------------------------------------------------- + +echo TESTS += numbers.test >> Makefile.am + +cat > numbers.test <<END +1..6 +ok${spaces_a}1 +ok 2${spaces_b} +ok${spaces_a}3${spaces_b} +not ok${spaces_b}4 +not ok 5${spaces_a} +not ok${spaces_b}6${spaces_a} +END + +cat >> exp <<END +PASS: numbers.test 1 +PASS: numbers.test 2 +PASS: numbers.test 3 +FAIL: numbers.test 4 +FAIL: numbers.test 5 +FAIL: numbers.test 6 +END + +#----------------------------------------------------------------------- + +echo TESTS += description.test >> Makefile.am + +cat > description.test <<END +1..8 +ok${spaces_a}+foo +ok +bar${spaces_b} +ok${spaces_a}+baz${spaces_b} +not ok${spaces_b}-foo +not ok -bar${spaces_a} +not ok${spaces_b}-baz${spaces_a} +ok u${spaces_b}v${spaces_a}w${sp} +not ok${spaces_a}x${spaces_a}y${tab}z${tab} +END + +cat >> exp <<END +PASS: description.test 1 +foo +PASS: description.test 2 +bar +PASS: description.test 3 +baz +FAIL: description.test 4 -foo +FAIL: description.test 5 -bar +FAIL: description.test 6 -baz +PASS: description.test 7 u${spaces_b}v${spaces_a}w +FAIL: description.test 8 x${spaces_a}y${tab}z +END + +#----------------------------------------------------------------------- + +# "Bail out!" magic. + +echo TESTS += bailout.test >> Makefile.am + +cat > bailout.test <<END +1..1 +Bail out!${tab}${sp}${sp}${tab}We're out of disk space. +ok 1 +END + +cat >> exp <<END +ERROR: bailout.test - Bail out! We're out of disk space. +END + +echo TESTS += bailout2.test >> Makefile.am + +cat > bailout2.test <<END +1..1 +Bail out!foo${tab}${sp} +ok 1 +END + +cat >> exp <<END +ERROR: bailout2.test - Bail out! foo +END + +#----------------------------------------------------------------------- + +# Diagnostic lines. + +echo AM_TEST_LOG_DRIVER_FLAGS = --comments >> Makefile.am +echo TESTS += cmnt.test >> Makefile.am + +cat > cmnt.test <<END +1..1 +ok 1 +#Leading whitespace gets added +# ${tab}${tab} ${tab}Extra leading whitespace is stripped +# Trailing whitespace is stripped ${tab} ${tab}${tab} +# Middle${tab}whitespace is${tab} ${tab}${tab} kept +# ${tab} And only${tab}middle ${tab}whitespace ${tab}${tab} ${tab} +END + +cat >> exp <<END +PASS: cmnt.test 1 +# cmnt.test: Leading whitespace gets added +# cmnt.test: Extra leading whitespace is stripped +# cmnt.test: Trailing whitespace is stripped +# cmnt.test: Middle${tab}whitespace is${tab} ${tab}${tab} kept +# cmnt.test: And only${tab}middle ${tab}whitespace +END + +#----------------------------------------------------------------------- + +# TODO: we should have more checks here ... (but let's not over-do FTM). + +#----------------------------------------------------------------------- + +chmod a+x *.test + +. "$am_testauxdir"/tap-setup.sh || fatal_ "sourcing tap-setup.sh" + +# Don't care about exit status or number of test results, they should be +# checked for in many other tests. +$MAKE check >stdout || : +cat stdout + +LC_ALL=C sort exp > t +mv -f t exp + +# We need the sort below to account for parallel make usage. +LC_ALL=C grep '[a-z0-9][a-z0-9]*\.test' stdout | LC_ALL=C sort > got + +cat exp +cat got +diff exp got + +: |