1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-15 16:26:01 +02:00

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.
This commit is contained in:
Jim Meyering
2008-04-20 23:29:19 +02:00
parent c51900a6bd
commit 90bc2fe272
6 changed files with 23 additions and 36 deletions

View 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/.

View File

@@ -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"

View File

@@ -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

View File

@@ -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

View 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,.*/,,'; }

View File

@@ -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