3
# Copyright (C) 2000-2012 Free Software Foundation, Inc.
5
# This program is free software: you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation, either version 3 of the License, or
8
# (at your option) any later version.
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
15
# You should have received a copy of the GNU General Public License
16
# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
22
chmod g-s . || framework_failure_
23
mkdir D D/D || framework_failure_
24
touch D/a || framework_failure_
25
chmod 0 D/a || framework_failure_
26
chmod u=rx,go=,-st D || framework_failure_
29
# This is expected to exit non-zero, because it can't read D/a.
30
cp -pR D DD > /dev/null 2>&1 && fail=1
32
# Permissions on DD must be 'dr-x------'
34
mode=$(ls -ld DD|cut -b-10)
35
test "$mode" = dr-x------ || fail=1
41
cp: accessing 'symlink': Permission denied
44
cp F symlink 2> out && fail=1
45
# HPUX appears to fail with EACCES rather than EPERM.
46
# Transform their diagnostic
47
# ...: The file access permissions do not allow the specified action.
48
# to the expected one:
49
sed 's/: The file access permissions.*/: Permission denied/'<out>o1;mv o1 out
50
compare exp out || fail=1
52
cp --target-directory=symlink F 2> out && fail=1
53
sed 's/: The file access permissions.*/: Permission denied/'<out>o1;mv o1 out
54
compare exp out || fail=1