Enable some previously omitted test scripts. Add a test cross-check.
authorJim Meyering <jim@meyering.net>
Thu, 13 Sep 2007 10:13:35 +0000 (12:13 +0200)
committerJim Meyering <jim@meyering.net>
Sat, 15 Sep 2007 16:59:08 +0000 (18:59 +0200)
* tests/rm/Makefile.am (TESTS): Add empty-name and unreadable.
* tests/rm/empty-name: Likewise.
* tests/rm/unreadable: Reenable this test.  Adjust for new rm.
* tests/mkdir/Makefile.am: Add writable-under-readonly.
* tests/mkdir/writable-under-readonly: Add some comments.
This test is always skipped, for now.
* tests/Makefile.am (ta): Hook up the new root-only script.
* tests/tail-2/infloop-1: Make this test pass.
* tests/tail-2/Makefile.am (TESTS): Add infloop-1.
* tests/tail-2/fflush: Remove unused file.
* tests/check.mk (vc_executable_is_in_TESTS): More portable.
* tests/check.mk (check): Depend on the above.
* build-aux/check.mk: Remove comment mentioning AUTHORS file.

15 files changed:
build-aux/check.mk
tests/Makefile.am
tests/check.mk
tests/dd/Makefile.am
tests/install/Makefile.am
tests/ln/Makefile.am
tests/mkdir/Makefile.am
tests/mkdir/writable-under-readonly
tests/readlink/Makefile.am
tests/rm/Makefile.am
tests/rm/unreadable
tests/rmdir/Makefile.am
tests/tail-2/Makefile.am
tests/tail-2/fflush [deleted file]
tests/tail-2/infloop-1

index aee037053dc15d2cb6c243a237bf22bee032102a..2f44ec7ff642cbeb7f441832d28ae343843ed031 100644 (file)
@@ -8,8 +8,6 @@
 ##
 ## The complete GNU General Public Licence Notice can be found as the
 ## `COPYING' file in the root directory.
-##
-## The Vaucanson Group consists of people listed in the `AUTHORS' file.
 
 ## Override the definition from Automake to generate a log file with
 ## failed tests.  It also supports parallel make checks.
index 7fa6ed5ace7ae66a940e33bdce586933e9f9b6fa..254efc470e648cad7acca6c142b355f22ce51a07 100644 (file)
@@ -50,7 +50,7 @@ SUBDIRS = \
   uniq wc
 ## N O T E :: Please do not add new directories.
 
-all_t = t1 t2 t3 t4 t5 t6 t7 t8 t9
+all_t = t1 t2 t3 t4 t5 t6 t7 t8 t9 ta
 .PHONY: check-root $(all_t)
 check-root: $(all_t)
 
@@ -72,6 +72,8 @@ t8:
        cd misc  && $(MAKE) check TESTS=chcon
 t9:
        cd cp    && $(MAKE) check TESTS=cp-a-selinux
+ta:
+       cd mkdir && $(MAKE) check TESTS=writable-under-readonly
 
 check-recursive: root-hint
 
index d0437681f7482443011936fc1dc4b557123f26d5..d358f18cf6348c916125dfa70b13abbe883dce84 100644 (file)
@@ -1,14 +1,30 @@
-# FIXME: add comment
+# Include this file at the end of each tests/*/Makefile.am.
+# Copyright (C) 2007 Free Software Foundation, Inc.
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 # Ensure that all version-controlled executable files are listed in TESTS.
-_v = TESTS
-FIXME_hook_this_to_make_distcheck:
-       sed -n '/^$(_v) =/,/[^\]$$/p' $(srcdir)/Makefile.am \
-         | sed 's/^  *//;/^\$$.*/d;/^$(_v) =/d' \
-         | tr -s '\012\\' '  ' | fmt -1 | sort -u > t1
-       find `$(top_srcdir)/build-aux/vc-list-files $(srcdir)` \
-           -type f -perm -111 -printf '%f\n'|sort -u \
-         | diff -u t1 -
+vc_exe_in_TESTS: Makefile
+       @if test -d $(top_srcdir)/.git; then \
+         echo $(TESTS) | tr -s ' ' '\n' | sort -u > t1; \
+         for f in `$(top_srcdir)/build-aux/vc-list-files .`; do \
+           test -f "$$f" && test -x "$$f" && echo "$$f"; \
+         done | sort -u | diff -u t1 -; \
+       else :; fi
+
+check: vc_exe_in_TESTS
+.PHONY: vc_exe_in_TESTS
 
 # Append this, because automake does the same.
 TESTS_ENVIRONMENT +=                   \
