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:
@@ -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/.
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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,.*/,,'; }
|
||||
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user