fstest for Linux:
- Use -- when needed so Linux getopt(3) won't get confused. - Follow POSIX more closely. Submitted by: Szabolcs Szakacsits <szaka@ntfs-3g.org>
This commit is contained in:
parent
ab1964bdc2
commit
8c5f55739a
@ -61,7 +61,7 @@ expect 0 unlink ${n1}
|
||||
expect 0 create ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 65533
|
||||
expect 65534,65533 lstat ${n0} uid,gid
|
||||
expect 0 -u 65534 -g 65532,65531 chown ${n0} -1 65532
|
||||
expect 0 -u 65534 -g 65532,65531 -- chown ${n0} -1 65532
|
||||
expect 65534,65532 lstat ${n0} uid,gid
|
||||
expect 0 -u 65534 -g 65532,65531 chown ${n0} 65534 65531
|
||||
expect 65534,65531 lstat ${n0} uid,gid
|
||||
@ -72,17 +72,17 @@ expect 0 unlink ${n0}
|
||||
# 39
|
||||
expect 0 create ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 65533
|
||||
expect 0 -u 65532 -g 65531 chown ${n0} -1 -1
|
||||
expect 0 -u 65532 -g 65531 -- chown ${n0} -1 -1
|
||||
expect 0 unlink ${n0}
|
||||
|
||||
# when super-user calls chown(2), set-uid and set-gid bits are not removed.
|
||||
# when super-user calls chown(2), set-uid and set-gid bits may be removed.
|
||||
# 43
|
||||
expect 0 create ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 65533
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 chown ${n0} 65532 65531
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect "06555|0555" lstat ${n0} mode
|
||||
expect 0 unlink ${n0}
|
||||
# 50
|
||||
expect 0 create ${n0} 0644
|
||||
@ -90,7 +90,7 @@ expect 0 chown ${n0} 0 0
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 chown ${n0} 65534 65533
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect "06555|0555" lstat ${n0} mode
|
||||
expect 0 unlink ${n0}
|
||||
# 57
|
||||
expect 0 create ${n0} 0644
|
||||
@ -98,11 +98,11 @@ expect 0 chown ${n0} 65534 65533
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 chown ${n0} 0 0
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect "06555|0555" lstat ${n0} mode
|
||||
expect 0 unlink ${n0}
|
||||
|
||||
# when non-super-user calls chown(2) successfully, set-uid and set-gid bits are
|
||||
# removed, except when both uid and gid are equal to -1.
|
||||
# when non-super-user calls chown(2) successfully, set-uid and set-gid bits may
|
||||
# be removed, except when both uid and gid are equal to -1.
|
||||
# 64
|
||||
expect 0 create ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 65533
|
||||
@ -112,12 +112,12 @@ expect 0 -u 65534 -g 65533,65532 chown ${n0} 65534 65532
|
||||
expect 0555,65534,65532 lstat ${n0} mode,uid,gid
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 chown ${n0} -1 65533
|
||||
expect 0 -u 65534 -g 65533,65532 -- chown ${n0} -1 65533
|
||||
expect 0555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 chown ${n0} -1 -1
|
||||
expect 06555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 -u 65534 -g 65533,65532 -- chown ${n0} -1 -1
|
||||
expect "06555,65534,65533|0555,65534,65533" lstat ${n0} mode,uid,gid
|
||||
expect 0 unlink ${n0}
|
||||
# 79
|
||||
expect 0 mkdir ${n0} 0755
|
||||
@ -125,14 +125,14 @@ expect 0 chown ${n0} 65534 65533
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 chown ${n0} 65534 65532
|
||||
expect 0555,65534,65532 lstat ${n0} mode,uid,gid
|
||||
expect "0555,65534,65532|06555,65534,65532" lstat ${n0} mode,uid,gid
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 chown ${n0} -1 65533
|
||||
expect 0555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 -u 65534 -g 65533,65532 -- chown ${n0} -1 65533
|
||||
expect "0555,65534,65533|06555,65534,65533" lstat ${n0} mode,uid,gid
|
||||
expect 0 chmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 chown ${n0} -1 -1
|
||||
expect 0 -u 65534 -g 65533,65532 -- chown ${n0} -1 -1
|
||||
expect 06555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 rmdir ${n0}
|
||||
# 94
|
||||
@ -145,11 +145,11 @@ if supported lchmod; then
|
||||
expect 0555,65534,65532 lstat ${n0} mode,uid,gid
|
||||
expect 0 lchmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 lchown ${n0} -1 65533
|
||||
expect 0 -u 65534 -g 65533,65532 -- lchown ${n0} -1 65533
|
||||
expect 0555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 lchmod ${n0} 06555
|
||||
expect 06555 lstat ${n0} mode
|
||||
expect 0 -u 65534 -g 65533,65532 lchown ${n0} -1 -1
|
||||
expect 0 -u 65534 -g 65533,65532 -- lchown ${n0} -1 -1
|
||||
expect 06555,65534,65533 lstat ${n0} mode,uid,gid
|
||||
expect 0 unlink ${n0}
|
||||
fi
|
||||
@ -236,7 +236,7 @@ expect 0 unlink ${n0}
|
||||
expect 0 create ${n0} 0644
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
sleep 1
|
||||
expect 0 chown ${n0} -1 -1
|
||||
expect 0 -- chown ${n0} -1 -1
|
||||
ctime2=`${fstest} stat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 unlink ${n0}
|
||||
@ -244,7 +244,7 @@ expect 0 unlink ${n0}
|
||||
expect 0 mkdir ${n0} 0644
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
sleep 1
|
||||
expect 0 chown ${n0} -1 -1
|
||||
expect 0 -- chown ${n0} -1 -1
|
||||
ctime2=`${fstest} stat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 rmdir ${n0}
|
||||
@ -252,7 +252,7 @@ expect 0 rmdir ${n0}
|
||||
expect 0 mkfifo ${n0} 0644
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
sleep 1
|
||||
expect 0 chown ${n0} -1 -1
|
||||
expect 0 -- chown ${n0} -1 -1
|
||||
ctime2=`${fstest} stat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 unlink ${n0}
|
||||
@ -260,7 +260,7 @@ expect 0 unlink ${n0}
|
||||
expect 0 symlink ${n1} ${n0}
|
||||
ctime1=`${fstest} lstat ${n0} ctime`
|
||||
sleep 1
|
||||
expect 0 lchown ${n0} -1 -1
|
||||
expect 0 -- lchown ${n0} -1 -1
|
||||
ctime2=`${fstest} lstat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 unlink ${n0}
|
||||
@ -270,7 +270,7 @@ expect 0 unlink ${n0}
|
||||
expect 0 create ${n0} 0644
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
sleep 1
|
||||
expect EPERM -u 65534 chown ${n0} 65534 -1
|
||||
expect EPERM -u 65534 -- chown ${n0} 65534 -1
|
||||
ctime2=`${fstest} stat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 unlink ${n0}
|
||||
@ -278,7 +278,7 @@ expect 0 unlink ${n0}
|
||||
expect 0 mkdir ${n0} 0755
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
sleep 1
|
||||
expect EPERM -u 65534 -g 65534 chown ${n0} -1 65534
|
||||
expect EPERM -u 65534 -g 65534 -- chown ${n0} -1 65534
|
||||
ctime2=`${fstest} stat ${n0} ctime`
|
||||
test_check $ctime1 -eq $ctime2
|
||||
expect 0 rmdir ${n0}
|
||||
|
@ -18,13 +18,13 @@ cd ${n0}
|
||||
expect 0 mkdir ${n1} 0755
|
||||
expect 0 chown ${n1} 65534 65534
|
||||
expect 0 -u 65534 -g 65534 create ${n1}/${n2} 0644
|
||||
expect 0 -u 65534 -g 65533,65534 chown ${n1}/${n2} -1 65533
|
||||
expect 0 -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65533
|
||||
expect 65534,65533 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
|
||||
expect 0 chmod ${n1} 0644
|
||||
expect EACCES -u 65534 -g 65533,65534 chown ${n1}/${n2} -1 65534
|
||||
expect EACCES -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65534
|
||||
expect 0 chmod ${n1} 0755
|
||||
expect 65534,65533 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
|
||||
expect 0 -u 65534 -g 65533,65534 chown ${n1}/${n2} -1 65534
|
||||
expect 0 -u 65534 -g 65533,65534 -- chown ${n1}/${n2} -1 65534
|
||||
expect 65534,65534 -u 65534 -g 65534 stat ${n1}/${n2} uid,gid
|
||||
expect 0 -u 65534 -g 65534 unlink ${n1}/${n2}
|
||||
expect 0 rmdir ${n1}
|
||||
|
@ -21,7 +21,7 @@ expect 0 -u 65534 -g 65534 create ${n1}/${n2} 0644
|
||||
expect EPERM -u 65534 -g 65534 chown ${n1}/${n2} 65533 65533
|
||||
expect EPERM -u 65533 -g 65533 chown ${n1}/${n2} 65534 65534
|
||||
expect EPERM -u 65533 -g 65533 chown ${n1}/${n2} 65533 65533
|
||||
expect EPERM -u 65534 -g 65534 chown ${n1}/${n2} -1 65533
|
||||
expect EPERM -u 65534 -g 65534 -- chown ${n1}/${n2} -1 65533
|
||||
expect 0 unlink ${n1}/${n2}
|
||||
expect 0 rmdir ${n1}
|
||||
cd ${cdir}
|
||||
|
@ -118,7 +118,7 @@ expect 0 unlink ${n1}
|
||||
|
||||
# unsuccessful link(2) does not update ctime.
|
||||
expect 0 create ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 -1
|
||||
expect 0 -- chown ${n0} 65534 -1
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
dctime1=`${fstest} stat . ctime`
|
||||
dmtime1=`${fstest} stat . mtime`
|
||||
@ -133,7 +133,7 @@ test_check $dctime1 -eq $dmtime2
|
||||
expect 0 unlink ${n0}
|
||||
|
||||
expect 0 mkfifo ${n0} 0644
|
||||
expect 0 chown ${n0} 65534 -1
|
||||
expect 0 -- chown ${n0} 65534 -1
|
||||
ctime1=`${fstest} stat ${n0} ctime`
|
||||
dctime1=`${fstest} stat . ctime`
|
||||
dmtime1=`${fstest} stat . mtime`
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
desc="open returns EINVAL when an attempt was made to open a descriptor with an illegal combination of O_RDONLY, O_WRONLY, and O_RDWR"
|
||||
desc="open may return EINVAL when an attempt was made to open a descriptor with an illegal combination of O_RDONLY, O_WRONLY, and O_RDWR"
|
||||
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
@ -11,6 +11,6 @@ echo "1..4"
|
||||
n0=`namegen`
|
||||
|
||||
expect 0 create ${n0} 0644
|
||||
expect EINVAL open ${n0} O_WRONLY,O_RDWR
|
||||
expect EINVAL open ${n0} O_RDONLY,O_WRONLY,O_RDWR
|
||||
expect "0|EINVAL" open ${n0} O_WRONLY,O_RDWR
|
||||
expect "0|EINVAL" open ${n0} O_RDONLY,O_WRONLY,O_RDWR
|
||||
expect 0 unlink ${n0}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
desc="rename returns EINVAL when an attempt is made to rename '.' or '..'"
|
||||
desc="rename returns EINVAL/EBUSY when an attempt is made to rename '.' or '..'"
|
||||
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
@ -15,8 +15,8 @@ n2=`namegen`
|
||||
expect 0 mkdir ${n0} 0755
|
||||
expect 0 mkdir ${n0}/${n1} 0755
|
||||
|
||||
expect EINVAL rename ${n0}/${n1}/. ${n2}
|
||||
expect EINVAL rename ${n0}/${n1}/.. ${n2}
|
||||
expect "EINVAL|EBUSY" rename ${n0}/${n1}/. ${n2}
|
||||
expect "EINVAL|EBUSY" rename ${n0}/${n1}/.. ${n2}
|
||||
|
||||
expect 0 rmdir ${n0}/${n1}
|
||||
expect 0 rmdir ${n0}
|
||||
|
@ -6,7 +6,7 @@ desc="write access to subdirectory is required to move it to another directory"
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
|
||||
echo "1..13"
|
||||
echo "1..15"
|
||||
|
||||
n0=`namegen`
|
||||
n1=`namegen`
|
||||
@ -18,23 +18,28 @@ expect 0 mkdir ${n3} 0777
|
||||
cdir=`pwd`
|
||||
|
||||
# Check that write permission on containing directory (${n2}) is enough
|
||||
# to rename subdirectory (${n0}).
|
||||
# to rename subdirectory (${n0}). If we rename directory write access
|
||||
# to this directory may also be required.
|
||||
expect 0 mkdir ${n2}/${n0} 0700
|
||||
expect 0 -u 65534 -g 65534 rename ${n2}/${n0} ${n2}/${n1}
|
||||
expect "0|EACCES" -u 65534 -g 65534 rename ${n2}/${n0} ${n2}/${n1}
|
||||
expect "0|EACCES" -u 65534 -g 65534 rename ${n2}/${n1} ${n2}/${n0}
|
||||
|
||||
# Check that write permission on containing directory (${n2}) is not enough
|
||||
# to move subdirectory (${n0}) from that directory.
|
||||
expect EACCES -u 65534 -g 65534 rename ${n2}/${n1} ${n3}/${n0}
|
||||
# Actually POSIX says that write access to ${n2} and ${n3} may be enough
|
||||
# to move ${n0} from ${n2} to ${n3}.
|
||||
expect "0|EACCES" -u 65534 -g 65534 rename ${n2}/${n0} ${n3}/${n1}
|
||||
|
||||
expect 0 rmdir ${n2}/${n1}
|
||||
expect ENOENT rmdir ${n2}/${n1}
|
||||
expect 0 rmdir ${n2}/${n0}
|
||||
expect ENOENT rmdir ${n2}/${n0}
|
||||
expect ENOENT rmdir ${n3}/${n1}
|
||||
|
||||
# Check that write permission on containing directory (${n2}) is enough
|
||||
# to move file (${n0}) from that directory.
|
||||
expect 0 create ${n2}/${n0} 0755
|
||||
expect 0 -u 65534 -g 65534 rename ${n2}/${n0} ${n3}/${n0}
|
||||
expect 0 -u 65534 -g 65534 rename ${n2}/${n0} ${n3}/${n1}
|
||||
|
||||
expect 0 unlink ${n3}/${n0}
|
||||
expect 0 unlink ${n3}/${n1}
|
||||
expect ENOENT unlink ${n2}/${n0}
|
||||
|
||||
expect 0 rmdir ${n3}
|
||||
|
@ -11,6 +11,6 @@ echo "1..4"
|
||||
n0=`namegen`
|
||||
|
||||
expect 0 create ${n0} 0644
|
||||
expect EINVAL truncate ${n0} -1
|
||||
expect EINVAL truncate ${n0} -999999
|
||||
expect EINVAL -- truncate ${n0} -1
|
||||
expect EINVAL -- truncate ${n0} -999999
|
||||
expect 0 unlink ${n0}
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
desc="unlink returns EPERM if the named file is a directory"
|
||||
desc="unlink may return EPERM if the named file is a directory"
|
||||
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
@ -11,13 +11,5 @@ echo "1..3"
|
||||
n0=`namegen`
|
||||
|
||||
expect 0 mkdir ${n0} 0755
|
||||
case "${os}:${fs}" in
|
||||
SunOS:UFS)
|
||||
expect 0 unlink ${n0}
|
||||
expect ENOENT rmdir ${n0}
|
||||
;;
|
||||
*)
|
||||
expect EPERM unlink ${n0}
|
||||
expect 0 rmdir ${n0}
|
||||
;;
|
||||
esac
|
||||
expect "0|EPERM" unlink ${n0}
|
||||
expect "0|ENOENT" rmdir ${n0}
|
||||
|
Loading…
x
Reference in New Issue
Block a user