tests: use more POSIX shell features our test scripts
authorStefano Lattarini <stefano.lattarini@gmail.com>
Thu, 14 Jun 2012 11:13:58 +0000 (13:13 +0200)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 22 Jun 2012 12:24:38 +0000 (14:24 +0200)
commit6e713425a0dcede167924e7691e95ab5e54e399c
tree4ce8cbe368733dc0049b5b690b13e0e3123d7a3a
parentd0dc448517d3a61ba55e62dd76b9a42b68bef8f8
tests: use more POSIX shell features our test scripts

Since commit 'v1.12-36-g2d68fd9' of 2012-05-07, "configure: search a
sturdy POSIX shell to be used in the testsuite", the shell running
our test script is assured to be a POSIX-conforming shell, so we can
use the more modern and flexible idioms and features that we couldn't
use when we also aimed at compatibility with non-POSIX Bourne shells,
like Solaris /bin/sh.

* t/README: Suggest to use POSIX shell features liberally in test cases,
with possible exception of Makefile recipes and configure shell code.
* Several tests: Adjust to use more POSIX shell features; e.g., $(...)
rather than `...`, $((...)) rather than `expr ...`, "if ! CMD; then ..."
instead of "if CMD; then :; else ...", and so on.
In several places, when using the 'test' built-in, prefer '-eq' over
'=' for numeric comparisons, and prefer "grep -c PATTERN FILE" over
"grep PATTERN FILE | wc -l".
Throw in other low-hanging easy improvements and fixlets while we are
at it.
* t/ax/depcomp.sh, t/ax/tap-summary-aux.sh, t/ax/tap-functions.sh,
defs, defs-static.in: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
326 files changed:
defs
t/README
t/ac-output-old.tap
t/acloca13.sh
t/acloca14.sh
t/acloca15.sh
t/acloca18.sh
t/aclocal-install-absdir.sh
t/aclocal-install-mkdir.sh
t/aclocal-path-install-serial.sh
t/aclocal-path-install.sh
t/aclocal-path-nonexistent.sh
t/aclocal-path.sh
t/aclocal-print-acdir.sh
t/aclocal7.sh
t/aclocal8.sh
t/add-missing.tap
t/amhello-binpkg.sh
t/amhello-cross-compile.sh
t/ar-lib.sh
t/ar-lib5b.sh
t/autodist-no-duplicate.sh
t/autodist-subdir.sh
t/autodist.sh
t/ax/depcomp.sh
t/ax/tap-functions.sh
t/ax/tap-summary-aux.sh
t/c-demo.sh
t/candist.sh
t/ccnoco.sh
t/ccnoco3.sh
t/check12.sh
t/check3.sh
t/check4.sh
t/color.sh
t/color2.sh
t/comment4.sh
t/comment7.sh
t/compile3.sh
t/compile4.sh
t/compile5.sh
t/compile6.sh
t/cond14.sh
t/cond15.sh
t/cond33.sh
t/cond35.sh
t/cond36.sh
t/cond42.sh
t/cond5.sh
t/cond6.sh
t/cond8.sh
t/condhook.sh
t/condhook2.sh
t/condman3.sh
t/copy.sh
t/cscope.tap
t/cygnus-no-installinfo.sh
t/dejagnu-siteexp-useredit.sh
t/dejagnu2.sh
t/dejagnu4.sh
t/depend.sh
t/depend4.sh
t/dirlist-abspath.sh
t/dist-auxdir-many-subdirs.sh
t/dist-auxfile.sh
t/dist-formats.tap
t/dist-included-parent-dir.sh
t/dist-missing-am.sh
t/dist-missing-included-m4.sh
t/dist-missing-m4.sh
t/dist-repeated.sh
t/distcheck-missing-m4.sh
t/distcheck-outdated-m4.sh
t/distcheck-override-infodir.sh
t/distcheck-pr9579.sh
t/distcom4.sh
t/distcom5.sh
t/distdir.sh
t/disthook.sh
t/distlinks.sh
t/distlinksbrk.sh
t/dollar.sh
t/empty.sh
t/exeext.sh
t/exeext3.sh
t/exeext4.sh
t/ext.sh
t/fn99.sh
t/fn99subdir.sh
t/fort4.sh
t/fort5.sh
t/gcj3.sh
t/gcj4.sh
t/gettext-macros.sh
t/gnits2.sh
t/gnits3.sh
t/hdr-vars-defined-once.sh
t/help-silent.sh
t/help4.sh
t/info.sh
t/install-info-dir.sh
t/installdir.sh
t/instdir-cond.sh
t/instdir-cond2.sh
t/instdir-java.sh
t/instdir-lisp.sh
t/instdir-ltlib.sh
t/instdir-no-empty.sh
t/instdir-prog.sh
t/instdir-python.sh
t/instdir-texi.sh
t/instdir.sh
t/instdir2.sh
t/instfail-info.sh
t/instfail-java.sh
t/instfail-libtool.sh
t/instfail.sh
t/insthook.sh
t/instman.sh
t/instmany-mans.sh
t/instmany-python.sh
t/instmany.sh
t/instspc.tap
t/java-check.sh
t/java-compile-install.sh
t/java-compile-run-flat.sh
t/java-compile-run-nested.sh
t/java-no-duplicate.sh
t/java-nobase.sh
t/java-noinst.sh
t/java-uninstall.sh
t/java.sh
t/java3.sh
t/lex-lib-external.sh
t/lex-noyywrap.sh
t/lex-pr204.sh
t/lex3.sh
t/library3.sh
t/libtool-macros.sh
t/libtool6.sh
t/libtool7.sh
t/lisp3.sh
t/lisp4.sh
t/lisp5.sh
t/lisp6.sh
t/lisp7.sh
t/lisp8.sh
t/longlin2.sh
t/longline.sh
t/ltcond.sh
t/ltconv.sh
t/ltinit.sh
t/ltorder.sh
t/maintmode-configure-msg.sh
t/make-dryrun.tap
t/makej2.sh
t/maken.sh
t/man2.sh
t/man4.sh
t/man5.sh
t/mdate5.sh
t/missing5.sh
t/mkinst2.sh
t/mkinst3.sh
t/mmodely.sh
t/multlib.sh
t/nobase-libtool.sh
t/nobase-python.sh
t/nobase.sh
t/nodist2.sh
t/notrans.sh
t/number.sh
t/objc-megademo.sh
t/objext-pr10128.sh
t/obsolete.sh
t/oldvars.sh
t/output8.sh
t/override-conditional-1.sh
t/override-html.sh
t/parallel-am.sh
t/parallel-tests-exit-statuses.sh
t/parallel-tests-interrupt.tap
t/parallel-tests-log-compiler-1.sh
t/parallel-tests-many.sh
t/parallel-tests-trailing-bslash.sh
t/parallel-tests.sh
t/parallel-tests2.sh
t/parallel-tests3.sh
t/phony.sh
t/pluseq5.sh
t/pluseq6.sh
t/pluseq7.sh
t/pluseq9.sh
t/posixsubst-data.sh
t/posixsubst-libraries.sh
t/posixsubst-ltlibraries.sh
t/posixsubst-programs.sh
t/posixsubst-scripts.sh
t/pr287.sh
t/pr300-lib.sh
t/pr300-ltlib.sh
t/pr300-prog.sh
t/pr87.sh
t/primary-prefix-couples-force-valid.sh
t/print-libdir.sh
t/py-compile-basedir.sh
t/py-compile-basic2.sh
t/py-compile-usage.sh
t/python-pr10995.sh
t/python-vars.sh
t/python-virtualenv.sh
t/python.sh
t/python10.sh
t/python12.sh
t/python3.sh
t/python5b.sh
t/python6.sh
t/python7.sh
t/python9.sh
t/remake-subdir-long-time.sh
t/remake11.sh
t/remake6.sh
t/remake9a.sh
t/remake9b.sh
t/remake9c.sh
t/remake9d.sh
t/self-check-cleanup.tap
t/self-check-dir.tap
t/self-check-explicit-skips.sh
t/self-check-me.tap
t/self-check-reexec.tap
t/self-check-sanity.sh
t/self-check-seq.tap
t/silent-many-gcc.sh
t/silent-many-generic.sh
t/specflg6.sh
t/specflg7.sh
t/specflg8.sh
t/spy.sh
t/stdlib.sh
t/strip.sh
t/strip2.sh
t/strip3.sh
t/subobj-clean-lt-pr10697.sh
t/subobj-clean-pr10697.sh
t/subobj11a.sh
t/subobj11b.sh
t/subobj9.sh
t/subobjname.sh
t/subst-no-trailing-empty-line.sh
t/subst3.sh
t/substtarg.sh
t/suffix.sh
t/suffix2.sh
t/symlink.sh
t/tap-bailout-suppress-later-errors.sh
t/tap-basic.sh
t/tap-diagnostic-custom.sh
t/tap-diagnostic.sh
t/tap-fancy.sh
t/tap-fancy2.sh
t/tap-global-log.sh
t/tap-global-result.sh
t/tap-log.sh
t/tap-more.sh
t/tap-no-spurious-numbers.sh
t/tap-no-spurious.sh
t/tap-number-wordboundary.sh
t/tap-out-of-order.sh
t/tap-plan-malformed.sh
t/tap-plan-middle.sh
t/tap-planskip-case-insensitive.sh
t/tap-planskip-late.sh
t/tap-planskip-later-errors.sh
t/tap-planskip.sh
t/tap-realtime.sh
t/tap-signal.tap
t/tap-unplanned.sh
t/tar-override.sh
t/tar3.sh
t/target-cflags.sh
t/test-driver-create-log-dir.sh
t/test-driver-custom-multitest.sh
t/test-driver-custom-xfail-tests.sh
t/test-driver-custom.sh
t/test-driver-is-distributed.sh
t/test-driver-strip-vpath.sh
t/test-extensions-cond.sh
t/test-extensions.sh
t/test-log.sh
t/test-metadata-global-result.sh
t/test-metadata-recheck.sh
t/test-trs-basic.sh
t/testsuite-summary-count.sh
t/transform.sh
t/transform2.sh
t/transform3.sh
t/txinfo19.sh
t/txinfo21.sh
t/txinfo26.sh
t/txinfo27.sh
t/txinfo29.sh
t/txinfo30.sh
t/txinfo32.sh
t/txinfo9.sh
t/uninstall-fail.sh
t/uninstall-pr9578.sh
t/vala-mix.sh
t/vala-vapi.sh
t/vala.sh
t/vala4.sh
t/vala5.sh
t/vartypo2.sh
t/vartypos.sh
t/version6.sh
t/vtexi3.sh
t/vtexi4.sh
t/warnings-win-over-strictness.sh
t/warnopts.sh
t/werror4.sh
t/yacc-basic.sh
t/yacc-cxx.sh
t/yacc-dist-nobuild.sh
t/yacc-pr204.sh
t/yacc8.sh
t/yflags-force-conditional.sh