@@ -20,5 +36,5 @@ TESTS_ENVIRONMENT +=                  \
 TEST_LOGS = $(TESTS:=.log)
 
 # Parallel replacement of Automake's check-TESTS target.
-# Include it last.
+# CAVEAT: code in the following relies on GNU make.
 include $(top_srcdir)/build-aux/check.mk
index 50f1e66d592701af9f43bb64549a811c67433d2e..26c26ada7b779437ae7e59a3675ff33e56439866 100644 (file)
@@ -8,6 +8,7 @@ TESTS_ENVIRONMENT = \
   PATH="$(VG_PATH_PREFIX)`pwd`/../../src$(PATH_SEPARATOR)$$PATH" \
   PROG=dd
 
-TESTS = misc not-rewound skip-seek skip-seek2 unblock-sync
+TESTS = \
+  misc not-rewound skip-seek skip-seek2 unblock-sync
 
 include $(top_srcdir)/tests/check.mk
index c97252dfef3aa03354ac492630290cba29ead542..5714bcf359f14146a45c009e8d266f4d8f7fa093 100644 (file)
@@ -1,5 +1,10 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-.
-TESTS = trap basic-1 create-leading d-slashdot
+TESTS = \
+  basic-1 \
+  create-leading \
+  d-slashdot \
+  trap
+
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
   EXEEXT='$(EXEEXT)' \
index 4b5797f110a1bb34a193f241d980426a1dbefefc..87aadf6f717747cfdbcaa797a83575c08729cb36 100644 (file)
@@ -1,5 +1,7 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-.
-TESTS = hard-backup target-1 sf-1 misc backup-1
+TESTS = \
+  hard-backup target-1 sf-1 misc backup-1
+
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
   CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \
index 252c48fa18790a7e94c461e0e6d575ca43e8bd72..8a8db6c9d5db9dafbb459835cfe4b9597bc7562e 100644 (file)
@@ -1,7 +1,17 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-.
 TESTS = \
+  p-1 \
+  p-2 \
+  p-3 \
+  p-slashdot \
   p-thru-slink \
-  p-3 p-1 p-2 p-v special-1 perm parents t-slash p-slashdot
+  p-v \
+  parents \
+  perm \
+  special-1 \
+  t-slash \
+  writable-under-readonly
+
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
   CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \
index a8fc792c95cad0151c52a7c1c7e49cf561127a92..0c30f3f70257021350a66352f9283b5aeee93fef 100755 (executable)
@@ -1,8 +1,7 @@
 #!/bin/sh
-# This is just for the record.
-# This test is not run.
+# FIXME: convert this to a root-only test.
 
-# Copyright (C) 2005 Free Software Foundation, Inc.
+# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
 #
 # Demonstrate the problem, as root:
 
-mount='sudo mount'
+if test "$VERBOSE" = yes; then
+  set -x
+  mkdir --version
+fi
 
+PRIV_CHECK_ARG=require-root . $srcdir/../priv-check
+. $srcdir/../test-lib.sh
+
+# FIXME: for now, skip it unconditionally
+skip_test_ temporarily disabled
+
+# FIXME: define cleanup_ to do the umount
+
+# FIXME: use mktemp
 cd /tmp                                    \
   && dd if=/dev/zero of=1 bs=8192 count=50 \
   && dd if=/dev/zero of=2 bs=8192 count=50 \
   && mkdir -p mnt-ro && mkfs -t ext2 1 && mkfs -t ext2 2 \
-  && $mount -o loop=/dev/loop3 1 mnt-ro    \
+  && mount -o loop=/dev/loop3 1 mnt-ro    \
   && mkdir -p mnt-ro/rw                    \
-  && $mount -o remount,ro mnt-ro           \
-  && $mount -o loop=/dev/loop4 2 mnt-ro/rw
+  && mount -o remount,ro mnt-ro           \
+  && mount -o loop=/dev/loop4 2 mnt-ro/rw
 
 mkdir -p mnt-ro/rw/sub || fail=1
 
 # To clean up
 umount /tmp/2
 umount /tmp/1
-rm -rf /tmp/[12]
index 74c3be475a295fc86933620178cbac4bff45fcb9..3a2e1f399e7240356b1e059238dada2940ac42ae 100644 (file)
@@ -1,5 +1,7 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-.
-TESTS = rl-1 can-e can-f can-m
+TESTS = \
+  rl-1 can-e can-f can-m
+
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
   CU_TEST_NAME=`basename $(abs_srcdir)`,$$tst \
