diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 3 | ||||
-rwxr-xr-x | tests/cp/cp-parents | 3 | ||||
-rwxr-xr-x | tests/cp/parent-perm | 2 | ||||
-rwxr-xr-x | tests/mkdir/perm | 3 | ||||
-rw-r--r-- | tests/test-lib.sh | 17 | ||||
-rw-r--r-- | tests/umask-check | 31 |
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 |