automake-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] {maint} tests: prefer "test ! -e FILE" to check that a file does


From: Stefano Lattarini
Subject: [PATCH] {maint} tests: prefer "test ! -e FILE" to check that a file doesn't exist
Date: Fri, 29 Jun 2012 00:49:34 +0200

Once, for the sake of (at least) Solaris 10 /bin/sh, we had to use
"test ! -f FILE" or "test ! -r FILE" or "test ! -d FILE" instead,
because the that shell's 'test' built-in didn't grok the '-e' option.

Note however that we still can't use "test ! -e" in the Makefile recipes
used in the test cases; that is because those recipes are run with the
shell detected by 'configure', and Autoconf-generated configure scripts
do no guarantee to find or provide a POSIX-compatible shell.

* Several tests: Adjust.
* t/yacc-clean-cxx: Adjust, and remove a couple of useless commands.
* t/parallel-tests-dry-run-2.sh: Adjust, and add invocation to
"make -n" forgotten in previous versions of the test.
* t/txinfo26.sh: Adjust, and don't bother to skip the test when it's
run in a directory whose absolute path contain whitespace: that setup
is not supported anyway.
* t/maken3.sh: Adjust, and fix a typo that could cause a minor false
negative.
* t/test-trs-recover2.sh: Prefer using 'skip_' with a suitable error
message over a bare 'exit 77'.

Signed-off-by: Stefano Lattarini <address@hidden>
---

 I will push this tomorrow morning.

 t/acloca10.sh                                 |   12 +++---
 t/acloca18.sh                                 |    2 +-
 t/aclocal-install-fail.sh                     |    6 +--
 t/aclocal-install-mkdir.sh                    |   12 +++---
 t/aclocal-no-install-no-mkdir.sh              |    3 +-
 t/aclocal-path-install.sh                     |    2 +-
 t/alpha.sh                                    |    2 +-
 t/autodist-subdir.sh                          |    2 +-
 t/autodist.sh                                 |    2 +-
 t/autohdrdry.sh                               |    2 +-
 t/ax/test-init.sh                             |    4 +-
 t/backcompat5.sh                              |    6 +--
 t/backcompat6.sh                              |    2 +-
 t/c-demo.sh                                   |    6 +--
 t/check12.sh                                  |   16 ++++----
 t/check3.sh                                   |    4 +-
 t/clean2.sh                                   |    8 ++--
 t/colon6.sh                                   |    4 +-
 t/compile.sh                                  |    6 +--
 t/cond33.sh                                   |   10 ++---
 t/cond40.sh                                   |   12 +++---
 t/condhook.sh                                 |    2 +-
 t/conflnk3.sh                                 |    6 +--
 t/cscope.tap                                  |    8 ++--
 t/cxx-demo.sh                                 |    2 +-
 t/cxx-lt-demo.sh                              |    2 +-
 t/cygnus-check-without-all.sh                 |    2 +-
 t/cygnus-no-installinfo.sh                    |    6 +--
 t/dejagnu-siteexp-extend.sh                   |    4 +-
 t/distcom-subdir.sh                           |    2 +-
 t/disthook.sh                                 |    6 +--
 t/distlinksbrk.sh                             |   10 ++---
 t/fort4.sh                                    |   12 +++---
 t/fort5.sh                                    |    6 +--
 t/help3.sh                                    |    8 ++--
 t/install-info-dir.sh                         |   12 +++---
 t/instdir-cond.sh                             |    4 +-
 t/instdir-cond2.sh                            |    2 +-
 t/instdir-java.sh                             |    6 +--
 t/instdir-lisp.sh                             |    6 +--
 t/instdir-ltlib.sh                            |    6 +--
 t/instdir-no-empty.sh                         |    4 +-
 t/instdir-prog.sh                             |    6 +--
 t/instdir-python.sh                           |    6 +--
 t/instdir-texi.sh                             |    9 +++--
 t/instdir.sh                                  |    6 +--
 t/instdir2.sh                                 |    6 +--
 t/java-extra.sh                               |    6 +--
 t/java-mix.sh                                 |    8 ++--
 t/java-uninstall.sh                           |   10 ++---
 t/java3.sh                                    |    2 +-
 t/lex-clean-cxx.sh                            |   16 ++++----
 t/lex-clean.sh                                |   10 ++---
 t/lex3.sh                                     |    2 +-
 t/libtoo10.sh                                 |   10 +++--
 t/license.sh                                  |    2 +-
 t/lisp6.sh                                    |   30 +++++++-------
 t/lisp7.sh                                    |    6 +--
 t/lispdry.sh                                  |    8 ++--
 t/ltcond.sh                                   |   20 +++++-----
 t/ltconv.sh                                   |   12 +++---
 t/maintclean-vpath.sh                         |   22 +++++------
 t/maintclean.sh                               |   22 +++++------
 t/maken3.sh                                   |    6 +--
 t/man2.sh                                     |   12 +++---
 t/man5.sh                                     |   18 ++++-----
 t/man7.sh                                     |    8 ++--
 t/missing-auxfile-stops-makefiles-creation.sh |   12 +++---
 t/missing5.sh                                 |    4 +-
 t/mkinst2.sh                                  |    4 +-
 t/nobase-nodist.sh                            |   20 +++++-----
 t/output13.sh                                 |    6 +--
 t/override-conditional-1.sh                   |    2 +-
 t/parallel-tests-driver-install.sh            |    8 ++--
 t/parallel-tests-dry-run-2.sh                 |   15 +++----
 t/parallel-tests-exeext.sh                    |    4 +-
 t/parallel-tests-extra-programs.sh            |    4 +-
 t/parallel-tests-fork-bomb.sh                 |    2 +-
 t/parallel-tests-log-override-1.sh            |    6 +--
 t/parallel-tests-log-override-2.sh            |    8 ++--
 t/parallel-tests-recheck-depends-on-all.sh    |    2 +-
 t/parallel-tests.sh                           |   10 ++---
 t/parallel-tests2.sh                          |   30 +++++++-------
 t/parallel-tests8.sh                          |    2 +-
 t/parallel-tests9.sh                          |    6 +--
 t/pr300-ltlib.sh                              |    2 +-
 t/pr401.sh                                    |    6 +--
 t/pr401b.sh                                   |    6 +--
 t/pr401c.sh                                   |    6 +--
 t/python-dist.sh                              |    2 +-
 t/python-pr10995.sh                           |    4 +-
 t/python-virtualenv.sh                        |    2 +-
 t/python10.sh                                 |   24 ++++++------
 t/remake-gnulib-add-header.sh                 |    2 +-
 t/remake-gnulib-remove-header.sh              |    2 +-
 t/remake-moved-m4-file.sh                     |   12 +++---
 t/remake-renamed-am.sh                        |    2 +-
 t/remake-renamed-m4-file.sh                   |   12 +++---
 t/remake-renamed-m4-macro-and-file.sh         |    6 +--
 t/remake1a.sh                                 |    2 +-
 t/remake8a.sh                                 |    4 +-
 t/remake8b.sh                                 |    4 +-
 t/repeated-options.sh                         |    2 +-
 t/self-check-cleanup.tap                      |    8 +---
 t/self-check-dir.tap                          |    7 +---
 t/serial-tests.sh                             |    4 +-
 t/stamph2.sh                                  |    8 ++--
 t/subdir-distclean.sh                         |   24 ++++++------
 t/subdir-with-slash.sh                        |    2 +-
 t/subobj-clean-lt-pr10697.sh                  |   14 +++----
 t/subobj-clean-pr10697.sh                     |   12 +++---
 t/subpkg-yacc.sh                              |    2 +-
 t/subpkg.sh                                   |    2 +-
 t/suffix3.tap                                 |    2 +-
 t/symlink2.sh                                 |    2 +-
 t/tagsub.sh                                   |    6 ++-
 t/tap-basic.sh                                |    6 +--
 t/tap-log.sh                                  |   36 ++++++++---------
 t/tap-recheck.sh                              |   52 ++++++++++++-------------
 t/test-driver-custom-multitest-recheck.sh     |   52 ++++++++++++-------------
 t/test-driver-custom-multitest-recheck2.sh    |   42 ++++++++++----------
 t/test-driver-custom.sh                       |    4 +-
 t/test-driver-fail.sh                         |    4 +-
 t/test-log.sh                                 |   36 ++++++++---------
 t/test-missing.sh                             |    8 ++--
 t/test-missing2.sh                            |   10 ++---
 t/test-trs-basic.sh                           |   34 ++++++++--------
 t/test-trs-recover.sh                         |   20 +++++-----
 t/test-trs-recover2.sh                        |    3 +-
 t/txinfo13.sh                                 |    4 +-
 t/txinfo16.sh                                 |    8 ++--
 t/txinfo19.sh                                 |   12 +++---
 t/txinfo20.sh                                 |    4 +-
 t/txinfo21.sh                                 |   44 ++++++++++-----------
 t/txinfo22.sh                                 |    4 +-
 t/txinfo23.sh                                 |    2 +-
 t/txinfo24.sh                                 |    4 +-
 t/txinfo25.sh                                 |    6 +--
 t/txinfo26.sh                                 |   11 ++----
 t/txinfo28.sh                                 |    2 +-
 t/txinfo30.sh                                 |    2 +-
 t/txinfo33.sh                                 |   28 ++++++-------
 t/txinfo5b.sh                                 |    2 +-
 t/uninstall-pr9578.sh                         |    8 ++--
 t/vala-headers.sh                             |    2 +-
 t/vala-parallel.sh                            |    8 ++--
 t/vala-vpath.sh                               |    8 ++--
 t/vala3.sh                                    |    4 +-
 t/vala5.sh                                    |    4 +-
 t/yacc-auxdir.sh                              |    4 +-
 t/yacc-basic.sh                               |    4 +-
 t/yacc-clean-cxx.sh                           |   35 ++++++++---------
 t/yacc-clean.sh                               |   28 ++++++-------
 t/yacc-cxx.sh                                 |    8 ++--
 t/yacc-d-basic.sh                             |   12 +++---
 t/yacc-d-cxx.sh                               |   16 ++++----
 t/yacc-deleted-headers.sh                     |   28 ++++++-------
 t/yacc-dist-nobuild-subdir.sh                 |    4 +-
 t/yacc-mix-c-cxx.sh                           |    8 ++--
 t/yacc4.sh                                    |    4 +-
 t/yacc7.sh                                    |    4 +-
 t/yaccdry.sh                                  |    2 +-
 t/yflags-cmdline-override.sh                  |    4 +-
 163 files changed, 734 insertions(+), 741 deletions(-)

diff --git a/t/acloca10.sh b/t/acloca10.sh
index 291c80c..ec9a506 100755
--- a/t/acloca10.sh
+++ b/t/acloca10.sh
@@ -57,8 +57,8 @@ $FGREP ':macro11:' configure
 $FGREP ':macro21:' configure
 $FGREP ':macro33:' configure
 grep MACRO3 aclocal.m4
-test ! -f m4_1/macro.m4
-test ! -f m4_2/macro.m4
+test ! -e m4_1/macro.m4
+test ! -e m4_2/macro.m4
 
 $sleep
 
@@ -68,8 +68,8 @@ $FGREP ':macro12:' configure
 $FGREP ':macro21:' configure
 $FGREP ':macro33:' configure
 grep MACRO3 aclocal.m4
-test ! -f m4_1/macro.m4
-test ! -f m4_2/macro.m4
+test ! -e m4_1/macro.m4
+test ! -e m4_2/macro.m4
 
 $sleep
 
@@ -80,7 +80,7 @@ $FGREP ':macro21:' configure
 $FGREP ':macro33:' configure
 grep MACRO3 aclocal.m4 && exit 1
 test -f m4_1/macro.m4
-test ! -f m4_2/macro.m4
+test ! -e m4_2/macro.m4
 cp aclocal.m4 copy.m4
 
 $sleep
@@ -94,7 +94,7 @@ $FGREP ':macro33:' configure
 grep MACRO3 aclocal.m4 && exit 1
 grep GREPME m4_1/macro.m4 && exit 1
 test -f m4_1/macro.m4
-test ! -f m4_2/macro.m4
+test ! -e m4_2/macro.m4
 diff aclocal.m4 copy.m4
 
 :