index 203fe36a6c22ce96fbc3ce276cddacde92e28277..f29274744df2a4a22ef1e8c5cf0a889743780fce 100644 (file)
@@ -33,12 +33,15 @@ TESTS = \
   unread3 \
   no-give-up \
   dir-no-w \
+  empty-name \
   fail-2eperm \
   cycle i-no-r fail-eperm \
   rm1 rm2 rm3 rm4 rm5 \
   unread2 r-1 r-2 r-3 r-4 i-1 ir-1 f-1 sunos-1 \
+  unreadable \
   interactive-always interactive-once \
-  isatty # unreadable empty-name
+  isatty
+
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
   RM=../../src/rm \
index c5b9c9877ce145462a79f76587677eebfd17e434..66a59515c946537aa49fde861b53ebb9cd497289 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Test "rm" and unreadable directories.
 
-# Copyright (C) 1998, 2003, 2005, 2006 Free Software Foundation, Inc.
+# Copyright (C) 1998, 2003, 2005-2007 Free Software Foundation, Inc.
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -43,12 +43,12 @@ my @Tests =
     (
      # test-name options input expected-output
      #
-     ['unreadable-1', '-rf', $d,
-      {EXIT => 1}, {ERR => "$prog: $d/.: Permission denied\n"}, $mkdir],
+     # Removing an empty, unwritable directory succeeds.
+     ['unreadable-1', '-rf', $d, {EXIT => 0}, $mkdir],
+
      ['unreadable-2', '-rf', $d,
       {EXIT => 1},
-      {ERR => "$prog: $d/.: Permission denied\n" .
-       "$prog: cannot remove directory `$d': File exists\n"},
+      {ERR => "$prog: cannot remove \`$d': Permission denied\n"},
       {PRE => sub { (mkdir $d,0700 and mkdir "$d/x",0700 and chmod 0100,$d)
                     or die "$d: $!\n"}} ],
     );
index b473cc457126b7721ac4895f08144b3571dd9c24..4e73c733880a1014d044c94896f9ff90bb8a9dc2 100644 (file)
@@ -1,5 +1,6 @@
 ## Process this file with automake to produce Makefile.in -*-Makefile-*-.
-TESTS = fail-perm ignore t-slash
+TESTS = \
+  fail-perm ignore t-slash
 
 EXTRA_DIST = $(TESTS)
 TESTS_ENVIRONMENT = \
index 055168a90131221156e8d67074f622a633da6a2d..da99090446df1e139aba87e122f8e4182d1a3cb6 100644 (file)
@@ -27,6 +27,7 @@ TESTS_ENVIRONMENT = \
 TESTS = \
   append-only \
   tail-n0f \
+  infloop-1 \
   big-4gb proc-ksyms start-middle assert assert-2
 
 include $(top_srcdir)/tests/check.mk
diff --git a/tests/tail-2/fflush b/tests/tail-2/fflush
deleted file mode 100755 (executable)
index 020601f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/bin/sh
-# This test would fail on solaris5.7 with tail from pre-1.22k textutils.
-# The problem was that using the solaris5.7 setvbuf function to turn off
-# buffering doesn't flush stdout.
-
-# Copyright (C) 1999, 2000, 2003, 2006-2007 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-
-# FIXME: actually, I couldn't find a way to write the test (without resorting
-# to use of expect) so that it would provoke the failure on solaris5.7.
-# To exercise the bug, cat's stdout seems to have to be directed
-# to a terminal.
-
-if test "$VERBOSE" = yes; then
-  set -x
-  tail --version
-fi
-
-. $srcdir/../test-lib.sh
-
-echo fubar > in
-tail -f in | cat > out &
-pid=$!
-sleep 1
-kill $pid
-
-fail=0
-test "`cat out`" = fubar || fail=1
-
-exit $fail
index 9b2701f9fb241263f2ff13da11577ac5fcbce662..eb95ea090fd3b0bcb7a9cebd99b956b419b9c7a6 100755 (executable)
@@ -32,4 +32,8 @@ tail -n 1 t &
 tail_pid=$!
 kill $yes_pid
 sleep 1
-kill $tail_pid
+
+fail=0
+kill $tail_pid && fail=1 || :
+
+(exit $fail); exit $fail