tests: convert umask-check to a function
authorJim Meyering <meyering@redhat.com>
Sun, 20 Apr 2008 21:29:19 +0000 (23:29 +0200)
committerJim Meyering <meyering@redhat.com>
Sun, 20 Apr 2008 22:02:00 +0000 (00:02 +0200)
* tests/test-lib.sh (working_umask_or_skip_): New function, from...
* tests/umask-check: ...here.  Remove file.
* tests/Makefile.am (EXTRA_DIST): Remove umask-check.
* tests/mkdir/perm: Use the function rather than sourcing the file.
* tests/cp/cp-parents: Likewise.
* tests/cp/parent-perm: Likewise.
Bruno Haible reported that parent-perm was failing to run umask-check.

tests/Makefile.am
tests/cp/cp-parents
tests/cp/parent-perm
tests/mkdir/perm
tests/test-lib.sh
tests/umask-check [deleted file]

index 83e96e6..b8fdc57 100644 (file)
@@ -22,8 +22,7 @@ EXTRA_DIST =          \
   sample-test          \
   setgid-check         \
   sparse-file          \
-  test-lib.sh          \
-  umask-check
+  test-lib.sh
 
 ## N O T E :: Please do not add new tests/ directories.
 ## There are too many already.  Put new tests in misc/.
index fe62f2b..5b3913a 100755 (executable)
@@ -23,9 +23,10 @@ if test "$VERBOSE" = yes; then
   mv --version
 fi
 
-. $top_srcdir/tests/umask-check
 . $top_srcdir/tests/test-lib.sh
 
+working_umask_or_skip_
+
 # Run the setgid check from the just-created directory.
 . "$abs_top_srcdir/tests/setgid-check"
 
index bca0f87..d2c2533 100755 (executable)
@@ -24,7 +24,7 @@ fi
 . $top_srcdir/tests/envvar-check
 . $top_srcdir/tests/test-lib.sh
 
-. $abs_srcdir/../umask-check
+working_umask_or_skip_
 
 mkdir -p a/b/c a/b/d e || framework_failure
 touch a/b/c/foo a/b/d/foo || framework_failure
index c6c9417..5e01013 100755 (executable)
@@ -24,7 +24,8 @@ fi
 
 . $top_srcdir/tests/test-lib.sh
 . "$abs_top_srcdir/tests/setgid-check"
-. "$abs_top_srcdir/tests/umask-check"
+
+working_umask_or_skip_
 
 fail=0
 
index 80621bb..8f56ab1 100644 (file)
@@ -173,6 +173,23 @@ mkfifo_or_skip_()
   fi
 }
 
+# Skip the current test if umask doesn't work as usual.
+# This test should be run in the temporary directory that ends
+# up being removed via the trap commands.
+working_umask_or_skip_()
+{
+  umask 022
+  touch file1 file2
+  chmod 644 file2
+  perms=`ls -l file1 file2 | sed 's/ .*//' | uniq`
+  rm -f file1 file2
+
+  case $perms in
+  *'
+  '*) skip_test_ 'your build directory has unusual umask semantics'
+  esac
+}
+
 test_dir_=$(pwd)
 
 this_test_() { echo "./$0" | sed 's,.*/,,'; }
diff --git a/tests/umask-check b/tests/umask-check
deleted file mode 100644 (file)
index 238d658..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# -*- sh -*-
-# Disable the current test if umask doesn't work as usual.
-
-# 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
-# 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/>.  */
-
-# This test should be run in the temporary directory that ends
-# up being removed via the trap commands.
-
-umask 022
-touch file1 file2
-chmod 644 file2
-perms=`ls -l file1 file2 | sed 's/ .*//' | uniq`
-rm -f file1 file2
-
-case $perms in
-*'
-'*) skip_test_ 'your build directory has unusual umask semantics'
-esac