diff --git a/t/acloca18.sh b/t/acloca18.sh
index ec430df..8bdbd56 100755
--- a/t/acloca18.sh
+++ b/t/acloca18.sh
@@ -123,7 +123,7 @@ $ACLOCAL -I 4 -I 1 --diff=diff >stdout 2>stderr || {
 cat stderr >&2
 cat stdout
 grep '#serial 456' stdout
-test ! -f 4/m1.m4
+test ! -e 4/m1.m4
 grep 'installing.*4/m1\.m4' stderr
 
 $ACLOCAL -I 5 2>stderr && { cat stderr >&2; exit 1; }
diff --git a/t/aclocal-install-fail.sh b/t/aclocal-install-fail.sh
index d459a55..99fa77a 100755
--- a/t/aclocal-install-fail.sh
+++ b/t/aclocal-install-fail.sh
@@ -41,19 +41,19 @@ $ACLOCAL -I a-regular-file --install 2>stderr \
   && { cat stderr >&2; exit 1; }
 cat stderr >&2
 $EGREP '(mkdir:|directory ).*a-regular-file' stderr
-test ! -f aclocal.m4
+test ! -e aclocal.m4
 
 $ACLOCAL --install -I unwritable-dir/sub 2>stderr \
   && { cat stderr >&2; exit 1; }
 cat stderr >&2
 $EGREP '(mkdir:|directory ).*unwritable-dir/sub' stderr
-test ! -f aclocal.m4
+test ! -e aclocal.m4
 
 $ACLOCAL -I unwritable-dir --install 2>stderr \
   && { cat stderr >&2; exit 1; }
 cat stderr >&2
 $EGREP '(cp:|copy ).*unwritable-dir' stderr
-test ! -f aclocal.m4
+test ! -e aclocal.m4
 
 # Sanity check.
 mkdir m4
diff --git a/t/aclocal-install-mkdir.sh b/t/aclocal-install-mkdir.sh
index 483b950..43eec37 100755
--- a/t/aclocal-install-mkdir.sh
+++ b/t/aclocal-install-mkdir.sh
@@ -55,16 +55,16 @@ ls zardoz2 | grep . && exit 1
 # Directories in ACLOCAL_PATH should never be created if they don't
 # exist.
 ACLOCAL_PATH="$(pwd)/none:$(pwd)/none2" $ACLOCAL --install && exit 1
-test ! -d none
-test ! -d none2
+test ! -e none
+test ! -e none2
 ACLOCAL_PATH="$(pwd)/none:$(pwd)/none2" $ACLOCAL --install -I x
 test -f x/my-defs.m4
-test ! -d none
-test ! -d none2
+test ! -e none
+test ! -e none2
 
 # It's better if aclocal doesn't create the first include dir on failure.
 $ACLOCAL --install -I none -I none2 && exit 1
-test ! -d none
-test ! -d none2
+test ! -e none
+test ! -e none2
 
 :
diff --git a/t/aclocal-no-install-no-mkdir.sh b/t/aclocal-no-install-no-mkdir.sh
index 3b163b0..5b47768 100755
--- a/t/aclocal-no-install-no-mkdir.sh
+++ b/t/aclocal-no-install-no-mkdir.sh
@@ -31,7 +31,6 @@ AC_DEFUN([MY_MACRO], [:])
 END
 
 $ACLOCAL -I foo --system-acdir=sys-acdir && exit 1
-test ! -d foo
-test ! -r foo
+test ! -e foo
 
 :
diff --git a/t/aclocal-path-install.sh b/t/aclocal-path-install.sh
index b03f28e..4ed1a2c 100755
--- a/t/aclocal-path-install.sh
+++ b/t/aclocal-path-install.sh
@@ -42,7 +42,7 @@ END
 $ACLOCAL --install 2>stderr && { cat stderr >&2; exit 1; }
 cat stderr >&2
 grep ' no -I was supplied' stderr
-test ! -f pdir/foo.m4
+test ! -e pdir/foo.m4
 
 # The '--install' option should cause a required macro found in a
 # directory specified in ACLOCAL_PATH to be installed locally.
diff --git a/t/alpha.sh b/t/alpha.sh
index fe7ec1a..b1315f0 100755
--- a/t/alpha.sh
+++ b/t/alpha.sh
@@ -63,7 +63,7 @@ $AUTOMAKE
 $MAKE check 2>stderr && { cat stderr >&2; exit 1; }
 cat stderr >&2
 grep 'NEWS not updated' stderr
-test ! -f works
+test ! -e works
 
 echo 'alpha 1.0a released' > NEWS
 $MAKE check
diff --git a/t/autodist-subdir.sh b/t/autodist-subdir.sh
index 8d3e2fb..27971ef 100755
--- a/t/autodist-subdir.sh
+++ b/t/autodist-subdir.sh
@@ -97,7 +97,7 @@ $MAKE distdir
 autodist_list="$list" $MAKE check
 
 $MAKE maintainer-clean
-test ! -f sub/README    # Sanity check.
+test ! -e sub/README    # Sanity check.
 rm -rf $me-1.0          # Remove $(distdir).
 
 : Now try creating the automatically-distributed files before
diff --git a/t/autodist.sh b/t/autodist.sh
index bde9f77..f49985c 100755
--- a/t/autodist.sh
+++ b/t/autodist.sh
@@ -80,7 +80,7 @@ $MAKE distdir
 autodist_list="$list" $MAKE check
 
 $MAKE maintainer-clean
-test ! -f README        # Sanity check.
+test ! -e README        # Sanity check.
 rm -rf $me-1.0          # Remove $(distdir).
 
 : Now try creating the automatically-distributed files before
diff --git a/t/autohdrdry.sh b/t/autohdrdry.sh
index 3399ec8..3bd474e 100755
--- a/t/autohdrdry.sh
+++ b/t/autohdrdry.sh
@@ -37,6 +37,6 @@ $MAKE
 rm -f config.h
 $MAKE -n
 test -f stamp-h1
-test ! -f config.h
+test ! -r config.h
 
 :
diff --git a/t/ax/test-init.sh b/t/ax/test-init.sh
index cf44188..bd511a9 100644
--- a/t/ax/test-init.sh
+++ b/t/ax/test-init.sh
@@ -409,7 +409,7 @@ useless_vpath_rebuild ()
         .a.b: ; cp $< $@
         baz: bar ; cp ../baz bar
 END
-    if $MAKE all && test ! -f foo.b && test ! -f bar; then
+    if $MAKE all && test ! -e foo.b && test ! -e bar; then
       am__useless_vpath_rebuild=no
     else
       am__useless_vpath_rebuild=yes
@@ -984,7 +984,7 @@ else
   # by the cleanup trap below if the test passes.  If the test doesn't pass,
   # this directory will be kept, to facilitate debugging.
   testSubDir=t/$me.dir
-  test ! -d $testSubDir || rm_rf_ $testSubDir \
+  test ! -e $testSubDir || rm_rf_ $testSubDir \
     || framework_failure_ "removing old test subdirectory"
   test -d t || mkdir t
   mkdir $testSubDir \
diff --git a/t/backcompat5.sh b/t/backcompat5.sh
index 88f4ce9..a956c4a 100755
--- a/t/backcompat5.sh
+++ b/t/backcompat5.sh
@@ -102,11 +102,11 @@ for f in $makefiles; do diff $f.sav $f.in; done
 
 ./configure
 ls -l . hacky src data tests # For debugging.
-test ! -f mkfile
+test ! -e mkfile
 $MAKE
 $MAKE distdir
-test ! -f $distdir/Makefile.in
-test ! -f $distdir/data/bar
+test ! -e $distdir/Makefile.in
+test ! -e $distdir/data/bar
 test -f $distdir/src/foo
 diff README $distdir/README
 diff mkfile.in $distdir/mkfile.in
diff --git a/t/backcompat6.sh b/t/backcompat6.sh
index 271ffd3..f7e8937 100755
--- a/t/backcompat6.sh
+++ b/t/backcompat6.sh
@@ -97,7 +97,7 @@ $MAKE check
 distdir=nonesuch-zardoz-nonesuch-0.1
 $MAKE distdir
 test -f $distdir/quux.c
-test ! -f $distdir/foo.got
+test ! -e $distdir/foo.got
 
 $MAKE distcheck
 
diff --git a/t/c-demo.sh b/t/c-demo.sh
index cc571b3..2f51cf7 100755
--- a/t/c-demo.sh
+++ b/t/c-demo.sh
@@ -154,8 +154,8 @@ $MAKE test-objs
 
 VERBOSE=x $MAKE check
 if cross_compiling; then
-  test ! -f tests/test-suite.log
-  test ! -f tests/test.log
+  test ! -e tests/test-suite.log
+  test ! -e tests/test.log
 else
   test -f tests/test-suite.log
   grep 'Foo, Bar!' tests/test.log
@@ -173,7 +173,7 @@ if ! cross_compiling && ! grep "[ $tab]depmode=none" 
Makefile; then
 fi
 
 $MAKE clean
-test ! -f lib/foo.h
+test ! -e lib/foo.h
 test -f lib/bar.h
 
 :
diff --git a/t/check12.sh b/t/check12.sh
index 69dac88..53cc4e6 100755
--- a/t/check12.sh
+++ b/t/check12.sh
@@ -146,14 +146,14 @@ for vpath in : false; do
   cp -f config.status config-status.sav
 
   $MAKE distclean
-  test ! -r hammer.log
-  test ! -r hammer.sum
-  test ! -r spanner.log
-  test ! -r spanner.sum
-  test ! -r test-suite.log
-  test ! -r a.log
-  test ! -r b.log
-  test ! -r local.log
+  test ! -e hammer.log
+  test ! -e hammer.sum
+  test ! -e spanner.log
+  test ! -e spanner.sum
+  test ! -e test-suite.log
+  test ! -e a.log
+  test ! -e b.log
+  test ! -e local.log
 
   mv -f config-status.sav config.status
   ./config.status
diff --git a/t/check3.sh b/t/check3.sh
index a00e37a..64a4512 100755
--- a/t/check3.sh
+++ b/t/check3.sh
@@ -70,8 +70,8 @@ $EGREP '^check:.* \$\(BUILT_SOURCES\)( |$)' dir/Makefile.in
 
 $MAKE clean
 # Sanity checks
-test ! -f command1.inc
-test ! -f dir/command2.inc
+test ! -e command1.inc
+test ! -e dir/command2.inc
 # Now make sure these two files are rebuilt during make install.
 $MAKE install
 test -f command1.inc
diff --git a/t/clean2.sh b/t/clean2.sh
index 32cc2c8..ce5e9bf 100755
--- a/t/clean2.sh
+++ b/t/clean2.sh
@@ -58,10 +58,10 @@ test -f bar
 test -f sub/foo
 $MAKE distclean
 ls -l
-test ! -r bar
-test ! -r sub/foo
-test ! -r Makefile
-test ! -r config.status
+test ! -e bar
+test ! -e sub/foo
+test ! -e Makefile
+test ! -e config.status
 test -f Makefile.in
 test -f configure
 
diff --git a/t/colon6.sh b/t/colon6.sh
index 1e93a8f..d89deaa 100755
--- a/t/colon6.sh
+++ b/t/colon6.sh
@@ -74,7 +74,7 @@ for vpath in : false; do
   # Makefile should not depend on version.good.
   rm -f version.good
   $MAKE Makefile
-  test ! -r version.good
+  test ! -e version.good
 
   # version.good should be rebuilt from version.gin.
   $MAKE version.good
@@ -83,7 +83,7 @@ for vpath in : false; do
   # Makefile should not depend on version.gin.
   rm -f ../$srcdir/demo/version.gin
   $MAKE Makefile
-  test ! -r ../$srcdir/demo/version.gin # Sanity check.
+  test ! -e ../$srcdir/demo/version.gin # Sanity check.
 
   # version.good should depend on version.gin.
   rm -f version.good
diff --git a/t/compile.sh b/t/compile.sh
index df5eb83..1da1cde 100755
--- a/t/compile.sh
+++ b/t/compile.sh
@@ -33,13 +33,13 @@ rm -f 'a  c' ./-o a.o a.c
 
 ./compile touch a.o -- -o 'a  c.o' a.c
 test -f 'a  c.o'
-test ! -f ./-o
-test ! -f a.o
+test ! -e ./-o
+test ! -e a.o
 test -f a.c
 
 # Make sure 'compile' works for .obj too.
 ./compile touch a.obj -- -o ac.obj a.c
-test ! -f a.obj
+test ! -e a.obj
 test ac.obj
 
 :
diff --git a/t/cond33.sh b/t/cond33.sh
index afe688a..53225cb 100755
--- a/t/cond33.sh
+++ b/t/cond33.sh
@@ -54,12 +54,12 @@ chmod a-w nowhere
 ./configure --prefix="$cwd"/nowhere --bindir="$cwd"/bin \
             --includedir="$cwd"/inc
 $MAKE installdirs
-test ! -d bin
+test ! -e bin
 test -d inc/foo
-test ! -f inc/foo/foo.h
+test ! -e inc/foo/foo.h
 rm -rf inc
 $MAKE install
-test ! -d bin
+test ! -e bin
 test -f inc/foo/foo.h
 $MAKE distdircheck
 
@@ -68,11 +68,11 @@ rm -rf inc
 ./configure two=two --prefix="$cwd"/nowhere --bindir="$cwd"/bin \
                     --includedir="$cwd"/inc
 $MAKE install
-test ! -d inc
+test ! -e inc
 test -f bin/x.sh
 rm -rf inc
 $MAKE installdirs
-test ! -d inc
+test ! -e inc
 test -d bin
 $MAKE distdircheck
 
diff --git a/t/cond40.sh b/t/cond40.sh
index 5579131..8725a03 100755
--- a/t/cond40.sh
+++ b/t/cond40.sh
@@ -58,26 +58,26 @@ $AUTOMAKE -a
 
 ./configure cond=yes cond1=yes cond2=no cond3=yes
 test -f file1
-test ! -f file2
+test ! -e file2
 test -f file3
 rm -f file1 file3
 $MAKE file1 file3
 $MAKE file2 && exit 1
 test -f file1
-test ! -f file2
+test ! -e file2
 test -f file3
 $MAKE distclean
 
 ./configure cond=no cond1=yes cond2=yes
-test ! -f file1
+test ! -e file1
 test -f file2
-test ! -f file3
+test ! -e file3
 rm -f file2
 $MAKE file1 && exit 1
 $MAKE file2
 $MAKE file3 && exit 1
-test ! -f file1
+test ! -e file1
 test -f file2
-test ! -f file3
+test ! -e file3
 
 :
diff --git a/t/condhook.sh b/t/condhook.sh
index dd2153c..c8675e5 100755
--- a/t/condhook.sh
+++ b/t/condhook.sh
@@ -43,6 +43,6 @@ $AUTOMAKE
 
 $MAKE install
 test -f inst/etc/mumble
-test ! -f bad
+test ! -e bad
 
 :
diff --git a/t/conflnk3.sh b/t/conflnk3.sh
index 993581d..a0b8842 100755
--- a/t/conflnk3.sh
+++ b/t/conflnk3.sh
@@ -71,12 +71,12 @@ test -r dest5
 $MAKE test
 
 $MAKE distclean
-test ! -r sdir/dest2
-test ! -r sdir/dest3
+test ! -e sdir/dest2
+test ! -e sdir/dest3
 test -r dest  # Should still exist, Automake knows nothing about it.
 test -r dest5 # Ditto.
 rm -f dest dest5
-test ! -r dest4
+test ! -e dest4
 
 mkdir build
 cd build
diff --git a/t/cscope.tap b/t/cscope.tap
index fdf13f1..d57b2a8 100755
--- a/t/cscope.tap
+++ b/t/cscope.tap
@@ -83,10 +83,10 @@ test_cleanup ()
     # VPATH build.
     $MAKE distcleancheck
   fi \
-    && test ! -f cscope.files \
-    && test ! -f cscope.out \
-    && test ! -f cscope.in.out \
-    && test ! -f cscope.po.out \
+    && test ! -e cscope.files \
+    && test ! -e cscope.out \
+    && test ! -e cscope.in.out \
+    && test ! -e cscope.po.out \
     || r='not ok'
   result_ "$r" "[$pfx] make distcheck"
 }
diff --git a/t/cxx-demo.sh b/t/cxx-demo.sh
index d7aeab7..77f7c83 100755
--- a/t/cxx-demo.sh
+++ b/t/cxx-demo.sh
@@ -69,7 +69,7 @@ $AUTOCONF
 $AUTOMAKE --add-missing
 test -f build-aux/depcomp
 # Not needed by C++ compilers.
-test ! -f build-aux/compile
+test ! -e build-aux/compile
 
 cat > work.h++ << 'END'
 #define ACTION "work"
diff --git a/t/cxx-lt-demo.sh b/t/cxx-lt-demo.sh
index d0023e8..a060fc8 100755
--- a/t/cxx-lt-demo.sh
+++ b/t/cxx-lt-demo.sh
@@ -97,7 +97,7 @@ ls -l . ax # For debugging.
 for f in ltmain.sh depcomp config.guess config.sub; do
   test -f ax/$f && test ! -h ax/$f || exit 1
 done
-test ! -f ax/compile # Not required by C++ compilers.
+test ! -e ax/compile # Not required by C++ compilers.
 
 cat > src/main.cc << 'END'
 #include "libfoo.h++"
diff --git a/t/cygnus-check-without-all.sh b/t/cygnus-check-without-all.sh
index 8b3c6e1..ec87718 100755
--- a/t/cygnus-check-without-all.sh
+++ b/t/cygnus-check-without-all.sh
@@ -42,7 +42,7 @@ $AUTOCONF
 
 $MAKE check
 test -f check-target-has-run
-test ! -r all-target-has-failed
+test ! -e all-target-has-failed
 # Sanity checks.
 $MAKE && exit 1
 test -f all-target-has-failed
diff --git a/t/cygnus-no-installinfo.sh b/t/cygnus-no-installinfo.sh
index 9102484..8fe5195 100755
--- a/t/cygnus-no-installinfo.sh
+++ b/t/cygnus-no-installinfo.sh
@@ -44,9 +44,9 @@ cwd=$(pwd) || exit 1
 ./configure --prefix="$cwd"/_inst
 $MAKE
 $MAKE install
-test ! -d _inst
-test ! -r foo.info
-test ! -d _inst/share/info
+test ! -e _inst
+test ! -e foo.info
+test ! -e _inst/share/info
 $MAKE install-info
 ls -l _inst
 test -f foo.info
diff --git a/t/dejagnu-siteexp-extend.sh b/t/dejagnu-siteexp-extend.sh
index 2361ff7..45d8a22 100755
--- a/t/dejagnu-siteexp-extend.sh
+++ b/t/dejagnu-siteexp-extend.sh
@@ -153,7 +153,7 @@ grep 'zardoz.*quux' tool.log && exit 1
 # by default.
 $MAKE distdir
 ls -l $distdir
-test ! -r $distdir/bar.dir/bar
-test ! -r $distdir/quux.exp
+test ! -e $distdir/bar.dir/bar
+test ! -e $distdir/quux.exp
 
 :
diff --git a/t/distcom-subdir.sh b/t/distcom-subdir.sh
index 7def7bf..a841fd9 100755
--- a/t/distcom-subdir.sh
+++ b/t/distcom-subdir.sh
@@ -37,7 +37,7 @@ mkdir subdir
 $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
-test ! -f depcomp
+test ! -e depcomp
 
 cat > subdir/Makefile.am << 'END'
 bin_PROGRAMS = foo
diff --git a/t/disthook.sh b/t/disthook.sh
index 3da6075..6fefacb 100755
--- a/t/disthook.sh
+++ b/t/disthook.sh
@@ -72,12 +72,10 @@ $MAKE distdir
 ls -l $distdir $distdir/doc
 cd $distdir
 test "$(cat write)" = "all is ok"
-test ! -f removed
-test ! -r removed
+test ! -e removed
 test -f doc/README
 test -f doc/RELEASE-DATE
-test ! -f doc/HACING
-test ! -r doc/HACING
+test ! -e doc/HACING
 ./execute
 ./execute | grep 'I run successfully'
 cd ..
diff --git a/t/distlinksbrk.sh b/t/distlinksbrk.sh
index 9f53768..eccfd9c 100755
--- a/t/distlinksbrk.sh
+++ b/t/distlinksbrk.sh
@@ -34,11 +34,11 @@ ln -s "$(pwd)/nonesuch" $lnk2
 ln -s $lnk1 $lnka
 ln -s $lnka $lnkb
 
-# Sanity checks.  Use 'test -r', since Solaris Sh doesn't grok 'test -e'.
-test ! -r $lnk1
-test ! -r $lnk2
-test ! -r $lnka
-test ! -r $lnkb
+# Sanity checks.
+test ! -e $lnk1
+test ! -e $lnk2
+test ! -e $lnka
+test ! -e $lnkb
 test -h $lnk1
 test -h $lnk2
 test -h $lnka
diff --git a/t/fort4.sh b/t/fort4.sh
index e1e6ed4..ee83773 100755
--- a/t/fort4.sh
+++ b/t/fort4.sh
@@ -83,12 +83,12 @@ echo 'AUTOMAKE_OPTIONS = subdir-objects' >> Makefile.am
 $AUTOMAKE
 ./configure
 $MAKE
-test ! -f bar.o
-test ! -f bar.obj
-test ! -f baz.o
-test ! -f baz.obj
-test ! -f goodbye-baz.o
-test ! -f goodbye-baz.obj
+test ! -e bar.o
+test ! -e bar.obj
+test ! -e baz.o
+test ! -e baz.obj
+test ! -e goodbye-baz.o
+test ! -e goodbye-baz.obj
 $MAKE distcheck
 
 :
diff --git a/t/fort5.sh b/t/fort5.sh
index 62df8ec..c5be2ab 100755
--- a/t/fort5.sh
+++ b/t/fort5.sh
@@ -99,9 +99,9 @@ echo 'AUTOMAKE_OPTIONS = subdir-objects' >> Makefile.am
 $AUTOMAKE -a
 ./configure
 $MAKE
-test ! -f bar.lo
-test ! -f baz.lo
-test ! -f libgoodbye_la-baz.lo
+test ! -e bar.lo
+test ! -e baz.lo
+test ! -e libgoodbye_la-baz.lo
 $MAKE distcheck
 
 :
diff --git a/t/help3.sh b/t/help3.sh
index 0ee3043..368c456 100755
--- a/t/help3.sh
+++ b/t/help3.sh
@@ -40,9 +40,9 @@ pkgdata_DATA =
 END
 
 $ACLOCAL --force --help --output=foo.m4
-test ! -r foo.m4
+test ! -e foo.m4
 $ACLOCAL --output=foo.m4 --version --force
-test ! -r foo.m4
+test ! -e foo.m4
 # Sanity check.
 $ACLOCAL --output=foo.m4 --force
 test -f foo.m4
@@ -50,9 +50,9 @@ test -f foo.m4
 mv -f foo.m4 aclocal.m4 # autoconf will need aclocal.m4
 
 $AUTOMAKE --add-missing --help --copy
-test ! -r install-sh
+test ! -e install-sh
 $AUTOMAKE --copy --version --add-mising
-test ! -r install-sh
+test ! -e install-sh
 # Sanity check.
 $AUTOMAKE --add-missing --copy
 test -f install-sh
diff --git a/t/install-info-dir.sh b/t/install-info-dir.sh
index 3a391bd..39995fc 100755
--- a/t/install-info-dir.sh
+++ b/t/install-info-dir.sh
@@ -91,7 +91,7 @@ if test $have_installinfo = yes; then
   $FGREP 'Does nothing at all, but has a nice name' $instdir/info/dir
 
   $MAKE uninstall
-  test ! -f $instdir/info/foo.info
+  test ! -e $instdir/info/foo.info
   $FGREP 'but has a nice name' $instdir/info/dir && exit 1
 
   dir="$destdir/$cwd/$instdir/info"
@@ -101,7 +101,7 @@ if test $have_installinfo = yes; then
   test -f "$dir"/dir
   $FGREP 'Does nothing at all, but has a nice name' "$dir"/dir
   $MAKE DESTDIR="$cwd/$destdir" uninstall
-  test ! -f "$dir"/foo.info
+  test ! -e "$dir"/foo.info
   $FGREP 'but has a nice name' "$dir"/dir && exit 1
 
   unset dir
@@ -121,7 +121,7 @@ chmod a+x bin/install-info
 $MAKE install-info >output 2>&1 || { cat output; exit 1; }
 cat output
 test -f $instdir/info/foo.info
-test ! -f $instdir/info/dir
+test ! -e $instdir/info/dir
 grep 'error from install-info' output && exit 1
 
 rm -rf $instdir output
@@ -144,7 +144,7 @@ END
   test -f $instdir/info/foo.info
   test -f $instdir/info/dir
   $MAKE uninstall
-  test ! -f $instdir/info/foo.info
+  test ! -e $instdir/info/foo.info
   test -f $instdir/info/dir
   $FGREP 'but has a nice name' $instdir/info/dir && exit 1
   : For shells with busted 'set -e'.
@@ -159,7 +159,7 @@ for val in no NO n; do
   rm -rf $instdir
   env AM_UPDATE_INFO_DIR="$val" $MAKE install-info
   test -f $instdir/info/foo.info
-  test ! -f $instdir/info/dir
+  test ! -e $instdir/info/dir
 done
 
 $MAKE install-info
@@ -180,7 +180,7 @@ if test $have_installinfo = yes; then
     test -f $instdir/info/foo.info
     test -f $instdir/info/dir
     env AM_UPDATE_INFO_DIR="$val" $MAKE uninstall
-    test ! -f $instdir/info/foo.info
+    test ! -e $instdir/info/foo.info
     $FGREP 'but has a nice name' $instdir/info/dir && exit 1
     : For shells with busted 'set -e'.
   done
diff --git a/t/instdir-cond.sh b/t/instdir-cond.sh
index cdcbf5d..d0be1a3 100755
--- a/t/instdir-cond.sh
+++ b/t/instdir-cond.sh
@@ -42,7 +42,7 @@ $AUTOCONF
 ./configure --prefix="$(pwd)/inst"
 
 $MAKE install
