summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2008-04-20 23:29:19 +0200
committerJim Meyering <meyering@redhat.com>2008-04-21 00:02:00 +0200
commit90bc2fe272debe8540a59b9a1e565c43e87e4635 (patch)
tree83a9f9df5273d37130d64cd707e87d75b902284c
parentc51900a6bd655e7dd596fa6888a0e521e6b5a6bd (diff)
downloadcoreutils-90bc2fe272debe8540a59b9a1e565c43e87e4635.tar.xz
tests: convert umask-check to a function
* 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.
-rw-r--r--tests/Makefile.am3
-rwxr-xr-xtests/cp/cp-parents3
-rwxr-xr-xtests/cp/parent-perm2
-rwxr-xr-xtests/mkdir/perm3
-rw-r--r--tests/test-lib.sh17
-rw-r--r--tests/umask-check31
6 files changed, 23 insertions, 36 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 83e96e61b..b8fdc5795 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -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/.
diff --git a/tests/cp/cp-parents b/tests/cp/cp-parents
index fe62f2b15..5b3913a7f 100755
--- a/tests/cp/cp-parents
+++ b/tests/cp/cp-parents
@@ -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"
diff --git a/tests/cp/parent-perm b/tests/cp/parent-perm
index bca0f8769..d2c2533cc 100755
--- a/tests/cp/parent-perm
+++ b/tests/cp/parent-perm
@@ -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
diff --git a/tests/mkdir/perm b/tests/mkdir/perm
index c6c941765..5e010139d 100755
--- a/tests/mkdir/perm
+++ b/tests/mkdir/perm
@@ -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
diff --git a/tests/test-lib.sh b/tests/test-lib.sh
index 80621bb5f..8f56ab105 100644
--- a/tests/test-lib.sh
+++ b/tests/test-lib.sh
@@ -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
index 238d6587c..000000000
--- a/tests/umask-check
+++ /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