-test ! -d inst/share/instdir-cond
-test ! -d inst/libexec/instdir-cond
+test ! -e inst/share/instdir-cond
+test ! -e inst/libexec/instdir-cond
 
 :
diff --git a/t/instdir-cond2.sh b/t/instdir-cond2.sh
index 9ca58f7..8f386cc 100755
--- a/t/instdir-cond2.sh
+++ b/t/instdir-cond2.sh
@@ -46,6 +46,6 @@ $AUTOCONF
 ./configure --prefix="$(pwd)/inst"
 
 $MAKE installdirs
-test ! -d inst || { find inst; exit 1; }
+test ! -e inst || { find inst; exit 1; }
 
 :
diff --git a/t/instdir-java.sh b/t/instdir-java.sh
index f9c651c..f31cdb7 100755
--- a/t/instdir-java.sh
+++ b/t/instdir-java.sh
@@ -48,10 +48,10 @@ $MAKE
 javadir=
 export javadir
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/instdir-lisp.sh b/t/instdir-lisp.sh
index 0c2fa1e..59bf8b0 100755
--- a/t/instdir-lisp.sh
+++ b/t/instdir-lisp.sh
@@ -46,10 +46,10 @@ lispdir=
 export lispdir
 
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/instdir-ltlib.sh b/t/instdir-ltlib.sh
index dcd0362..c6578e2 100755
--- a/t/instdir-ltlib.sh
+++ b/t/instdir-ltlib.sh
@@ -72,10 +72,10 @@ $MAKE
 bindir= libdir= pyexecdir=
 export bindir libdir pyexecdir
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
diff --git a/t/instdir-no-empty.sh b/t/instdir-no-empty.sh
index 5357264..bef179d 100755
--- a/t/instdir-no-empty.sh
+++ b/t/instdir-no-empty.sh
@@ -106,14 +106,14 @@ doinst ()
 
 ./configure --prefix="$cwd/inst"
 doinst
-test ! -d inst || { find inst; exit 1; }
+test ! -e inst || { find inst; exit 1; }
 $MAKE uninstall
 doinst bin_SCRIPTS=foo.sh AM_MAKEFLAGS='bin_SCRIPTS=foo.sh'
 test -f inst/bin/foo.sh
 
 ./configure
 doinst DESTDIR="$cwd/dest"
-test ! -d dest || { find dest; exit 1; }
+test ! -e dest || { find dest; exit 1; }
 $MAKE uninstall
 doinst DESTDIR="$cwd/dest" bin_SCRIPTS=foo.sh AM_MAKEFLAGS='bin_SCRIPTS=foo.sh'
 test -f dest/usr/local/bin/foo.sh
diff --git a/t/instdir-prog.sh b/t/instdir-prog.sh
index 7306c5c..ed0acc1 100755
--- a/t/instdir-prog.sh
+++ b/t/instdir-prog.sh
@@ -71,10 +71,10 @@ $MAKE
 bindir= libdir= pyexecdir=
 export bindir libdir pyexecdir
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 # Creative quoting below to please maintainer-check.
diff --git a/t/instdir-python.sh b/t/instdir-python.sh
index 3d39bd8..d57fb4b 100755
--- a/t/instdir-python.sh
+++ b/t/instdir-python.sh
@@ -50,10 +50,10 @@ pythondir=
 export pythondir
 
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/instdir-texi.sh b/t/instdir-texi.sh
index 1d8015c..ef6bc20 100755
--- a/t/instdir-texi.sh
+++ b/t/instdir-texi.sh
@@ -60,10 +60,11 @@ infodir= htmldir= dvidir= psdir= pdfdir=
 export infodir htmldir dvidir psdir pdfdir
 
 $MAKE -e install install-html install-dvi install-ps install-pdf
-test ! -d "$instdir"
-$MAKE -e install install-html install-dvi install-ps install-pdf 
DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+$MAKE -e install install-html install-dvi install-ps install-pdf \
+         DESTDIR="$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/instdir.sh b/t/instdir.sh
index f9d8e64..d0c2532 100755
--- a/t/instdir.sh
+++ b/t/instdir.sh
@@ -59,10 +59,10 @@ bindir= datadir= includedir= foodir= bardir= man1dir= 
man2dir=
 export bindir datadir includedir foodir bardir man1dir man2dir
 
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/instdir2.sh b/t/instdir2.sh
index 2731481..51e78be 100755
--- a/t/instdir2.sh
+++ b/t/instdir2.sh
@@ -81,10 +81,10 @@ bindir= datadir= includedir= foodir= bardir= man1dir= 
man2dir=
 export bindir datadir includedir foodir bardir man1dir man2dir
 
 $MAKE -e install
-test ! -d "$instdir"
+test ! -e "$instdir"
 $MAKE -e install DESTDIR="$destdir"
-test ! -d "$instdir"
-test ! -d "$destdir"
+test ! -e "$instdir"
+test ! -e "$destdir"
 $MAKE -e uninstall > stdout || { cat stdout; exit 1; }
 cat stdout
 grep 'rm -f' stdout && exit 1
diff --git a/t/java-extra.sh b/t/java-extra.sh
index d0c1c49..7b3a759 100755
--- a/t/java-extra.sh
+++ b/t/java-extra.sh
@@ -57,8 +57,8 @@ $MAKE
 ls -l
 test -f Class1.class
 test -f Class2.class
-test ! -f Class3.class
-test ! -f Class3.java
+test ! -e Class3.class
+test ! -e Class3.java
 
 $MAKE distclean
 
@@ -66,7 +66,7 @@ $MAKE distclean
 $MAKE
 ls -l
 test -f Class1.class
-test ! -f Class2.class
+test ! -e Class2.class
 test -f Class3.class
 test -f Class3.java
 
diff --git a/t/java-mix.sh b/t/java-mix.sh
index 94adbd6..25e8511 100755
--- a/t/java-mix.sh
+++ b/t/java-mix.sh
@@ -58,11 +58,11 @@ test ! -s stderr
 
 $MAKE distdir
 ls -l $distdir # For debugging.
-test ! -f $distdir/Class.java
+test ! -e $distdir/Class.java
 test -f $distdir/ClassDist.java
-test ! -f $distdir/ClassNobase.java
+test ! -e $distdir/ClassNobase.java
 test -f $distdir/ClassNobaseDist.java
-test ! -f $distdir/ClassNodist.java
-test ! -f $distdir/ClassNobaseNodist.java
+test ! -e $distdir/ClassNodist.java
+test ! -e $distdir/ClassNobaseNodist.java
 
 :
diff --git a/t/java-uninstall.sh b/t/java-uninstall.sh
index 92373df..a128406 100755
--- a/t/java-uninstall.sh
+++ b/t/java-uninstall.sh
@@ -61,11 +61,11 @@ javadir=_inst/java
 
 check_uninstallation()
 {
-  test ! -r $javadir/aClass.class
-  test ! -r $javadir/bClass.class
-  test ! -r $javadir/Zardoz.class
-  test ! -r $javadir/Baz.class
-  test ! -r $javadir/Baz2.class
+  test ! -e $javadir/aClass.class
+  test ! -e $javadir/bClass.class
+  test ! -e $javadir/Zardoz.class
+  test ! -e $javadir/Baz.class
+  test ! -e $javadir/Baz2.class
   test   -f $javadir/Foo.class
   test   -f $javadir/Bar.class
   test   -f $javadir/xClass.class
diff --git a/t/java3.sh b/t/java3.sh
index a4652fd..eab7203 100755
--- a/t/java3.sh
+++ b/t/java3.sh
@@ -49,7 +49,7 @@ ls -l .
 find . -name '*.class' | grep . && exit 1
 # If we have nothing to install, we shouldn't create any installation
 # directory.  Related to automake bug#11030.
-test ! -d _inst
+test ! -e _inst
 $MAKE uninstall
 $MAKE distcheck
 
diff --git a/t/lex-clean-cxx.sh b/t/lex-clean-cxx.sh
index ef6b5cb..a61dd98 100755
--- a/t/lex-clean-cxx.sh
+++ b/t/lex-clean-cxx.sh
@@ -103,10 +103,10 @@ for target in clean distclean; do
   ls -l
   test -f parsefoo.cxx
   test -f bar-parsebar.cc
-  test ! -r parsebaz.l++
-  test ! -r parsebaz.c++
-  test ! -r parsequx.lpp
-  test ! -r qux-parsequx.cpp
+  test ! -e parsebaz.l++
+  test ! -e parsebaz.c++
+  test ! -e parsequx.lpp
+  test ! -e qux-parsequx.cpp
 done
 
 cp config.sav config.status
@@ -116,11 +116,11 @@ $MAKE maintainer-clean
 ls -l
 test -f parsefoo.lxx
 test -f parsebar.ll
-test ! -r parsefoo.cxx
-test ! -r bar-parsebar.cc
+test ! -e parsefoo.cxx
+test ! -e bar-parsebar.cc
 test -f parsefoo.lxx
 test -f parsebar.ll
-test ! -r parsefoo.cxx
-test ! -r bar-parsebar.cc
+test ! -e parsefoo.cxx
+test ! -e bar-parsebar.cc
 
 :
diff --git a/t/lex-clean.sh b/t/lex-clean.sh
index 29ab4c2..91742bf 100755
--- a/t/lex-clean.sh
+++ b/t/lex-clean.sh
@@ -97,9 +97,9 @@ for target in clean distclean; do
   test -f lexer.l
   test -f lexer.c
   test -f bar-lexer.c
-  test ! -r baz.l
-  test ! -r baz.c
-  test ! -r qux-baz.c
+  test ! -e baz.l
+  test ! -e baz.c
+  test ! -e qux-baz.c
 done
 
 cp config.sav config.status
@@ -108,7 +108,7 @@ cp config.sav config.status
 $MAKE maintainer-clean
 ls -l
 test -f lexer.l
-test ! -r lexer.c
-test ! -r bar-lexer.c
+test ! -e lexer.c
+test ! -e bar-lexer.c
 
 :
diff --git a/t/lex3.sh b/t/lex3.sh
index 02ae9fe..b008880 100755
--- a/t/lex3.sh
+++ b/t/lex3.sh
@@ -86,6 +86,6 @@ $MAKE distclean
 test -f foo.c
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
-test ! -f foo.c
+test ! -e foo.c
 
 :
diff --git a/t/libtoo10.sh b/t/libtoo10.sh
index d78886a..c84ddb8 100755
--- a/t/libtoo10.sh
+++ b/t/libtoo10.sh
@@ -53,8 +53,10 @@ $AUTOCONF
 ./configure
 $MAKE all check
 $MAKE clean
-test ! -d src/.libs
-test ! -d src/_libs
-test ! -d check/.libs
-test ! -d check/_libs
+test ! -e src/.libs
+test ! -e src/_libs
+test ! -e check/.libs
+test ! -e check/_libs
 $MAKE distcheck
+
+:
diff --git a/t/license.sh b/t/license.sh
index 3846709..cad4307 100755
--- a/t/license.sh
+++ b/t/license.sh
@@ -35,7 +35,7 @@ EOF
 :> ChangeLog
 :> README
 
-test ! -f COPYING
+test ! -e COPYING
 
 $ACLOCAL
 $AUTOCONF
diff --git a/t/lisp6.sh b/t/lisp6.sh
index 07b1d58..e877d5a 100755
--- a/t/lisp6.sh
+++ b/t/lisp6.sh
@@ -55,25 +55,25 @@ cwd=$(pwd) || fatal_ "getting current working directory"
 
 $MAKE
 test -f am-one.elc
-test ! -f am-two.elc
+test ! -e am-two.elc
 test -f am-three.elc
 test -f elc-stamp
 
 $MAKE install
 test -f lisp/am-one.el
 test -f lisp/am-one.elc
-test ! -f lisp/am-two.el
-test ! -f lisp/am-two.elc
-test ! -f lisp/am-three.el
-test ! -f lisp/am-three.elc
+test ! -e lisp/am-two.el
+test ! -e lisp/am-two.elc
+test ! -e lisp/am-three.el
+test ! -e lisp/am-three.elc
 
 $MAKE dist-test
 
 $MAKE distclean
-test ! -f am-one.elc
-test ! -f am-two.elc
-test ! -f am-three.elc
-test ! -f elc-stamp
+test ! -e am-one.elc
+test ! -e am-two.elc
+test ! -e am-three.elc
+test ! -e elc-stamp
 
 ./configure --with-lispdir="$cwd/lisp" want_two=1
 
@@ -96,15 +96,15 @@ test -f lisp/am-one.el
 test -f lisp/am-one.elc
 test -f lisp/am-two.el
 test -f lisp/am-two.elc
-test ! -f lisp/am-three.el
-test ! -f lisp/am-three.elc
+test ! -e lisp/am-three.el
+test ! -e lisp/am-three.elc
 
 $MAKE dist-test
 
 $MAKE distclean
-test ! -f am-one.elc
-test ! -f am-two.elc
-test ! -f am-three.elc
-test ! -f elc-stamp
+test ! -e am-one.elc
+test ! -e am-two.elc
+test ! -e am-three.elc
+test ! -e elc-stamp
 
 :
diff --git a/t/lisp7.sh b/t/lisp7.sh
index e2574ab..4553298 100755
--- a/t/lisp7.sh
+++ b/t/lisp7.sh
@@ -41,9 +41,9 @@ $MAKE >stdout || { cat stdout; exit 1; }
 cat stdout
 test 1 -eq $(grep -c 'Warnings can be ignored' stdout)
 
-test ! -f am-one.elc
-test ! -f am-two.elc
-test ! -f am-three.elc
+test ! -e am-one.elc
+test ! -e am-two.elc
+test ! -e am-three.elc
 test -f elc-stamp
 
 $MAKE distcheck
diff --git a/t/lispdry.sh b/t/lispdry.sh
index 2dfbc0b..f7de071 100755
--- a/t/lispdry.sh
+++ b/t/lispdry.sh
@@ -50,9 +50,9 @@ chmod a-w .
 
 $MAKE -n
 
-test ! -f am-one.elc
-test ! -f am-two.elc
-test ! -f am-three.elc
-test ! -f elc-stamp
+test ! -e am-one.elc
+test ! -e am-two.elc
+test ! -e am-three.elc
+test ! -e elc-stamp
 
 :
diff --git a/t/ltcond.sh b/t/ltcond.sh
index 773efbf..ae5415c 100755
--- a/t/ltcond.sh
+++ b/t/ltcond.sh
@@ -72,20 +72,20 @@ $MAKE
 test -f lib1foo.la
 test -f lib1bar.la
 test -f lib2foo.la
-test ! -f lib2bar.la
-test ! -f lib3foo.la
-test ! -f lib3bar.la
+test ! -e lib2bar.la
+test ! -e lib3foo.la
+test ! -e lib3bar.la
 
 $MAKE check
-test ! -f lib2bar.la
+test ! -e lib2bar.la
 test -f lib3foo.la
-test ! -f lib3bar.la
+test ! -e lib3bar.la
 
 $MAKE install
 test -f lib/lib1foo.la
 test -f lib/lib1bar.la
 test -f lib/lib2foo.la
-test ! -f lib/lib3foo.la
+test ! -e lib/lib3foo.la
 find empty -type f -print > empty.lst
 test -s empty.lst && { cat empty.lst; exit 1; }
 
@@ -98,9 +98,9 @@ test -f lib2foo.la
 test -f lib3foo.la
 
 $MAKE clean
-test ! -f lib1foo.la
-test ! -f lib1bar.la
-test ! -f lib2foo.la
-test ! -f lib3foo.la
+test ! -e lib1foo.la
+test ! -e lib1bar.la
+test ! -e lib2foo.la
+test ! -e lib3foo.la
 
 :
diff --git a/t/ltconv.sh b/t/ltconv.sh
index c22a44f..cf06271 100755
--- a/t/ltconv.sh
+++ b/t/ltconv.sh
@@ -137,12 +137,12 @@ find empty -type f -print > empty.lst
 test -s empty.lst && { cat empty.lst; exit 1; }
 
 $MAKE clean
-test ! -f libtop.la
-test ! -f sub1/libsub1.la
-test ! -f sub2/libsub2.la
-test ! -f sub2/sub21/libsub21.la
-test ! -f sub2/sub22/libsub22.la
-test ! -f ltconvtest
+test ! -e libtop.la
+test ! -e sub1/libsub1.la
+test ! -e sub2/libsub2.la
+test ! -e sub2/sub21/libsub21.la
+test ! -e sub2/sub22/libsub22.la
+test ! -e ltconvtest
 
 $MAKE installcheck
 test -f installcheck-ok
diff --git a/t/maintclean-vpath.sh b/t/maintclean-vpath.sh
index edac287..77f6267 100755
--- a/t/maintclean-vpath.sh
+++ b/t/maintclean-vpath.sh
@@ -70,10 +70,10 @@ test -f sub/zap
 $test_cache
 
 $MAKE distclean
-test ! -f bar
-test ! -f Makefile
-test ! -f sub/Makefile
-test ! -f config.status
+test ! -e bar
+test ! -e Makefile
+test ! -e sub/Makefile
+test ! -e config.status
 test -f foo.c
 test -f sub/zap
 test -f ../sub/zap.sh
@@ -93,12 +93,12 @@ chmod u+w ..
 
 $MAKE maintainer-clean
 test -f ../sub/zap.sh
-test ! -f bar
-test ! -f foo.c
-test ! -f sub/zap
-test ! -f Makefile
-test ! -f sub/Makefile
-test ! -f config.status
-test ! -d ../autom4te.cache
+test ! -e bar
+test ! -e foo.c
+test ! -e sub/zap
+test ! -e Makefile
+test ! -e sub/Makefile
+test ! -e config.status
+test ! -e ../autom4te.cache
 
 :
diff --git a/t/maintclean.sh b/t/maintclean.sh
index 8c2d3a6..a2c0e6b 100755
--- a/t/maintclean.sh
+++ b/t/maintclean.sh
@@ -64,10 +64,10 @@ test -f sub/zap
 $test_cache
 
 $MAKE distclean
-test ! -f bar
-test ! -f Makefile
-test ! -f sub/Makefile
-test ! -f config.status
+test ! -e bar
+test ! -e Makefile
+test ! -e sub/Makefile
+test ! -e config.status
 test -f foo.c
 test -f sub/zap
 test -f sub/zap.sh
@@ -85,12 +85,12 @@ cd ..
 
 $MAKE maintainer-clean
 test -f sub/zap.sh
-test ! -f bar
-test ! -f foo.c
-test ! -f sub/zap
-test ! -f Makefile
-test ! -f sub/Makefile
-test ! -f config.status
-test ! -d autom4te.cache
+test ! -e bar
+test ! -e foo.c
+test ! -e sub/zap
+test ! -e Makefile
+test ! -e sub/Makefile
+test ! -e config.status
+test ! -e autom4te.cache
 
 :
diff --git a/t/maken3.sh b/t/maken3.sh
index 99e2305..6d580ec 100755
--- a/t/maken3.sh
+++ b/t/maken3.sh
@@ -152,7 +152,7 @@ check_targets ()
       if $have_dotmake; then
         grep "stamp-$target$" stdout || exit 1
       fi
-      test ! -f "stamp-$target$" || exit 1
+      test ! -e "stamp-$target" || exit 1
       ;;
     esac
     case $target in
@@ -161,7 +161,7 @@ check_targets ()
       if $have_dotmake; then
         grep "stamp-$target-sub" stdout || exit 1
       fi
-      test ! -f "sub/stamp-$target-sub" || exit 1
+      test ! -e "sub/stamp-$target-sub" || exit 1
       ;;
     esac
     case $target in
@@ -170,7 +170,7 @@ check_targets ()
       if $have_dotmake; then
         grep "should-not-be-executed" stdout || exit 1
       fi
-      test ! -f "sub2/sub2-$target-should-not-be-executed" || exit 1
+      test ! -e "sub2/sub2-$target-should-not-be-executed" || exit 1
       ;;
     esac
   done
diff --git a/t/man2.sh b/t/man2.sh
index 2ef0125..a7b7646 100755
--- a/t/man2.sh
+++ b/t/man2.sh
@@ -42,14 +42,14 @@ cwd=$(pwd) || fatal_ "getting current working directory"
 ./configure --prefix='' --mandir=/man
 $MAKE DESTDIR="$cwd/_inst" install
 
-test -f ./_inst/man/man2/foo.2
-test -f ./_inst/man/man4/foo.4
-test -f ./_inst/man/man4/bar.4
+test -f _inst/man/man2/foo.2
+test -f _inst/man/man4/foo.4
+test -f _inst/man/man4/bar.4
 
 $MAKE DESTDIR="$cwd/_inst" uninstall
 
-test ! -f ./_inst/man/man2/foo.2
-test ! -f ./_inst/man/man4/foo.4
-test ! -f ./_inst/man/man4/bar.4
+test ! -e _inst/man/man2/foo.2
+test ! -e _inst/man/man4/foo.4
+test ! -e _inst/man/man4/bar.4
 
 :
diff --git a/t/man5.sh b/t/man5.sh
index 28f80b1..d3c2270 100755
--- a/t/man5.sh
+++ b/t/man5.sh
@@ -53,17 +53,17 @@ test -f _inst/man/man2/nbaz-1.4.2
 test -f _inst/man/man3/bar.3
 test -f _inst/man/man3/nbar.3
 
-test ! -d _inst/man/man1
-test ! -d _inst/man/man4
-test ! -d _inst/man/man5
+test ! -e _inst/man/man1
+test ! -e _inst/man/man4
+test ! -e _inst/man/man5
 
 $MAKE DESTDIR="$cwd/_inst" uninstall
 
-test ! -f _inst/man/man2/foo.2
-test ! -f _inst/man/man2/nfoo.2
-test ! -f _inst/man/man2/baz-1.4.2
-test ! -f _inst/man/man2/nbaz-1.4.2
-test ! -f _inst/man/man3/bar.3
-test ! -f _inst/man/man3/nbar.3
+test ! -e _inst/man/man2/foo.2
+test ! -e _inst/man/man2/nfoo.2
+test ! -e _inst/man/man2/baz-1.4.2
+test ! -e _inst/man/man2/nbaz-1.4.2
+test ! -e _inst/man/man3/bar.3
+test ! -e _inst/man/man3/nbar.3
 
 :
diff --git a/t/man7.sh b/t/man7.sh
index cf670e2..5791b72 100755
--- a/t/man7.sh
+++ b/t/man7.sh
@@ -42,8 +42,8 @@ test -f bar.1
 test -f ../foo.1
 
 $MAKE maintainer-clean
-test ! -f bar.1
-test ! -f ../foo.1
+test ! -e bar.1
+test ! -e ../foo.1
 
 cd ..
 ./configure
@@ -53,7 +53,7 @@ test -f bar.1
 test -f foo.1
 
 $MAKE maintainer-clean
-test ! -f bar.1
-test ! -f foo.1
+test ! -e bar.1
+test ! -e foo.1
 
 :
diff --git a/t/missing-auxfile-stops-makefiles-creation.sh 
b/t/missing-auxfile-stops-makefiles-creation.sh
index 9c6c037..d1c0cd4 100755
--- a/t/missing-auxfile-stops-makefiles-creation.sh
+++ b/t/missing-auxfile-stops-makefiles-creation.sh
@@ -44,10 +44,10 @@ ls -l Makefile.in */Makefile.in || : # For debugging.
 # too strict semantics here, so don't check for it.  But the later
 # files shouldn't exist.
 test -f sub1/Makefile.in
-test ! -f sub2/Makefile.in
-test ! -f sub3/Makefile.in
-test ! -f sub4/Makefile.in
-test ! -f sub5/Makefile.in
+test ! -e sub2/Makefile.in
+test ! -e sub3/Makefile.in
+test ! -e sub4/Makefile.in
+test ! -e sub5/Makefile.in
 
 rm -f Makefile.in */Makefile.in
 
@@ -59,7 +59,7 @@ ls -l Makefile.in */Makefile.in || : # For debugging.
 test -f sub1/Makefile.in
 test -f sub2/Makefile.in
 test -f sub3/Makefile.in
-test ! -f sub4/Makefile.in
-test ! -f sub5/Makefile.in
+test ! -e sub4/Makefile.in
+test ! -e sub5/Makefile.in
 
 :
diff --git a/t/missing5.sh b/t/missing5.sh
index 4dcb022..6e575b6 100755
--- a/t/missing5.sh
+++ b/t/missing5.sh
@@ -60,5 +60,5 @@ done
 PATH=$save_PATH
 export PATH
 diff output-file my--output--file-o
-test ! -f ./--file-o
-test ! -f input
+test ! -e ./--file-o
+test ! -e input
diff --git a/t/mkinst2.sh b/t/mkinst2.sh
index c2f9bf6..daf8760 100755
--- a/t/mkinst2.sh
+++ b/t/mkinst2.sh
@@ -33,8 +33,8 @@ $AUTOMAKE
 ./configure --prefix "$(pwd)/sub"
 
 $MAKE installdirs
-test ! -d sub/man
+test ! -e sub/man
 $MAKE install
-test ! -d sub/man
+test ! -e sub/man
 
 :
diff --git a/t/nobase-nodist.sh b/t/nobase-nodist.sh
index 6024e5c..1ec466f 100755
--- a/t/nobase-nodist.sh
+++ b/t/nobase-nodist.sh
@@ -46,15 +46,15 @@ $AUTOMAKE -a
 $MAKE distdir
 
 ls -l $distdir $distdir/* # For debugging.
-test ! -f $distdir/foo1.el
-test ! -f $distdir/sub/foo2.el
-test ! -f $distdir/foo3.el
-test ! -f $distdir/sub/foo4.el
-test ! -f $distdir/bar1.java
-test ! -f $distdir/sub/bar2.java
-test ! -f $distdir/bar3.java
-test ! -f $distdir/sub/bar4.java
-test ! -f $distdir/baz1.py
-test ! -f $distdir/sub/baz2.py
+test ! -e $distdir/foo1.el
+test ! -e $distdir/sub/foo2.el
+test ! -e $distdir/foo3.el
+test ! -e $distdir/sub/foo4.el
+test ! -e $distdir/bar1.java
+test ! -e $distdir/sub/bar2.java
+test ! -e $distdir/bar3.java
+test ! -e $distdir/sub/bar4.java
+test ! -e $distdir/baz1.py
+test ! -e $distdir/sub/baz2.py
 
 :
diff --git a/t/output13.sh b/t/output13.sh
index a012d33..16bc0f9 100755
--- a/t/output13.sh
+++ b/t/output13.sh
@@ -40,9 +40,9 @@ $AUTOMAKE
 
 ./configure create=false
 $MAKE
-test ! -f file
-test ! -f link
-test ! -f stamp
+test ! -e file
+test ! -e link
+test ! -e stamp
 
 ./configure create=:
 test -f file
diff --git a/t/override-conditional-1.sh b/t/override-conditional-1.sh
index fbdcda7..42e0350 100755
--- a/t/override-conditional-1.sh
+++ b/t/override-conditional-1.sh
@@ -44,7 +44,7 @@ $AUTOCONF
 
 ./configure cond=no
 $MAKE ps
-test ! -r foobar
+test ! -e foobar
 
 ./configure cond=yes
 $MAKE ps
diff --git a/t/parallel-tests-driver-install.sh 
b/t/parallel-tests-driver-install.sh
index aa9ac12..9940661 100755
--- a/t/parallel-tests-driver-install.sh
+++ b/t/parallel-tests-driver-install.sh
@@ -49,8 +49,8 @@ cat stderr >&2
 
 ls -l . sub my_aux_dir # For debugging.
 test -f my_aux_dir/test-driver
-test ! -r test-driver
-test ! -r sub/test-driver
+test ! -e test-driver
+test ! -e sub/test-driver
 
 grep '^configure\.ac:3:.*installing.*my_aux_dir/test-driver' stderr
 
@@ -84,8 +84,8 @@ cat stderr >&2
 
 ls -l . dir build-aux # For debugging.
 test -f build-aux/test-driver
-test ! -r test-driver
-test ! -r dir/test-driver
+test ! -e test-driver
+test ! -e dir/test-driver
 
 grep '^dir/GNUmakefile\.am:2:.*installing.*build-aux/test-driver' stderr
 
diff --git a/t/parallel-tests-dry-run-2.sh b/t/parallel-tests-dry-run-2.sh
index 0bd6523..8e1e51e 100755
--- a/t/parallel-tests-dry-run-2.sh
+++ b/t/parallel-tests-dry-run-2.sh
@@ -50,11 +50,12 @@ make_n_ ()
 files='foo.log bar.log foo.trs bar.trs'
 
 for target in check recheck test-suite.log; do
-  test ! -f foo.log
-  test ! -f foo.trs
-  test ! -f bar.log
-  test ! -f bar.trs
-  test ! -f test-suite.log
+  make_n_ $target
+  test ! -e foo.log
+  test ! -e foo.trs
+  test ! -e bar.log
+  test ! -e bar.trs
+  test ! -e test-suite.log
 done
 
 echo 'exit 0' > foo.test
@@ -101,9 +102,9 @@ rm -f foo.log bar.trs
 chmod a-w .
 for target in check recheck test-suite.log $files; do
   make_n_ $target
-  test ! -f foo.log
+  test ! -e foo.log
   test -f foo.trs
-  test ! -f bar.trs
+  test ! -e bar.trs
   test -f bar.log
 done
 
diff --git a/t/parallel-tests-exeext.sh b/t/parallel-tests-exeext.sh
index e4eb260..22a5aad 100755
--- a/t/parallel-tests-exeext.sh
+++ b/t/parallel-tests-exeext.sh
@@ -56,9 +56,9 @@ touch x y.bin a.test b.test.bin
 $MAKE check
 ls -l # For debugging.
 test -f y.log
-test ! -r y.bin.log
+test ! -e y.bin.log
 test -f b.log
-test ! -r b.test.log
+test ! -e b.test.log
 
 $EGREP '^y\.log: y(\$\(EXEEXT\)|\.bin)' Makefile
 $EGREP '^\.test(\$\(EXEEXT\)|\.bin)\.log:' Makefile
diff --git a/t/parallel-tests-extra-programs.sh 
b/t/parallel-tests-extra-programs.sh
index 52eb2b0..0a7f97c 100755
--- a/t/parallel-tests-extra-programs.sh
+++ b/t/parallel-tests-extra-programs.sh
@@ -134,8 +134,8 @@ grep foofoofoo foo.log
 grep barbarbar bar.log
 grep yepyepyep baz.log
 # Files that shouldn't have been created.
-test ! -f none.log
-test ! -f test-suite.log
+test ! -e none.log
+test ! -e test-suite.log
 # Expected testsuite progress output.
 grep '^PASS: baz\.test$' stdout
 # Don't anchor the end of the next two patterns, to allow for non-empty
diff --git a/t/parallel-tests-fork-bomb.sh b/t/parallel-tests-fork-bomb.sh
index 2e6bfac..493e671 100755
--- a/t/parallel-tests-fork-bomb.sh
+++ b/t/parallel-tests-fork-bomb.sh
@@ -104,7 +104,7 @@ do_check ()
   cat output
   $FGREP '::OOPS::' output && exit 1 # Possible infinite recursion.
   # Check that at least we don't create a botched global log file.
-  test ! -f "$log"
+  test ! -e "$log"
   if using_gmake; then
     grep "[Cc]ircular.*dependency" output | $FGREP "$log"
     test $st -gt 0
diff --git a/t/parallel-tests-log-override-1.sh 
b/t/parallel-tests-log-override-1.sh
index 1fa5d9a..e4af517 100755
--- a/t/parallel-tests-log-override-1.sh
+++ b/t/parallel-tests-log-override-1.sh
@@ -78,7 +78,7 @@ test -f test-suite.log && exit 99 # Sanity check.
 # Check that we can override the testsuite log file at runtime.
 TEST_SUITE_LOG=zardoz.log $MAKE -e check
 ls -l
-test ! -f test-suite.log
+test ! -e test-suite.log
 cat zardoz.log
 test_log_expected zardoz.log
 # Sanity check the distribution too (this also does minimal checks on
@@ -90,7 +90,7 @@ TEST_SUITE_LOG=zardoz.log $MAKE -e distcheck
 cp orig test-suite.log
 TEST_SUITE_LOG=zardoz.log $MAKE -e clean
 ls -l
-test ! -f zardoz.log
+test ! -e zardoz.log
 diff orig test-suite.log
 
 # Check that the default testsuite log doesn't get unduly modified.
@@ -103,7 +103,7 @@ diff orig test-suite.log
 test_log_expected TheLogFile
 TEST_SUITE_LOG=TheLogFile $MAKE -e clean
 ls -l
-test ! -f TheLogFile
+test ! -e TheLogFile
 diff orig test-suite.log
 
 :
diff --git a/t/parallel-tests-log-override-2.sh 
b/t/parallel-tests-log-override-2.sh
index e690da9..a747b00 100755
--- a/t/parallel-tests-log-override-2.sh
+++ b/t/parallel-tests-log-override-2.sh
@@ -68,10 +68,10 @@ do
   cat pass.log
   cat skip.log
   cat partial.log
-  test ! -f test-suite.log
-  test ! -f pass2.log
-  test ! -f skip2.log
-  test ! -f fail.log
+  test ! -e test-suite.log
+  test ! -e pass2.log
+  test ! -e skip2.log
+  test ! -e fail.log
   grep '^PASS: pass\.test$' stdout
   grep '^SKIP: skip\.test$' stdout
   $FGREP 'SKIP: skip' partial.log
diff --git a/t/parallel-tests-recheck-depends-on-all.sh 
b/t/parallel-tests-recheck-depends-on-all.sh
index df3cdfc..af53061 100755
--- a/t/parallel-tests-recheck-depends-on-all.sh
+++ b/t/parallel-tests-recheck-depends-on-all.sh
@@ -66,7 +66,7 @@ $AUTOMAKE -a
 $MAKE check >stdout && { cat stdout; exit 1; }
 cat stdout
 count_test_results total=3 pass=1 fail=2 skip=0 xfail=0 xpass=0 error=0
-test ! -f status
+test ! -e status
 
 $sleep
 : > status
diff --git a/t/parallel-tests.sh b/t/parallel-tests.sh
index f6ebb85..a1062d3 100755
--- a/t/parallel-tests.sh
+++ b/t/parallel-tests.sh
@@ -77,10 +77,10 @@ test -f bar.log
 test -f foo.log
 
 $MAKE clean
-test ! -f baz.log
-test ! -f bar.log
-test ! -f foo.log
-test ! -f test-suite.log
+test ! -e baz.log
+test ! -e bar.log
+test ! -e foo.log
+test ! -e test-suite.log
 
 # Check dependencies: baz.test needs to run before bar.test,
 # but foo.test is not needed.
@@ -94,7 +94,7 @@ grep '^ERROR: bar\.test$' stdout
 
 test -f baz.log
 test -f bar.log
-test ! -f foo.log
+test ! -e foo.log
 test -f test-suite.log
 
 # Upon a lazy rerun, foo.test should be run, but the others shouldn't.
diff --git a/t/parallel-tests2.sh b/t/parallel-tests2.sh
index 5e28cc0..ae9bd38 100755
--- a/t/parallel-tests2.sh
+++ b/t/parallel-tests2.sh
@@ -84,8 +84,8 @@ test -f bla
 
 # "make clean" should remove HTML files.
 $MAKE clean
-test ! -f mylog.html
-test ! -f bla
+test ! -e mylog.html
+test ! -e bla
 
 # Always create the HTML output, even if there were no failures.
 rm -f mylog.html
@@ -100,8 +100,8 @@ test -f mylog.html
 # Create HTML output for an individual test.
 $MAKE foo.html
 grep 'this is .*foo\.test' foo.html
-test ! -f bar.html
-test ! -f baz.html
+test ! -e bar.html
+test ! -e baz.html
 
 # Create HTML output for individual tests.  Since the pre-existing log
 # files are expected to be used for the HTML conversion, this should
@@ -112,35 +112,35 @@ grep 'this is .*baz\.test' baz.html
 
 # HTML output removed by mostlyclean.
 $MAKE mostlyclean
-test ! -f foo.html
-test ! -f bar.html
-test ! -f baz.html
-test ! -f mylog.html
+test ! -e foo.html
+test ! -e bar.html
+test ! -e baz.html
+test ! -e mylog.html
 
 # check-html and recheck-html should cause check_SCRIPTS to be created,
 # and recheck-html should rerun no tests if check has not been run.
 
 $MAKE clean
-test ! -f mylog.html
+test ! -e mylog.html
 env TEST_LOGS=foo.log $MAKE -e check-html
 test -f bla
 test -f foo.log
-test ! -f bar.log
-test ! -f baz.log
+test ! -e bar.log
+test ! -e baz.log
 test -f mylog.html
 
 $MAKE clean
 env TESTS=foo.test $MAKE -e recheck-html
 test -f bla
-test ! -f foo.log
+test ! -e foo.log
 test -f mylog.html
 
 $MAKE clean
 $MAKE recheck-html
 test -f bla
-test ! -f foo.log
-test ! -f bar.log
-test ! -f baz.log
+test ! -e foo.log
+test ! -e bar.log
+test ! -e baz.log
 test -f mylog.html
 
 :
diff --git a/t/parallel-tests8.sh b/t/parallel-tests8.sh
index 3e04759..eb48f93 100755
--- a/t/parallel-tests8.sh
+++ b/t/parallel-tests8.sh
@@ -68,7 +68,7 @@ mkdir build
 cd build
 ../configure
 $MAKE check
-test ! -f ../foo.log
+test ! -e ../foo.log
 $MAKE distcheck
 
 :
diff --git a/t/parallel-tests9.sh b/t/parallel-tests9.sh
index b22e82d..583c674 100755
--- a/t/parallel-tests9.sh
+++ b/t/parallel-tests9.sh
@@ -71,9 +71,9 @@ grep '^FAIL: baz\.test$' stdout
 $MAKE clean
 $MAKE recheck
 test -f bla
-test ! -f foo.log
-test ! -f bar.log
-test ! -f baz.log
+test ! -e foo.log
+test ! -e bar.log
+test ! -e baz.log
 test -f mylog.log
 
 :
diff --git a/t/pr300-ltlib.sh b/t/pr300-ltlib.sh
index 423be7d..4926834 100755
--- a/t/pr300-ltlib.sh
+++ b/t/pr300-ltlib.sh
@@ -52,7 +52,7 @@ cwd=$(pwd) || fatal_ "getting current working directory"
 ./configure --prefix "$cwd/inst" --libdir "$cwd/inst/lib"
 
 # A rule in the Makefile should create subdir.
-test ! -d subdir
+test ! -e subdir
 $MAKE >stdout || { cat stdout; exit 1; }
 cat stdout
 test -d subdir
diff --git a/t/pr401.sh b/t/pr401.sh
index 20a1d4a..b104476 100755
--- a/t/pr401.sh
+++ b/t/pr401.sh
@@ -100,7 +100,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 ./configure
-test ! -d lib/lib
+test ! -e lib/lib
 $MAKE distcheck
 
 ## -------------------------------------------- ##
@@ -144,8 +144,8 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
-test ! -d src/lib
-test ! -d 'src/$(top_builddir)'
+test ! -e src/lib
+test ! -e 'src/$(top_builddir)'
 $MAKE
 $MAKE check
 $MAKE distclean
diff --git a/t/pr401b.sh b/t/pr401b.sh
index 48228a2..5d0adc0 100755
--- a/t/pr401b.sh
+++ b/t/pr401b.sh
@@ -101,7 +101,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE -a
 ./configure
-test ! -d lib/lib
+test ! -e lib/lib
 $MAKE distcheck
 
 ## -------------------------------------------- ##
@@ -144,8 +144,8 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
-test ! -d src/lib
-test ! -d 'src/$(top_builddir)'
+test ! -e src/lib
+test ! -e 'src/$(top_builddir)'
 $MAKE
 $MAKE check
 $MAKE distclean
diff --git a/t/pr401c.sh b/t/pr401c.sh
index a606f84..3336f13 100755
--- a/t/pr401c.sh
+++ b/t/pr401c.sh
@@ -102,7 +102,7 @@ $ACLOCAL
 $AUTOCONF
 $AUTOMAKE
 ./configure
-test ! -d lib/lib
+test ! -e lib/lib
 $MAKE distcheck
 
 ## -------------------------------------------- ##
@@ -147,8 +147,8 @@ $AUTOCONF
 $AUTOMAKE --add-missing
 ./configure
 $MAKE
-test ! -d src/lib
-test ! -d 'src/$(top_builddir)'
+test ! -e src/lib
+test ! -e 'src/$(top_builddir)'
 $MAKE check
 $MAKE distclean
 
diff --git a/t/python-dist.sh b/t/python-dist.sh
index de20b40..0b6a4b0 100755
--- a/t/python-dist.sh
+++ b/t/python-dist.sh
@@ -73,6 +73,6 @@ $AUTOMAKE
 
 $MAKE disttest
 # It's not distributed, hence it shouldn't be needlessly generated.
-test ! -f my-nodist.py
+test ! -e my-nodist.py
 
 :
diff --git a/t/python-pr10995.sh b/t/python-pr10995.sh
index a822ce1..c530a13 100755
--- a/t/python-pr10995.sh
+++ b/t/python-pr10995.sh
@@ -48,8 +48,8 @@ test -f py-compile
 $MAKE install
 test -f inst/py/yes.py
 test -f inst/py/yes.pyc
-test ! -f inst/py/no.py
-test ! -f inst/py/no.pyc
+test ! -e inst/py/no.py
+test ! -e inst/py/no.pyc
 
 $MAKE disttest
 
diff --git a/t/python-virtualenv.sh b/t/python-virtualenv.sh
index 90d090e..51ae78e 100755
--- a/t/python-virtualenv.sh
+++ b/t/python-virtualenv.sh
@@ -164,7 +164,7 @@ $MAKE distclean
 pythondir=$py_site pyexecdir=$py_site
 export pythondir pyexecdir
 $MAKE -e install
-test ! -d bad-prefix
+test ! -e bad-prefix
 $MAKE -e test-install
 $MAKE test-run
 $MAKE -e uninstall
diff --git a/t/python10.sh b/t/python10.sh
index 5df42a1..5465810 100755
--- a/t/python10.sh
+++ b/t/python10.sh
@@ -61,26 +61,26 @@ $MAKE install
 test -f "$inst/your/two.py"
 test -f "$inst/your/two.pyc"
 test -f "$inst/your/two.pyo"
-test ! -f "$inst/my/one.py"
-test ! -f "$inst/my/one.pyc"
-test ! -f "$inst/my/one.pyo"
+test ! -e "$inst/my/one.py"
+test ! -e "$inst/my/one.pyc"
+test ! -e "$inst/my/one.pyo"
 $MAKE uninstall
-test ! -f "$inst/your/two.py"
-test ! -f "$inst/your/two.pyc"
-test ! -f "$inst/your/two.pyo"
+test ! -e "$inst/your/two.py"
+test ! -e "$inst/your/two.pyc"
+test ! -e "$inst/your/two.pyo"
 
 ../configure --prefix=$cwd/"$inst" one=1
 $MAKE install
-test ! -f "$inst/your/two.py"
-test ! -f "$inst/your/two.pyc"
-test ! -f "$inst/your/two.pyo"
+test ! -e "$inst/your/two.py"
+test ! -e "$inst/your/two.pyc"
+test ! -e "$inst/your/two.pyo"
 test -f "$inst/my/one.py"
 test -f "$inst/my/one.pyc"
 test -f "$inst/my/one.pyo"
 $MAKE uninstall
-test ! -f "$inst/my/one.py"
-test ! -f "$inst/my/one.pyc"
-test ! -f "$inst/my/one.pyo"
+test ! -e "$inst/my/one.py"
+test ! -e "$inst/my/one.pyc"
+test ! -e "$inst/my/one.pyo"
 
 $MAKE disttest
 
diff --git a/t/remake-gnulib-add-header.sh b/t/remake-gnulib-add-header.sh
index e0c7f06..127fa1f 100755
--- a/t/remake-gnulib-add-header.sh
+++ b/t/remake-gnulib-add-header.sh
@@ -89,7 +89,7 @@ $AUTOCONF
 
 $MAKE
 ls -l
-test ! -f stdio.h
+test ! -e stdio.h
 # Also try our build rules in a VPATH build.
 $MAKE distcheck
 
diff --git a/t/remake-gnulib-remove-header.sh b/t/remake-gnulib-remove-header.sh
index b235346..9044a04 100755
--- a/t/remake-gnulib-remove-header.sh
+++ b/t/remake-gnulib-remove-header.sh
@@ -114,7 +114,7 @@ for vpath in : false; do
   using_gmake || $MAKE Makefile
   $MAKE
   ls -l
-  test ! -f stdio.h
+  test ! -e stdio.h
 
   # And now simulate that we want our custom stdio.h back.
 
diff --git a/t/remake-moved-m4-file.sh b/t/remake-moved-m4-file.sh
index cd6453b..68ea5a8 100755
--- a/t/remake-moved-m4-file.sh
+++ b/t/remake-moved-m4-file.sh
@@ -55,9 +55,9 @@ $MAKE test
 $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/d2/foo.m4
-test ! -f $distdir/d1/foo.m4
+test ! -e $distdir/d1/foo.m4
 test -f $distdir/d1/macros.m4
-test ! -f $distdir/d2/macros.m4
+test ! -e $distdir/d2/macros.m4
 
 # Move both files at once.
 mv d1/macros.m4 d3/macros.m4
@@ -68,9 +68,9 @@ $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/d3/foo.m4
 test -f $distdir/d3/macros.m4
-test ! -f $distdir/d1/foo.m4
-test ! -f $distdir/d2/foo.m4
-test ! -f $distdir/d1/macros.m4
-test ! -f $distdir/d2/macros.m4
+test ! -e $distdir/d1/foo.m4
+test ! -e $distdir/d2/foo.m4
+test ! -e $distdir/d1/macros.m4
+test ! -e $distdir/d2/macros.m4
 
 :
diff --git a/t/remake-renamed-am.sh b/t/remake-renamed-am.sh
index e93bc74..378aa26 100755
--- a/t/remake-renamed-am.sh
+++ b/t/remake-renamed-am.sh
@@ -52,7 +52,7 @@ echo 'all-local:; echo ok > has-run-2' > zardoz.am
 echo 'include $(srcdir)/zardoz.am' > Makefile.am
 using_gmake || $MAKE Makefile
 $MAKE
-test ! -f has-run-1
+test ! -e has-run-1
 test -f has-run-2
 
 :
diff --git a/t/remake-renamed-m4-file.sh b/t/remake-renamed-m4-file.sh
index bb82129..ee25c58 100755
--- a/t/remake-renamed-m4-file.sh
+++ b/t/remake-renamed-m4-file.sh
@@ -55,7 +55,7 @@ $MAKE test
 $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/m4/bar.m4
-test ! -f $distdir/m4/foo.m4
+test ! -e $distdir/m4/foo.m4
 
 mv m4/macros.m4 m4/defs.m4
 using_gmake || $MAKE Makefile
@@ -63,7 +63,7 @@ $MAKE test
 $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/m4/defs.m4
-test ! -f $distdir/m4/macros.m4
+test ! -e $distdir/m4/macros.m4
 
 # Rename both files at once.
 
@@ -75,9 +75,9 @@ $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/m4/quux.m4
 test -f $distdir/acinclude.m4
-test ! -f $distdir/m4/foo.m4
-test ! -f $distdir/m4/bar.m4
-test ! -f $distdir/m4/macros.m4
-test ! -f $distdir/m4/defs.m4
+test ! -e $distdir/m4/foo.m4
+test ! -e $distdir/m4/bar.m4
+test ! -e $distdir/m4/macros.m4
+test ! -e $distdir/m4/defs.m4
 
 :
diff --git a/t/remake-renamed-m4-macro-and-file.sh 
b/t/remake-renamed-m4-macro-and-file.sh
index e857d23..89d2164 100755
--- a/t/remake-renamed-m4-macro-and-file.sh
+++ b/t/remake-renamed-m4-macro-and-file.sh
@@ -62,7 +62,7 @@ $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/m4/bar.m4
 test -f $distdir/m4/macros.m4
-test ! -f $distdir/m4/foo.m4
+test ! -e $distdir/m4/foo.m4
 
 # Rename both at once.
 
@@ -80,7 +80,7 @@ $MAKE distdir
 ls -l $distdir $distdir/*
 test -f $distdir/m4/quux.m4
 test -f $distdir/m4/defs.m4
-test ! -f $distdir/m4/bar.m4
-test ! -f $distdir/m4/macros.m4
+test ! -e $distdir/m4/bar.m4
+test ! -e $distdir/m4/macros.m4
 
 :
diff --git a/t/remake1a.sh b/t/remake1a.sh
index 0a900f7..6460fc3 100755
--- a/t/remake1a.sh
+++ b/t/remake1a.sh
@@ -47,7 +47,7 @@ $MAKE Makefile
 cd ..
 # Check that no spurious Makefile has been created in the
 # top-level directory.
-test ! -r Makefile
+test ! -e Makefile
 # Check that the Makefile in the subdirectory has been properly
 # updated.
 $FGREP "$fingerprint" sub/Makefile
diff --git a/t/remake8a.sh b/t/remake8a.sh
index 65fd4bd..9a9765c 100755
--- a/t/remake8a.sh
+++ b/t/remake8a.sh
@@ -74,7 +74,7 @@ using_gmake || $MAKE Makefile
 $MAKE
 cat bar
 grep '!Baz!' bar
-test ! -r foo
+test ! -e foo
 $MAKE distcheck
 
 rm -f bar
@@ -105,7 +105,7 @@ using_gmake || $MAKE Makefile
 $MAKE
 cat quux
 grep '!Zardoz!' quux
-test ! -r bar
+test ! -e bar
 $MAKE distcheck
 
 rm -f quux
diff --git a/t/remake8b.sh b/t/remake8b.sh
index 64f135e..850347a 100755
--- a/t/remake8b.sh
+++ b/t/remake8b.sh
@@ -76,7 +76,7 @@ using_gmake || $MAKE Makefile
 $MAKE
 cat bar
 grep '!Baz!' bar
-test ! -r foo
+test ! -e foo
 $MAKE distcheck
 
 rm -f bar
@@ -107,7 +107,7 @@ using_gmake || $MAKE Makefile
 $MAKE
 cat quux
 grep '!Zardoz!' quux
-test ! -r bar
+test ! -e bar
 $MAKE distcheck
 
 rm -f quux
diff --git a/t/repeated-options.sh b/t/repeated-options.sh
index 53dc666..c300996 100755
--- a/t/repeated-options.sh
+++ b/t/repeated-options.sh
@@ -77,6 +77,6 @@ $MAKE clean
 $MAKE distcheck
 ls -l
 test -f $me-1.0.tar.bz2
-test ! -r $me-1.0.tar.gz
+test ! -e $me-1.0.tar.gz
 
 :
diff --git a/t/self-check-cleanup.tap b/t/self-check-cleanup.tap
index b2bc7f2..2c5a9a9 100755
--- a/t/self-check-cleanup.tap
+++ b/t/self-check-cleanup.tap
@@ -80,9 +80,7 @@ chmod 500 t/dummy.dir/sub t/dummy.dir
 command_ok_ "pre-cleanup can deal with low-perms testdir" \
             $AM_TEST_RUNNER_SHELL -c  '. ./defs' t/dummy.sh
 command_ok_ "pre-cleanup removed low-perms testdir" \
-            eval 'test ! -f t/dummy.dir \
-               && test ! -d t/dummy.dir \
-               && test ! -r t/dummy.dir'
+            test ! -e t/dummy.dir
 
 do_clean_setup
 
@@ -107,9 +105,7 @@ command_ok_ "post-cleanup can deal with low-perms testdir" \
   :
 ' t/dummy.sh
 command_ok_ "post-cleanup removed null-perms testdir" \
-            eval 'test ! -f t/dummy.dir \
-               && test ! -d t/dummy.dir \
-               && test ! -r t/dummy.dir'
+            test ! -e t/dummy.dir
 
 do_clean_setup
 
diff --git a/t/self-check-dir.tap b/t/self-check-dir.tap
index 96b831a..94555a6 100755
--- a/t/self-check-dir.tap
+++ b/t/self-check-dir.tap
@@ -35,8 +35,7 @@ echo "$cwd"
 
 do_check ()
 {
-  test ! -d _self.dir || rm -rf _self.dir \
-    || framework_failure_ "cleaning up _self.dir"
+  rm -rf _self.dir || framework_failure_ "cleaning up _self.dir"
   command_ok_ "$1 [$2]" $AM_TEST_RUNNER_SHELL -c "
     $2
     . ./defs || exit 99
@@ -66,9 +65,7 @@ do_check 'do not pre-populate testdir' \
 
 do_check 'do not create nor chdir in testdir' \
          'am_create_testdir=no' \
-         'test ! -d t/_self.dir || exit 1
-          test ! -f t/_self.dir || exit 1
-          test ! -r t/_self.dir || exit 1
+         'test ! -e t/_self.dir || exit 1
           grep "self-check-dir\.tap" Makefile || exit 1
           case $(pwd) in '"$cwd"') : ;; *) exit 1;; esac'
 
diff --git a/t/serial-tests.sh b/t/serial-tests.sh
index 95cee71..26ce68f 100755
--- a/t/serial-tests.sh
+++ b/t/serial-tests.sh
@@ -62,7 +62,7 @@ $ACLOCAL
 $AUTOMAKE
 grep TEST Makefile.in # For debugging.
 hasnt_parallel_tests Makefile.in
-test ! -r test-driver
+test ! -e test-driver
 cd ..
 
 cd two
@@ -74,7 +74,7 @@ has_parallel_tests aMakefile.in
 hasnt_parallel_tests bMakefile.in
 mv aMakefile.in aMakefile.sav
 mv bMakefile.in bMakefile.sav
-test ! -r test-driver
+test ! -e test-driver
 test -f config/test-driver
 $AUTOMAKE
 diff aMakefile.sav aMakefile.in
diff --git a/t/stamph2.sh b/t/stamph2.sh
index c666391..a6f5895 100755
--- a/t/stamph2.sh
+++ b/t/stamph2.sh
@@ -58,12 +58,12 @@ rm -f stamp-h*
 rm -f sdir1/stamp-h*
 
 ./config.status sdir1/7.h 2.h sdir1/4.h
-test ! -f stamp-h1
+test ! -e stamp-h1
 test -f stamp-h2
-test ! -f stamp-h3
+test ! -e stamp-h3
 test -f sdir1/stamp-h4
-test ! -f sdir1/stamp-h5
-test ! -f sdir1/stamp-h6
+test ! -e sdir1/stamp-h5
+test ! -e sdir1/stamp-h6
 test -f sdir1/stamp-h7
 
 :
diff --git a/t/subdir-distclean.sh b/t/subdir-distclean.sh
index 74dac71..25274fd 100755
--- a/t/subdir-distclean.sh
+++ b/t/subdir-distclean.sh
@@ -66,12 +66,12 @@ test -f sub1/run
 touch sub2/oops sub1/subsub/oops
 
 $MAKE distclean
-test ! -f sub1/run
-test ! -f sub2/oops
-test ! -f sub1/subsub/oops
-test ! -f sub1/Makefile
-test ! -f sub2/Makefile
-test ! -f sub1/subsub/Makefile
+test ! -e sub1/run
+test ! -e sub2/oops
+test ! -e sub1/subsub/oops
+test ! -e sub1/Makefile
+test ! -e sub2/Makefile
+test ! -e sub1/subsub/Makefile
 
 mkdir build
 cd build
@@ -88,12 +88,12 @@ test -f sub1/run
 touch sub2/oops sub1/subsub/oops
 
 $MAKE maintainer-clean
-test ! -f sub1/run
-test ! -f sub2/oops
-test ! -f sub1/subsub/oops
-test ! -f sub1/Makefile
-test ! -f sub2/Makefile
-test ! -f sub1/subsub/Makefile
+test ! -e sub1/run
+test ! -e sub2/oops
+test ! -e sub1/subsub/oops
+test ! -e sub1/Makefile
+test ! -e sub2/Makefile
+test ! -e sub1/subsub/Makefile
 
 cd ..
 
diff --git a/t/subdir-with-slash.sh b/t/subdir-with-slash.sh
index 661f8fe..0a3330b 100755
--- a/t/subdir-with-slash.sh
+++ b/t/subdir-with-slash.sh
@@ -50,6 +50,6 @@ test -f $distdir/src/subdir/foo
 test -f $distdir/src/subdir2/foo
 $MAKE clean
 $MAKE distclean
-test ! -f src/subdir2/Makefile
+test ! -e src/subdir2/Makefile
 
 :
diff --git a/t/subobj-clean-lt-pr10697.sh b/t/subobj-clean-lt-pr10697.sh
index 4ac4630..6cbc021 100755
--- a/t/subobj-clean-lt-pr10697.sh
+++ b/t/subobj-clean-lt-pr10697.sh
@@ -117,9 +117,9 @@ $MAKE mostlyclean
 ls -l . sub1 sub2
 for i in 1 2; do
   for j in a b c d e f; do
-    test ! -f sub$i/$j.o
-    test ! -f sub$i/$j.obj
-    test ! -f sub$i/$j.lo
+    test ! -e sub$i/$j.o
+    test ! -e sub$i/$j.obj
+    test ! -e sub$i/$j.lo
     test -f sub$i/$j.c || exit 99 # Sanity check
   done
 done
@@ -153,14 +153,14 @@ test -f sub2/a.$OBJEXT
 
 # ... but they get removed by "make mostlyclean" ...
 $MAKE mostlyclean
-test ! -f sub1/a.$OBJEXT
-test ! -f sub2/d.$OBJEXT
+test ! -e sub1/a.$OBJEXT
+test ! -e sub2/d.$OBJEXT
 
 # ... and do not get rebuilt ...
 $MAKE clean
 $MAKE all
-test ! -f sub1/a.$OBJEXT
-test ! -f sub2/d.$OBJEXT
+test ! -e sub1/a.$OBJEXT
+test ! -e sub2/d.$OBJEXT
 
 # ... while the non-stale files do.
 test -f sub1/b.$OBJEXT
diff --git a/t/subobj-clean-pr10697.sh b/t/subobj-clean-pr10697.sh
index ff419d2..e7be1c5 100755
--- a/t/subobj-clean-pr10697.sh
+++ b/t/subobj-clean-pr10697.sh
@@ -113,8 +113,8 @@ $MAKE mostlyclean
 ls -l . sub1 sub2
 for i in 1 2; do
   for j in a b c d e f; do
-    test ! -f sub$i/$j.o
-    test ! -f sub$i/$j.obj
+    test ! -e sub$i/$j.o
+    test ! -e sub$i/$j.obj
     test -f sub$i/$j.c || exit 99 # Sanity check
   done
 done
@@ -148,14 +148,14 @@ test -f sub2/a.$OBJEXT
 
 # ... but they get removed by "make mostlyclean" ...
 $MAKE mostlyclean
-test ! -f sub1/a.$OBJEXT
-test ! -f sub2/d.$OBJEXT
+test ! -e sub1/a.$OBJEXT
+test ! -e sub2/d.$OBJEXT
 
 # ... and do not get rebuilt ...
 $MAKE clean
 $MAKE all
-test ! -f sub1/a.$OBJEXT
-test ! -f sub2/d.$OBJEXT
+test ! -e sub1/a.$OBJEXT
+test ! -e sub2/d.$OBJEXT
 
 # ... while the non-stale files do.
 test -f sub1/b.$OBJEXT
diff --git a/t/subpkg-yacc.sh b/t/subpkg-yacc.sh
index 3d107cf..0ce1a7c 100755
--- a/t/subpkg-yacc.sh
+++ b/t/subpkg-yacc.sh
@@ -120,7 +120,7 @@ cd ..
 $MAKE dist
 test -f lib-dist-hook-has-run
 test -f subpack-1.tar.gz
-test ! -d subpack-1 # Make sure "dist" cleans up after itself.
+test ! -e subpack-1 # Make sure "dist" cleans up after itself.
 
 rm -f lib-dist-hook-has-run subpack-1.tar.gz
 
diff --git a/t/subpkg.sh b/t/subpkg.sh
index 72fcb0a..c8ce125 100755
--- a/t/subpkg.sh
+++ b/t/subpkg.sh
@@ -107,7 +107,7 @@ cd ..
 ./configure
 $MAKE
 $MAKE distcheck
-test ! -d subpack-1 # Make sure distcheck cleans up after itself.
+test ! -e subpack-1 # Make sure distcheck cleans up after itself.
 test -f subpack-1.tar.gz
 
 :
diff --git a/t/suffix3.tap b/t/suffix3.tap
index 2498ae1..15c562d 100755
--- a/t/suffix3.tap
+++ b/t/suffix3.tap
@@ -77,6 +77,6 @@ done
 
 # Intermediate files should not be distributed.
 command_ok_ "make distdir" $MAKE distdir
-command_ok_ "intermediate file not distributed" test ! -r $me-1.0/foo.cc
+command_ok_ "intermediate file not distributed" test ! -e $me-1.0/foo.cc
 
 :
diff --git a/t/symlink2.sh b/t/symlink2.sh
index 930b107..f1f9dc5 100755
--- a/t/symlink2.sh
+++ b/t/symlink2.sh
@@ -27,6 +27,6 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 
 test -f install-sh
-test ! -r Zardoz
+test ! -e Zardoz
 
 :
diff --git a/t/tagsub.sh b/t/tagsub.sh
index 9b3fe47..9103805 100755
--- a/t/tagsub.sh
+++ b/t/tagsub.sh
@@ -42,5 +42,7 @@ $FGREP sub/TAGS TAGS
 $FGREP iguana.h sub/TAGS
 
 $MAKE distclean
-test ! -f sub/TAGS
-test ! -f TAGS
+test ! -e sub/TAGS
+test ! -e TAGS
+
+:
diff --git a/t/tap-basic.sh b/t/tap-basic.sh
index b3b79de..4781ce5 100755
--- a/t/tap-basic.sh
+++ b/t/tap-basic.sh
@@ -132,7 +132,7 @@ cat stdout
 
 count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
 
-test ! -f success.log
+test ! -e success.log
 test -f bail.log
 test -f test-suite.log
 
@@ -153,8 +153,8 @@ count_test_results total=3 pass=1 fail=0 xpass=0 xfail=1 
skip=1 error=0
 
 test -f ok.test
 test -f ok.log
-test ! -f success.log
-test ! -f bail.log
+test ! -e success.log
+test ! -e bail.log
 test -f test-suite.log
 
 $EGREP '(bail|success)\.test' stdout && exit 1
diff --git a/t/tap-log.sh b/t/tap-log.sh
index 4a4f7e6..32cb475 100755
--- a/t/tap-log.sh
+++ b/t/tap-log.sh
@@ -87,8 +87,8 @@ chmod a+x *.test
 
 TEST_SUITE_LOG=my.log $MAKE -e check && exit 1
 ls -l # For debugging.
-test ! -f test-suite.log
-test ! -f global.log
+test ! -e test-suite.log
+test ! -e global.log
 test -f my.log
 st=0
 for result in pass fail xfail xpass skip error; do
@@ -118,13 +118,13 @@ $FGREP 'error.test' my.log
 touch error2.log test-suite.log global.log
 TEST_SUITE_LOG=my.log $MAKE -e mostlyclean
 ls -l # For debugging.
-test ! -f my.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
+test ! -e my.log
+test ! -e pass.log
+test ! -e fail.log
+test ! -e xfail.log
+test ! -e xpass.log
+test ! -e skip.log
+test ! -e error.log
 # "make mostlyclean" shouldn't remove unrelated log files.
 test -f error2.log
 test -f test-suite.log
@@ -135,8 +135,8 @@ rm -f *.log
 VERBOSE=yes $MAKE check >stdout && { cat stdout; exit 1; }
 cat stdout
 cat global.log
-test ! -f my.log
-test ! -f test-suite.log
+test ! -e my.log
+test ! -e test-suite.log
 # Check that VERBOSE causes the global testsuite log to be
 # emitted on stdout.
 out=$(cat stdout)
@@ -146,13 +146,13 @@ case $out in *"$log"*) ;; *) exit 1;; esac
 touch error2.log test-suite.log my.log
 $MAKE clean
 ls -l # For debugging.
-test ! -f global.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
+test ! -e global.log
+test ! -e pass.log
+test ! -e fail.log
+test ! -e xfail.log
+test ! -e xpass.log
+test ! -e skip.log
+test ! -e error.log
 # "make clean" shouldn't remove unrelated log files.
 test -f error2.log
 test -f test-suite.log
diff --git a/t/tap-recheck.sh b/t/tap-recheck.sh
index 58118c4..877f70e 100755
--- a/t/tap-recheck.sh
+++ b/t/tap-recheck.sh
@@ -108,14 +108,14 @@ for vpath in : false; do
   : A "make recheck" in a clean tree should run no tests.
   do_recheck --pass
   cat test-suite.log
-  test ! -r a.run
-  test ! -r a.log
-  test ! -r b.run
-  test ! -r b.log
-  test ! -r c.run
-  test ! -r c.log
-  test ! -r d.run
-  test ! -r d.log
+  test ! -e a.run
+  test ! -e a.log
+  test ! -e b.run
+  test ! -e b.log
+  test ! -e c.run
+  test ! -e c.log
+  test ! -e d.run
+  test ! -e d.log
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
 
   : Run the tests for the first time.
@@ -134,7 +134,7 @@ for vpath in : false; do
   do_recheck --fail
   # a.test has been successful the first time, so no need to re-run it.
   # Similar considerations apply to similar checks, below.
-  test ! -r a.run
+  test ! -e a.run
   test -f b.run
   test -f c.run
   test -f d.run
@@ -143,8 +143,8 @@ for vpath in : false; do
   : Let us make the first part of c.test pass.
   echo OK > c.pass
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
   test -f d.run
   count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
@@ -152,8 +152,8 @@ for vpath in : false; do
   : Let us make also the second part of c.test pass.
   echo KO > c.xfail
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
   test -f d.run
   count_test_results total=5 pass=1 fail=1 xpass=0 xfail=2 skip=1 error=0
@@ -161,9 +161,9 @@ for vpath in : false; do
   : Nothing changed, so only d.test should be run.
   for i in 1 2; do
     do_recheck --fail
-    test ! -r a.run
-    test ! -r b.run
-    test ! -r c.run
+    test ! -e a.run
+    test ! -e b.run
+    test ! -e c.run
     test -f d.run
     count_test_results total=2 pass=0 fail=1 xpass=0 xfail=0 skip=1 error=0
   done
@@ -183,9 +183,9 @@ for vpath in : false; do
     echo 'Bail out!'
 END
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
   test -f d.run
   count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
 
@@ -193,18 +193,18 @@ END
   echo 'test_count=1' > d.count
   echo : > d.extra
   do_recheck --pass
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
   test -f d.run
   count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
 
   : All tests have been successful or skipped, nothing should be re-run.
   do_recheck --pass
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
-  test ! -r d.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
+  test ! -e d.run
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
 
   cd $srcdir
diff --git a/t/test-driver-custom-multitest-recheck.sh 
b/t/test-driver-custom-multitest-recheck.sh
index d1b4e5c..ae31397 100755
--- a/t/test-driver-custom-multitest-recheck.sh
+++ b/t/test-driver-custom-multitest-recheck.sh
@@ -109,14 +109,14 @@ for vpath in : false; do
   : A "make recheck" in a clean tree should run no tests.
   do_recheck --pass
   cat test-suite.log
-  test ! -r a.run
-  test ! -r a.log
-  test ! -r b.run
-  test ! -r b.log
-  test ! -r c.run
-  test ! -r c.log
-  test ! -r d.run
-  test ! -r d.log
+  test ! -e a.run
+  test ! -e a.log
+  test ! -e b.run
+  test ! -e b.log
+  test ! -e c.run
+  test ! -e c.log
+  test ! -e d.run
+  test ! -e d.log
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
 
   : Run the tests for the first time.
@@ -135,7 +135,7 @@ for vpath in : false; do
   do_recheck --fail
   # a.test has been successful the first time, so no need to re-run it.
   # Similar considerations apply to similar checks, below.
-  test ! -r a.run
+  test ! -e a.run
   test -f b.run
   test -f c.run
   test -f d.run
@@ -144,8 +144,8 @@ for vpath in : false; do
   : Let us make the first part of c.test pass.
   echo OK > c.pass
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
   test -f d.run
   count_test_results total=5 pass=1 fail=1 xpass=1 xfail=1 skip=1 error=0
@@ -153,8 +153,8 @@ for vpath in : false; do
   : Let us make also the second part of c.test pass.
   echo KO > c.xfail
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
   test -f d.run
   count_test_results total=5 pass=1 fail=1 xpass=0 xfail=2 skip=1 error=0
@@ -162,9 +162,9 @@ for vpath in : false; do
   : Nothing changed, so only d.test should be run.
   for i in 1 2; do
     do_recheck --fail
-    test ! -r a.run
-    test ! -r b.run
-    test ! -r c.run
+    test ! -e a.run
+    test ! -e b.run
+    test ! -e c.run
     test -f d.run
     count_test_results total=2 pass=0 fail=1 xpass=0 xfail=0 skip=1 error=0
   done
@@ -183,27 +183,27 @@ for vpath in : false; do
     echo ERROR: e 2
 END
   do_recheck --fail
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
   test -f d.run
   count_test_results total=11 pass=2 fail=4 xpass=1 xfail=0 skip=2 error=2
 
   : Let us finally make d.test pass.
   echo : > d.extra
   do_recheck --pass
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
   test -f d.run
   count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=1 error=0
 
   : All tests have been successful or skipped, nothing should be re-run.
   do_recheck --pass
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
-  test ! -r d.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
+  test ! -e d.run
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
 
   cd $srcdir
diff --git a/t/test-driver-custom-multitest-recheck2.sh 
b/t/test-driver-custom-multitest-recheck2.sh
index 9d8a233..623cbad 100755
--- a/t/test-driver-custom-multitest-recheck2.sh
+++ b/t/test-driver-custom-multitest-recheck2.sh
@@ -98,9 +98,9 @@ for vpath in : false; do
     env "$var=" $MAKE -e recheck >stdout || { cat stdout; exit 1; }
     cat stdout
     count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-    test ! -r a.run
-    test ! -r b.run
-    test ! -r c.run
+    test ! -e a.run
+    test ! -e b.run
+    test ! -e c.run
   done
   unset var
 
@@ -109,18 +109,18 @@ for vpath in : false; do
     || { cat stdout; exit 1; }
   cat stdout
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
 
   : b.test failed, it should be re-run.  And make it pass this time.
   echo OK > b.ok
   TEST_LOGS=b.log $MAKE -e recheck >stdout \
     || { cat stdout; exit 1; }
   cat stdout
-  test ! -r a.run
+  test ! -e a.run
   test -f b.run
-  test ! -r c.run
+  test ! -e c.run
   count_test_results total=2 pass=0 fail=0 xpass=0 xfail=1 skip=1 error=0
 
   rm -f *.run
@@ -130,16 +130,16 @@ for vpath in : false; do
     || { cat stdout; exit 1; }
   cat stdout
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
   TESTS='a.test b.test' $MAKE -e recheck >stdout \
     || { cat stdout; exit 1; }
   cat stdout
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
 
   : No need to re-run a.test anymore, but c.test should be rerun,
   : as it contained an XPASS.  And this time, make it fail with
@@ -149,8 +149,8 @@ for vpath in : false; do
     && { cat stdout; exit 1; }
   cat stdout
   count_test_results total=1 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=1
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
 
   rm -f *.run *.err
@@ -163,8 +163,8 @@ for vpath in : false; do
     || { cat stdout; exit 1; }
   cat stdout
   count_test_results total=1 pass=1 fail=0 xpass=0 xfail=0 skip=0 error=0
-  test ! -r a.run
-  test ! -r b.run
+  test ! -e a.run
+  test ! -e b.run
   test -f c.run
 
   rm -f *.run *.err *.ok
@@ -174,9 +174,9 @@ for vpath in : false; do
   $MAKE recheck >stdout || { cat stdout; exit 1; }
   cat stdout
   count_test_results total=0 pass=0 fail=0 xpass=0 xfail=0 skip=0 error=0
-  test ! -r a.run
-  test ! -r b.run
-  test ! -r c.run
+  test ! -e a.run
+  test ! -e b.run
+  test ! -e c.run
 
   cd $srcdir
 
diff --git a/t/test-driver-custom.sh b/t/test-driver-custom.sh
index 714f058..f8306ff 100755
--- a/t/test-driver-custom.sh
+++ b/t/test-driver-custom.sh
@@ -124,8 +124,8 @@ $MAKE
 VERBOSE=yes $MAKE check
 ls -l . sub
 
-test ! -r BAD.log
-test ! -r BAD.trs
+test ! -e BAD.log
+test ! -e BAD.trs
 
 echo 'chk-wrapper 1.chk --am-chk --chk' > 1.exp
 echo 'test-wrapper 2.test -am-test -test' > 2.exp
diff --git a/t/test-driver-fail.sh b/t/test-driver-fail.sh
index fed309e..10a4b1e 100755
--- a/t/test-driver-fail.sh
+++ b/t/test-driver-fail.sh
@@ -46,7 +46,7 @@ $AUTOMAKE
 
 # The testsuite driver does not exist.
 $MAKE check && exit 1
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 # The testsuite driver exists and create the test log files, but fails.
 
@@ -59,6 +59,6 @@ END
 chmod a+x oops
 
 $MAKE check && exit 1
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 :
diff --git a/t/test-log.sh b/t/test-log.sh
index b622ee7..0ae77b3 100755
--- a/t/test-log.sh
+++ b/t/test-log.sh
@@ -90,8 +90,8 @@ $AUTOMAKE -a
 
 TEST_SUITE_LOG=my.log $MAKE -e check && exit 1
 ls -l # For debugging.
-test ! -f test-suite.log
-test ! -f global.log
+test ! -e test-suite.log
+test ! -e global.log
 test -f my.log
 st=0
 for result in pass fail xfail xpass skip error; do
@@ -132,13 +132,13 @@ have_rst_section 'ERROR: error' my.log
 touch error2.log test-suite.log global.log
 TEST_SUITE_LOG=my.log $MAKE -e mostlyclean
 ls -l # For debugging.
-test ! -f my.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
+test ! -e my.log
+test ! -e pass.log
+test ! -e fail.log
+test ! -e xfail.log
+test ! -e xpass.log
+test ! -e skip.log
+test ! -e error.log
 # "make mostlyclean" shouldn't remove unrelated log files.
 test -f error2.log
 test -f test-suite.log
@@ -149,8 +149,8 @@ rm -f *.log
 VERBOSE=yes $MAKE check >stdout && { cat stdout; exit 1; }
 cat stdout
 cat global.log
-test ! -f my.log
-test ! -f test-suite.log
+test ! -e my.log
+test ! -e test-suite.log
 # Check that VERBOSE causes the global testsuite log to be
 # emitted on stdout.
 out=$(cat stdout)
@@ -160,13 +160,13 @@ case $out in *"$log"*) ;; *) exit 1;; esac
 touch error2.log test-suite.log my.log
 $MAKE clean
 ls -l # For debugging.
-test ! -f global.log
-test ! -f pass.log
-test ! -f fail.log
-test ! -f xfail.log
-test ! -f xpass.log
-test ! -f skip.log
-test ! -f error.log
+test ! -e global.log
+test ! -e pass.log
+test ! -e fail.log
+test ! -e xfail.log
+test ! -e xpass.log
+test ! -e skip.log
+test ! -e error.log
 # "make clean" shouldn't remove unrelated log files.
 test -f error2.log
 test -f test-suite.log
diff --git a/t/test-missing.sh b/t/test-missing.sh
index 441a838..7cf1d52 100755
--- a/t/test-missing.sh
+++ b/t/test-missing.sh
@@ -42,19 +42,19 @@ cat output
 test -f ok.log
 grep '^PASS: ok\.test' output
 $FGREP 'zardoz.log' output
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 TESTS='zardoz2.test' $MAKE -e check >output 2>&1 \
   && { cat output; exit 1; }
 cat output
 $FGREP 'zardoz2.log' output
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 TEST_LOGS='zardoz3.log' $MAKE -e check >output 2>&1 \
   && { cat output; exit 1; }
 cat output
 $FGREP 'zardoz3.log' output
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 # The errors should persist even after 'test-suite.log'
 # has been created.
@@ -66,6 +66,6 @@ rm -f zardoz.test
 $MAKE check >output 2>&1 && { cat output; exit 1; }
 cat output
 $FGREP 'zardoz.log' output
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 :
diff --git a/t/test-missing2.sh b/t/test-missing2.sh
index 7592073..e08bf2d 100755
--- a/t/test-missing2.sh
+++ b/t/test-missing2.sh
@@ -37,10 +37,10 @@ $AUTOMAKE -a
 ./configure
 
 $MAKE foobar1.log foobar2.log || exit 99
-test ! -f foobar1.log || exit 99
-test ! -f foobar1.trs || exit 99
-test ! -f foobar2.log || exit 99
-test ! -f foobar2.trs || exit 99
+test ! -e foobar1.log || exit 99
+test ! -e foobar1.trs || exit 99
+test ! -e foobar2.log || exit 99
+test ! -e foobar2.trs || exit 99
 
 $MAKE check >output 2>&1 && { cat output; exit 1; }
 cat output
@@ -48,6 +48,6 @@ grep 'test-suite\.log.*foobar1\.log' output
 grep 'test-suite\.log.*foobar1\.trs' output
 grep 'test-suite\.log.*foobar2\.log' output
 grep 'test-suite\.log.*foobar2\.trs' output
-test ! -f test-suite.log
+test ! -e test-suite.log
 
 :
diff --git a/t/test-trs-basic.sh b/t/test-trs-basic.sh
index 2a1c106..f0c30b8 100755
--- a/t/test-trs-basic.sh
+++ b/t/test-trs-basic.sh
@@ -92,9 +92,9 @@ test -f foo.trs
 test -f bar.trs
 test -f sub/zardoz.trs
 $MAKE clean
-test ! -f foo.trs
-test ! -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e foo.trs
+test ! -e bar.trs
+test ! -e sub/zardoz.trs
 # Unrelated '.trs' files shouldn't be removed.
 test -f unrelated.trs
 test -f sub/foo.trs
@@ -105,9 +105,9 @@ test -f foo.trs
 test -f bar.trs
 test -f sub/zardoz.trs
 $MAKE mostlyclean
-test ! -f foo.trs
-test ! -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e foo.trs
+test ! -e bar.trs
+test ! -e sub/zardoz.trs
 # Unrelated '.trs' files shouldn't be removed.
 test -f unrelated.trs
 test -f sub/foo.trs
@@ -118,18 +118,18 @@ test -f sub/foo.trs
 
 TESTS=foo.test $MAKE -e check
 test -f foo.trs
-test ! -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e bar.trs
+test ! -e sub/zardoz.trs
 $MAKE clean
-test ! -f foo.trs
+test ! -e foo.trs
 TESTS='foo.test bar.sh' $MAKE -e check
 test -f foo.trs
 test -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e sub/zardoz.trs
 # "make clean" shouldn't remove '.trs' files for tests not in $(TESTS).
 TESTS=bar.sh $MAKE -e clean
 test -f foo.trs
-test ! -f bar.trs
+test ! -e bar.trs
 
 $MAKE clean
 
@@ -138,20 +138,20 @@ $MAKE clean
 #
 
 TEST_LOGS=sub/zardoz.log $MAKE -e check
-test ! -f foo.trs
-test ! -f bar.trs
+test ! -e foo.trs
+test ! -e bar.trs
 test -f sub/zardoz.trs
 $MAKE clean
-test ! -f sub/zardoz.trs
+test ! -e sub/zardoz.trs
 TEST_LOGS='foo.log bar.log' $MAKE -e check
 test -f foo.trs
 test -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e sub/zardoz.trs
 # "make clean" shouldn't remove '.trs' files for tests whose log
 # is not in $(TEST_LOGS).
 TEST_LOGS=foo.log $MAKE -e clean
-test ! -f foo.trs
+test ! -e foo.trs
 test -f bar.trs
-test ! -f sub/zardoz.trs
+test ! -e sub/zardoz.trs
 
 :
diff --git a/t/test-trs-recover.sh b/t/test-trs-recover.sh
index 9235a1d..95a9ddc 100755
--- a/t/test-trs-recover.sh
+++ b/t/test-trs-recover.sh
@@ -53,21 +53,21 @@ $MAKE check
 rm -f foo.trs bar.trs baz.trs
 $MAKE foo.trs
 test -f foo.trs
-test ! -f bar.trs
-test ! -f baz.trs
+test ! -e bar.trs
+test ! -e baz.trs
 
 : Recreate by hand, several at the same time.
 rm -f foo.trs bar.trs baz.trs
 $MAKE foo.trs bar.trs
 test -f foo.trs
 test -f bar.trs
-test ! -f baz.trs
+test ! -e baz.trs
 
 : Recreate by hand, with a failing test.
 rm -f foo.trs bar.trs
 TEST_STATUS=1 $MAKE bar.trs baz.trs >stdout || { cat stdout; exit 1; }
 cat stdout
-test ! -f foo.trs
+test ! -e foo.trs
 test -f bar.trs
 test -f baz.trs
 grep '^FAIL: bar\.test' stdout
@@ -97,15 +97,15 @@ grep '^PASS: baz\.test' stdout
 rm -f foo.trs bar.trs baz.trs
 TESTS=foo.test $MAKE -e check
 test -f foo.trs
-test ! -f bar.trs
-test ! -f baz.trs
+test ! -e bar.trs
+test ! -e baz.trs
 
 : Recreate with a "make check" with redefined TEST_LOGS.
 rm -f foo.trs bar.trs baz.trs
 TEST_LOGS=bar.log $MAKE -e check
-test ! -f foo.trs
+test ! -e foo.trs
 test -f bar.trs
-test ! -f baz.trs
+test ! -e baz.trs
 
 : Interactions with "make recheck" are OK.
 rm -f foo.trs bar.trs baz.log baz.trs
@@ -113,8 +113,8 @@ $MAKE recheck >stdout || { cat stdout; exit 1; }
 cat stdout
 test -f foo.trs
 test -f bar.trs
-test ! -f baz.trs
-test ! -f baz.log
+test ! -e baz.trs
+test ! -e baz.log
 grep '^PASS: foo\.test' stdout
 grep '^PASS: bar\.test' stdout
 grep 'baz\.test' stdout && exit 1
diff --git a/t/test-trs-recover2.sh b/t/test-trs-recover2.sh
index ef231fc..b8e56b5 100755
--- a/t/test-trs-recover2.sh
+++ b/t/test-trs-recover2.sh
@@ -40,8 +40,7 @@ $AUTOMAKE -a
 ./configure
 
 : > t
-chmod a-r t
-test ! -r t || exit 77
+chmod a-r t && test ! -r t || skip_ "you can still read unreadable files"
 rm -f t
 
 : Create the required log files.
diff --git a/t/txinfo13.sh b/t/txinfo13.sh
index 6c06942..53a2ee7 100755
--- a/t/txinfo13.sh
+++ b/t/txinfo13.sh
@@ -61,5 +61,7 @@ cd build
 ../configure
 $MAKE distcheck
 test -f ../subdir/main.info
-test ! -f subdir/main.info
+test ! -e subdir/main.info
 test -f ../subdir/main.info.bak
+
+:
diff --git a/t/txinfo16.sh b/t/txinfo16.sh
index f294bff..f4c1cee 100755
--- a/t/txinfo16.sh
+++ b/t/txinfo16.sh
@@ -47,11 +47,11 @@ cd build
 ../configure
 $MAKE
 test -f ../main.info
-test ! -f main.info
+test ! -e main.info
 test -f ../stamp-vti
-test ! -f stamp-vti
+test ! -e stamp-vti
 test -f ../version.texi
-test ! -f version.texi
+test ! -e version.texi
 
 cd ..
 rm -rf build make.info* stamp-vti version.texi
@@ -82,7 +82,7 @@ $MAKE
 # stamp-vti is newer than version.texi, the 'version.texi: stamp-vti'
 # rule is always triggered.  Still that's not a reason for 'make'
 # to think 'version.texi' has been created...
-test ! -f main.info
+test ! -e main.info
 $MAKE dvi
 test -f main.dvi
 
diff --git a/t/txinfo19.sh b/t/txinfo19.sh
index 011c655..71af13a 100755
--- a/t/txinfo19.sh
+++ b/t/txinfo19.sh
@@ -50,8 +50,8 @@ test -f _inst/main.i21
 
 # They should be uninstalled too.
 $MAKE uninstall
-test ! -f _inst/main.i1
-test ! -f _inst/main.i21
+test ! -e _inst/main.i1
+test ! -e _inst/main.i21
 
 # Make sure rebuild rules erase old .iNN files when they run makeinfo.
 $sleep
@@ -59,14 +59,14 @@ touch main.texi
 test -f main.i1
 test -f main.i21
 $MAKE
-test ! -f main.i1
-test ! -f main.i21
+test ! -e main.i1
+test ! -e main.i21
 
 # Finally, we also want them erased by maintainer-clean.
 : > main.i7
 : > main.i39
 $MAKE maintainer-clean
-test ! -f main.i7
-test ! -f main.i39
+test ! -e main.i7
+test ! -e main.i39
 
 :
diff --git a/t/txinfo20.sh b/t/txinfo20.sh
index 4add0c2..3d644f5 100755
--- a/t/txinfo20.sh
+++ b/t/txinfo20.sh
@@ -71,6 +71,8 @@ cp main.texi sub/main.texi
 mv main.old main.texi
 $MAKE && exit 1
 test -f main
-test ! -f main-1
+test ! -e main-1
 test -f sub/main
 test -f sub/main-1
+
+:
diff --git a/t/txinfo21.sh b/t/txinfo21.sh
index 9936c0e6..5a3da15 100755
--- a/t/txinfo21.sh
+++ b/t/txinfo21.sh
@@ -100,9 +100,9 @@ $MAKE html
 is_newest main.html main.texi
 
 $MAKE clean
-test ! -d main.html
-test ! -d sub/main2.html
-test ! -d rec/main3.html
+test ! -e main.html
+test ! -e sub/main2.html
+test ! -e rec/main3.html
 
 # Test production of a single HTML file.
 MAKEINFOFLAGS=--no-split $MAKE -e html
@@ -110,9 +110,9 @@ test -f main.html
 test -f sub/main2.html
 test -f rec/main3.html
 $MAKE clean
-test ! -f main.html
-test ! -f sub/main2.html
-test ! -f rec/main3.html
+test ! -e main.html
+test ! -e sub/main2.html
+test ! -e rec/main3.html
 
 # Make sure AM_MAKEINFOHTMLFLAGS is supported, and override AM_MAKEINFO.
 cat >>Makefile.am <<\EOF
@@ -127,27 +127,27 @@ test -f main.html
 test -f sub/main2.html
 test -d rec/main3.html
 $MAKE clean
-test ! -f main.html
-test ! -f sub/main2.html
-test ! -d rec/main3.html
+test ! -e main.html
+test ! -e sub/main2.html
+test ! -e rec/main3.html
 
 $MAKE install-html
 test -f share/$me/html/main.html
 test -f share/$me/html/main2.html
 test -d share/$me/html/main3.html
 $MAKE uninstall
-test ! -f share/$me/html/main.html
-test ! -f share/$me/html/main2.html
-test ! -d share/$me/html/main3.html
+test ! -e share/$me/html/main.html
+test ! -e share/$me/html/main2.html
+test ! -e share/$me/html/main3.html
 
 $MAKE install-dvi
 test -f share/$me/dvi/main.dvi
 test -f share/$me/dvi/main2.dvi
 test -f share/$me/dvi/main3.dvi
 $MAKE uninstall
-test ! -f share/$me/dvi/main.dvi
-test ! -f share/$me/dvi/main2.dvi
-test ! -f share/$me/dvi/main3.dvi
+test ! -e share/$me/dvi/main.dvi
+test ! -e share/$me/dvi/main2.dvi
+test ! -e share/$me/dvi/main3.dvi
 
 dvips --help || skip_ "dvips is missing"
 
@@ -156,9 +156,9 @@ test -f share/$me/ps/main.ps
 test -f share/$me/ps/main2.ps
 test -f share/$me/ps/main3.ps
 $MAKE uninstall
-test ! -f share/$me/ps/main.ps
-test ! -f share/$me/ps/main2.ps
-test ! -f share/$me/ps/main3.ps
+test ! -e share/$me/ps/main.ps
+test ! -e share/$me/ps/main2.ps
+test ! -e share/$me/ps/main3.ps
 
 pdfetex --help || pdftex --help \
   || skip_ "pdftex and pdfetex are both missing"
@@ -169,9 +169,9 @@ test -f share/$me/pdf/main2.pdf
 test -f share/$me/pdf/main3.pdf
 test -f share/$me/pdf/hello
 $MAKE uninstall
-test ! -f share/$me/pdf/main.pdf
-test ! -f share/$me/pdf/main2.pdf
-test ! -f share/$me/pdf/main3.pdf
-test ! -f share/$me/pdf/hello
+test ! -e share/$me/pdf/main.pdf
+test ! -e share/$me/pdf/main2.pdf
+test ! -e share/$me/pdf/main3.pdf
+test ! -e share/$me/pdf/hello
 
 :
diff --git a/t/txinfo22.sh b/t/txinfo22.sh
index 3c2d70c..efde953 100755
--- a/t/txinfo22.sh
+++ b/t/txinfo22.sh
@@ -55,8 +55,8 @@ $ACLOCAL
 $AUTOMAKE --add-missing
 $AUTOCONF
 
-test ! -f texinfo.tex
-test ! -f aux1/texinfo.tex
+test ! -e texinfo.tex
+test ! -e aux1/texinfo.tex
 test -f tex/texinfo.tex
 
 ./configure
diff --git a/t/txinfo23.sh b/t/txinfo23.sh
index 02b2ca1..2db2b58 100755
--- a/t/txinfo23.sh
+++ b/t/txinfo23.sh
@@ -61,6 +61,6 @@ cd build
 ../configure
 $MAKE distcheck
 test -f subdir/main.info
-test ! -f ../subdir/main.info
+test ! -e ../subdir/main.info
 
 :
diff --git a/t/txinfo24.sh b/t/txinfo24.sh
index e7bc964..0245a46 100755
--- a/t/txinfo24.sh
+++ b/t/txinfo24.sh
@@ -48,7 +48,7 @@ mkdir build
 cd build
 ../configure
 $MAKE
-test ! -f ../main.info
+test ! -e ../main.info
 test -f main.info
 
 cd ..
@@ -74,7 +74,7 @@ cd build
 $MAKE
 # main.info should be rebuilt in the current directory.
 test -f main.info
-test ! -f ../main.info
+test ! -e ../main.info
 $MAKE dvi
 test -f main.dvi
 
diff --git a/t/txinfo25.sh b/t/txinfo25.sh
index 15f5544..427d070 100755
--- a/t/txinfo25.sh
+++ b/t/txinfo25.sh
@@ -61,8 +61,8 @@ cd build
 ../configure
 $MAKE
 test -f main.info
-test ! -f ../main.info
-test ! -f other.info
+test ! -e ../main.info
+test ! -e other.info
 test -f ../other.info
 
 cd ..
@@ -101,7 +101,7 @@ $MAKE
 # rule is always triggered.  Still that's not a reason for 'make'
 # to think 'version.texi' has been created...
 test -f main.info
-test ! -f other.info
+test ! -e other.info
 $MAKE dvi
 test -f main.dvi
 test -f other.dvi
diff --git a/t/txinfo26.sh b/t/txinfo26.sh
index cc88a6e..5401fc9 100755
--- a/t/txinfo26.sh
+++ b/t/txinfo26.sh
@@ -48,11 +48,6 @@ $MAKE distclean
 
 abscwd=$(pwd) || fatal_ "getting current working directory"
 
-case $abscwd in
-  *\ * | *\    *)
-    skip_ "this test might fail in a directory containing white spaces";;
-esac
-
 mkdir build
 cd build
 ../configure --srcdir="$abscwd" \
@@ -62,12 +57,14 @@ cd build
 $MAKE install
 
 test -f ../main.info
-test ! -f ./main.info
+test ! -e ./main.info
 test -f _inst/info/main.info
 
 $MAKE uninstall
-test ! -f _inst/info/main.info
+test ! -e _inst/info/main.info
 test -f ../main.info
 
 # Multiple uninstall should not fail.
 $MAKE uninstall
+
+:
diff --git a/t/txinfo28.sh b/t/txinfo28.sh
index e6613b4..5b02a05 100755
--- a/t/txinfo28.sh
+++ b/t/txinfo28.sh
@@ -82,7 +82,7 @@ cd build
 $MAKE
 # main.info should be rebuilt in the current directory.
 test -f main.info
-test ! -f ../main.info
+test ! -e ../main.info
 $MAKE dvi
 test -f main.dvi
 
diff --git a/t/txinfo30.sh b/t/txinfo30.sh
index db8f708..8c6aa91 100755
--- a/t/txinfo30.sh
+++ b/t/txinfo30.sh
@@ -58,6 +58,6 @@ test -f bar.info
 # We should not create a missing bar.info.
 rm -f bar.info
 $MAKE && exit 1
-test ! -f bar.info
+test ! -e bar.info
 
 :
diff --git a/t/txinfo33.sh b/t/txinfo33.sh
index 28c9f1a..dda277d 100755
--- a/t/txinfo33.sh
+++ b/t/txinfo33.sh
@@ -103,20 +103,20 @@ test -f sub/another.ps
 
 $MAKE clean
 
-test ! -f main.dvi
-test ! -f main.ps
-test ! -f main.html && test ! -d main.html
-test ! -f main.pdf
-test ! -f other.pdf
-test ! -f sub/another.pdf
-test ! -f sub/yetanother.pdf
-
-test ! -f other.dvi
-test ! -f other.html && test ! -d other.html
-test ! -f other.ps
-test ! -f sub/another.dvi
-test ! -f sub/another.html && test ! -d sub/another.html
-test ! -f sub/another.ps
+test ! -e main.dvi
+test ! -e main.ps
+test ! -e main.html
+test ! -e main.pdf
+test ! -e other.pdf
+test ! -e sub/another.pdf
+test ! -e sub/yetanother.pdf
+
+test ! -e other.dvi
+test ! -e other.html
+test ! -e other.ps
+test ! -e sub/another.dvi
+test ! -e sub/another.html
+test ! -e sub/another.ps
 
 ./configure
 $MAKE
diff --git a/t/txinfo5b.sh b/t/txinfo5b.sh
index c41a75f..8064711 100755
--- a/t/txinfo5b.sh
+++ b/t/txinfo5b.sh
@@ -37,6 +37,6 @@ echo '@setfilename ian.info' > ian.texi
 $ACLOCAL
 $AUTOMAKE --cygnus
 $AUTOMAKE -a --cygnus
-test ! -f texinfo.tex
+test ! -e texinfo.tex
 
 :
diff --git a/t/uninstall-pr9578.sh b/t/uninstall-pr9578.sh
index 6d852c4..cb870b3 100755
--- a/t/uninstall-pr9578.sh
+++ b/t/uninstall-pr9578.sh
@@ -43,25 +43,25 @@ $AUTOCONF
 ./configure --prefix="$(pwd)/inst"
 
 $MAKE uninstall
-test ! -d inst
+test ! -e inst
 
 rm -rf inst
 
 $MAKE install-exec
 test -f inst/bin/foo || exit 99 # Sanity check.
 $MAKE uninstall
-test ! -f inst/bin/foo
+test ! -e inst/bin/foo
 
 $MAKE install-data
 test -f inst/share/bar || exit 99 # Sanity check.
 $MAKE uninstall
-test ! -f inst/share/bar
+test ! -e inst/share/bar
 
 rm -rf inst
 
 $MAKE install-exec
 test -f inst/bin/foo || exit 99 # Sanity check.
 $MAKE uninstall
-test ! -f inst/bin/foo
+test ! -e inst/bin/foo
 
 :
diff --git a/t/vala-headers.sh b/t/vala-headers.sh
index c86c4e6..48dbf81 100755
--- a/t/vala-headers.sh
+++ b/t/vala-headers.sh
@@ -82,6 +82,6 @@ for h in $headers; do test -f $h; done
 $MAKE distcheck
 
 $MAKE maintainer-clean
-for h in $headers; do test ! -f $h; done
+for h in $headers; do test ! -e $h; done
 
 :
diff --git a/t/vala-parallel.sh b/t/vala-parallel.sh
index 3b659a8..d03080d 100755
--- a/t/vala-parallel.sh
+++ b/t/vala-parallel.sh
@@ -54,8 +54,8 @@ test -f  zardoz_vala.stamp
 
 $MAKE maintainer-clean -j4
 ls -l # For debugging.
-for x in main 1 2 3 4 5 6; do test ! -f $x.c; done
-test ! -f zardoz_vala.stamp
+for x in main 1 2 3 4 5 6; do test ! -e $x.c; done
+test ! -e zardoz_vala.stamp
 
 mkdir build
 cd build
@@ -68,7 +68,7 @@ test -f ../zardoz_vala.stamp
 $MAKE distcheck -j4
 
 $MAKE maintainer-clean -j2
-for x in main 1 2 3 4 5 6; do test ! -f ../$x.c; done
-test ! -f ../zardoz_vala.stamp
+for x in main 1 2 3 4 5 6; do test ! -e ../$x.c; done
+test ! -e ../zardoz_vala.stamp
 
 :
diff --git a/t/vala-vpath.sh b/t/vala-vpath.sh
index 9a7ff76..9874f68 100755
--- a/t/vala-vpath.sh
+++ b/t/vala-vpath.sh
@@ -83,9 +83,9 @@ test -f ../bar_vala.stamp
 test -f ../zardoz.h
 test -f ../hello.c
 $MAKE maintainer-clean
-test ! -f ../zardoz.h
-test ! -f ../hello.c
-test ! -f ../foo_vala.stamp
-test ! -f ../bar_vala.stamp
+test ! -e ../zardoz.h
+test ! -e ../hello.c
+test ! -e ../foo_vala.stamp
+test ! -e ../bar_vala.stamp
 
 :
diff --git a/t/vala3.sh b/t/vala3.sh
index 4818150..d9ecdea 100755
--- a/t/vala3.sh
+++ b/t/vala3.sh
@@ -58,8 +58,8 @@ test -f src/zardoz.c
 test -f src_zardoz_vala.stamp
 $MAKE distcheck
 $MAKE maintainer-clean
-test ! -f src/zardoz.c
-test ! -f src_zardoz_vala.stamp
+test ! -e src/zardoz.c
+test ! -e src_zardoz_vala.stamp
 
 mkdir build
 cd build
diff --git a/t/vala5.sh b/t/vala5.sh
index 3c55cf1..bc29346 100755
--- a/t/vala5.sh
+++ b/t/vala5.sh
@@ -97,7 +97,7 @@ mv config.sav config.status
 ./config.status
 
 $MAKE maintainer-clean
-test ! -f src/xfoo.c
-test ! -f src/xbar.c
+test ! -e src/xfoo.c
+test ! -e src/xbar.c
 
 :
diff --git a/t/yacc-auxdir.sh b/t/yacc-auxdir.sh
index 0643edc..eb7357d 100755
--- a/t/yacc-auxdir.sh
+++ b/t/yacc-auxdir.sh
@@ -47,8 +47,8 @@ END
 $ACLOCAL
 $AUTOMAKE -a
 test -f aux1/ylwrap
-test ! -f ylwrap
-test ! -f sub/ylwrap
+test ! -e ylwrap
+test ! -e sub/ylwrap
 grep -i 'ylwrap' Makefile.in sub/Makefile.in # For debugging.
 $FGREP '$(top_srcdir)/aux1/ylwrap' Makefile.in
 $FGREP '$(top_srcdir)/aux1/ylwrap' sub/Makefile.in
diff --git a/t/yacc-basic.sh b/t/yacc-basic.sh
index 520533e..4835235 100755
--- a/t/yacc-basic.sh
+++ b/t/yacc-basic.sh
@@ -102,7 +102,7 @@ test -f bar-parse.c
 ./configure # We must re-create 'Makefile'.
 $MAKE maintainer-clean
 ls -l
-test ! -f parse.c
-test ! -f bar-parse.c
+test ! -e parse.c
+test ! -e bar-parse.c
 
 :
diff --git a/t/yacc-clean-cxx.sh b/t/yacc-clean-cxx.sh
index 68b7b1f..20d04d1 100755
--- a/t/yacc-clean-cxx.sh
+++ b/t/yacc-clean-cxx.sh
@@ -126,20 +126,20 @@ for target in clean distclean; do
   ls -l . sub1 sub2
   test -f sub1/parsefoo.cxx
   test -f sub1/bar-parsebar.cc
-  test ! -r sub1/parsebaz.y++
-  test ! -r sub1/parsebaz.c++
-  test ! -r sub1/parsequx.ypp
-  test ! -r sub1/qux-parsequx.cpp
+  test ! -e sub1/parsebaz.y++
+  test ! -e sub1/parsebaz.c++
+  test ! -e sub1/parsequx.ypp
+  test ! -e sub1/qux-parsequx.cpp
   test -f sub2/parsefoo.cxx
   test -f sub2/parsefoo.hxx
   test -f sub2/bar-parsebar.cc
   test -f sub2/bar-parsebar.hh
-  test ! -r sub2/parsebaz.y++
-  test ! -r sub2/parsebaz.c++
-  test ! -r sub2/parsebaz.h++
-  test ! -r sub2/parsequx.ypp
-  test ! -r sub2/qux-parsequx.cpp
-  test ! -r sub2/qux-parsequx.hpp
+  test ! -e sub2/parsebaz.y++
+  test ! -e sub2/parsebaz.c++
+  test ! -e sub2/parsebaz.h++
+  test ! -e sub2/parsequx.ypp
+  test ! -e sub2/qux-parsequx.cpp
+  test ! -e sub2/qux-parsequx.hpp
 done
 
 cp config.sav config.status
@@ -149,16 +149,13 @@ $MAKE maintainer-clean
 ls -l . sub1 sub2
 test -f sub1/parsefoo.yxx
 test -f sub1/parsebar.yy
-test ! -r sub1/parsefoo.cxx
-test ! -r sub1/bar-parsebar.cc
+test ! -e sub1/parsefoo.cxx
+test ! -e sub1/bar-parsebar.cc
 test -f sub2/parsefoo.yxx
 test -f sub2/parsebar.yy
-test ! -r sub2/parsefoo.cxx
-test ! -r sub2/parsefoo.hxx
-test ! -r sub2/bar-parsebar.cc
-test ! -r sub2/bar-parsebar.hh
-
-cp config.sav config.status
-./config.status # re-create Makefile
+test ! -e sub2/parsefoo.cxx
+test ! -e sub2/parsefoo.hxx
+test ! -e sub2/bar-parsebar.cc
+test ! -e sub2/bar-parsebar.hh
 
 :
diff --git a/t/yacc-clean.sh b/t/yacc-clean.sh
index cddd159..07b3b79 100755
--- a/t/yacc-clean.sh
+++ b/t/yacc-clean.sh
@@ -115,19 +115,19 @@ for target in clean distclean; do
   test -f sub1/parse.y
   test -f sub1/parse.c
   test -f sub1/bar-parse.c
-  test ! -r sub1/baz.y
-  test ! -r sub1/baz.c
-  test ! -r sub1/qux-baz.c
+  test ! -e sub1/baz.y
+  test ! -e sub1/baz.c
+  test ! -e sub1/qux-baz.c
   test -f sub2/parse.y
   test -f sub2/parse.c
   test -f sub2/parse.h
   test -f sub2/bar-parse.c
   test -f sub2/bar-parse.h
-  test ! -r sub2/baz.y
-  test ! -r sub2/baz.c
-  test ! -r sub2/baz.h
-  test ! -r sub2/qux-baz.c
-  test ! -r sub2/qux-baz.h
+  test ! -e sub2/baz.y
+  test ! -e sub2/baz.c
+  test ! -e sub2/baz.h
+  test ! -e sub2/qux-baz.c
+  test ! -e sub2/qux-baz.h
 done
 
 cp config.sav config.status
@@ -136,12 +136,12 @@ cp config.sav config.status
 $MAKE maintainer-clean
 ls -l . sub1 sub2
 test -f sub1/parse.y
-test ! -r sub1/parse.c
-test ! -r sub1/bar-parse.c
+test ! -e sub1/parse.c
+test ! -e sub1/bar-parse.c
 test -f sub2/parse.y
-test ! -r sub2/parse.c
-test ! -r sub2/parse.h
-test ! -r sub2/bar-parse.c
-test ! -r sub2/bar-parse.h
+test ! -e sub2/parse.c
+test ! -e sub2/parse.h
+test ! -e sub2/bar-parse.c
+test ! -e sub2/bar-parse.h
 
 :
diff --git a/t/yacc-cxx.sh b/t/yacc-cxx.sh
index 85f3ab5..24d5546 100755
--- a/t/yacc-cxx.sh
+++ b/t/yacc-cxx.sh
@@ -132,9 +132,9 @@ test -f foo4-parse4.cpp
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
 ls -l
-test ! -f parse1.cc
-test ! -f parse2.c++
-test ! -f foo3-parse3.cxx
-test ! -f foo4-parse4.cpp
+test ! -e parse1.cc
+test ! -e parse2.c++
+test ! -e foo3-parse3.cxx
+test ! -e foo4-parse4.cpp
 
 :
diff --git a/t/yacc-d-basic.sh b/t/yacc-d-basic.sh
index 868cd3e..91fbc62 100755
--- a/t/yacc-d-basic.sh
+++ b/t/yacc-d-basic.sh
@@ -144,11 +144,11 @@ test -f baz/zardoz-parse.c
 test -f baz/zardoz-parse.h
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
-test ! -f foo/parse.c
-test ! -f foo/parse.h
-test ! -f bar/parse.c
-test ! -f bar/parse.h
-test ! -f baz/zardoz-parse.c
-test ! -f baz/zardoz-parse.h
+test ! -e foo/parse.c
+test ! -e foo/parse.h
+test ! -e bar/parse.c
+test ! -e bar/parse.h
+test ! -e baz/zardoz-parse.c
+test ! -e baz/zardoz-parse.h
 
 :
diff --git a/t/yacc-d-cxx.sh b/t/yacc-d-cxx.sh
index 474a4ff..4165b68 100755
--- a/t/yacc-d-cxx.sh
+++ b/t/yacc-d-cxx.sh
@@ -220,13 +220,13 @@ test -f qux/maude-parse.cxx
 test -f qux/maude-parse.hxx
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
-test ! -f foo/parse.cc
-test ! -f foo/parse.hh
-test ! -f bar/parse.cpp
-test ! -f bar/parse.hpp
-test ! -f baz/sub/parse.c++
-test ! -f baz/sub/parse.h++
-test ! -f qux/maude-parse.cxx
-test ! -f qux/maude-parse.hxx
+test ! -e foo/parse.cc
+test ! -e foo/parse.hh
+test ! -e bar/parse.cpp
+test ! -e bar/parse.hpp
+test ! -e baz/sub/parse.c++
+test ! -e baz/sub/parse.h++
+test ! -e qux/maude-parse.cxx
+test ! -e qux/maude-parse.hxx
 
 :
diff --git a/t/yacc-deleted-headers.sh b/t/yacc-deleted-headers.sh
index 3c4bfd4..d522b8c 100755
--- a/t/yacc-deleted-headers.sh
+++ b/t/yacc-deleted-headers.sh
@@ -106,28 +106,28 @@ headers='parse1.h p2-parse2.h parse3.h parse4.h'
 rm -f $headers
 $MAKE parse1.h
 test -f parse1.h
-test ! -r p2-parse2.h
-test ! -r parse3.h
-test ! -r parse4.h
+test ! -e p2-parse2.h
+test ! -e parse3.h
+test ! -e parse4.h
 
 rm -f $headers
 $MAKE p2-parse2.h
-test ! -r parse1.h
+test ! -e parse1.h
 test -f p2-parse2.h
-test ! -r parse3.h
-test ! -r parse4.h
+test ! -e parse3.h
+test ! -e parse4.h
 
 rm -f $headers
 $MAKE parse3.h
-test ! -r parse1.h
-test ! -r p2-parse2.h
+test ! -e parse1.h
+test ! -e p2-parse2.h
 test -f parse3.h
-test ! -r parse4.h
+test ! -e parse4.h
 # Since we declared parse3.h into $(p3_SOURCES), make should be
 # able to rebuild it automatically before remaking 'p3'.
 rm -f $headers
 $MAKE clean-p3
-test ! -f parse3.h # Sanity check.
+test ! -e parse3.h # Sanity check.
 $MAKE build-p3
 test -f parse3.h
 
@@ -135,9 +135,9 @@ $MAKE
 
 rm -f $headers
 $MAKE parse4.h
-test ! -r parse1.h
-test ! -r p2-parse2.h
-test ! -r parse3.h
+test ! -e parse1.h
+test ! -e p2-parse2.h
+test ! -e parse3.h
 test -f parse4.h
 
 # Now remake all the headers together.
@@ -158,6 +158,6 @@ test -f p2-parse2.h
 test -f parse3.h
 # parse4.h is not declared in any *_SOURCES variable, nor #included
 # by any C source file, so it shouldn't be rebuilt by "make all".
-test ! -r parse4.h
+test ! -e parse4.h
 
 :
diff --git a/t/yacc-dist-nobuild-subdir.sh b/t/yacc-dist-nobuild-subdir.sh
index 850b027..0160c10 100755
--- a/t/yacc-dist-nobuild-subdir.sh
+++ b/t/yacc-dist-nobuild-subdir.sh
@@ -69,12 +69,12 @@ $MAKE distdir
 test   -f sub/parse.c
 test   -f sub/parse.h
 test   -f sub/bar-parse.c
-test ! -r sub/bar-parse.h
+test ! -e sub/bar-parse.h
 
 test   -f $distdir/sub/parse.c
 test   -f $distdir/sub/parse.h
 test   -f $distdir/sub/bar-parse.c
-test ! -r $distdir/sub/bar-parse.h
+test ! -e $distdir/sub/bar-parse.h
 
 # But they shouldn't be rebuilt in VPATH builds.
 
diff --git a/t/yacc-mix-c-cxx.sh b/t/yacc-mix-c-cxx.sh
index df7b8d9..fbc49d6 100755
--- a/t/yacc-mix-c-cxx.sh
+++ b/t/yacc-mix-c-cxx.sh
@@ -177,7 +177,7 @@ for try in 0 1; do
   test -f p.c
   test -f p.h
   test -f c2-p.c
-  test ! -r c2-p.h
+  test ! -e c2-p.h
 
   test -f parse.cc
   test -f parse.hh
@@ -185,8 +185,8 @@ for try in 0 1; do
   test -f parse3.hxx
 
   test -f cxx2-parse2.c++
-  test ! -r parse2.h++
-  test ! -r cxx2-parse2.h++
+  test ! -e parse2.h++
+  test ! -e cxx2-parse2.h++
 
   # Minimal checks about recovering from header removal.
   rm -f p.h parse.hh parse3.hxx
@@ -194,7 +194,7 @@ for try in 0 1; do
   $debug_info
   test -f p.h
   test -f parse.hh
-  test ! -r parse3.hxx
+  test ! -e parse3.hxx
   $run_make
   $debug_info
   test -f parse3.hxx
diff --git a/t/yacc4.sh b/t/yacc4.sh
index 9a4de2a..a0e121f 100755
--- a/t/yacc4.sh
+++ b/t/yacc4.sh
@@ -80,7 +80,7 @@ test -f parse.c
 # ... but maintainer-clean should.
 ../configure
 $MAKE maintainer-clean
-test ! -f bar.c
-test ! -f parse.c
+test ! -e bar.c
+test ! -e parse.c
 
 :
diff --git a/t/yacc7.sh b/t/yacc7.sh
index e1cb376..5d7be75 100755
--- a/t/yacc7.sh
+++ b/t/yacc7.sh
@@ -83,7 +83,7 @@ test -f foo.c
 # ... but maintainer-clean should.
 ./configure # Re-create 'Makefile'.
 $MAKE maintainer-clean
-test ! -f foo.h
-test ! -f foo.c
+test ! -e foo.h
+test ! -e foo.c
 
 :
diff --git a/t/yaccdry.sh b/t/yaccdry.sh
index 326a8d9..8e5af56 100755
--- a/t/yaccdry.sh
+++ b/t/yaccdry.sh
@@ -53,6 +53,6 @@ $MAKE
 rm -f parse.h
 $MAKE -n parse.h
 test -f parse.c
-test ! -f parse.h
+test ! -e parse.h
 
 :
diff --git a/t/yflags-cmdline-override.sh b/t/yflags-cmdline-override.sh
index a164872..e53358a 100755
--- a/t/yflags-cmdline-override.sh
+++ b/t/yflags-cmdline-override.sh
@@ -69,7 +69,7 @@ ls -l
 $MAKE
 ls -l
 test -f foo.c
-test ! -r foo.h
+test ! -e foo.h
 test -f foo.output
 
 $MAKE maintainer-clean
@@ -80,7 +80,7 @@ YFLAGS=-d $MAKE -e
 ls -l
 test -f foo.c
 test -f foo.h
-test ! -r foo.output
+test ! -e foo.output
 
 $MAKE maintainer-clean
 ls -l
-- 
1.7.9.5




reply via email to

[Prev in Thread] Current Thread [Next in Thread]