FreeBSD's way of handling rmdir("..") is not POSIX-compilant.
This commit is contained in:
parent
92c1c812f1
commit
48a8b4cd56
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
# $FreeBSD$
|
||||
|
||||
desc="rmdir returns EINVAL if the last component of the path is '.' or '..'"
|
||||
desc="rmdir returns EINVAL if the last component of the path is '.' and EEXIST or ENOTEMPTY if the last component of the path is '..'"
|
||||
|
||||
dir=`dirname $0`
|
||||
. ${dir}/../misc.sh
|
||||
@ -14,13 +14,7 @@ n1=`namegen`
|
||||
expect 0 mkdir ${n0} 0755
|
||||
expect 0 mkdir ${n0}/${n1} 0755
|
||||
expect EINVAL rmdir ${n0}/${n1}/.
|
||||
case "${os}" in
|
||||
FreeBSD)
|
||||
expect EINVAL rmdir ${n0}/${n1}/..
|
||||
;;
|
||||
*)
|
||||
expect EEXIST rmdir ${n0}/${n1}/..
|
||||
;;
|
||||
esac
|
||||
todo FreeBSD "According to POSIX: EEXIST or ENOTEMPTY - The path argument names a directory that is not an empty directory, or there are hard links to the directory other than dot or a single entry in dot-dot."
|
||||
expect "ENOTEMPTY|EEXIST" rmdir ${n0}/${n1}/..
|
||||
expect 0 rmdir ${n0}/${n1}
|
||||
expect 0 rmdir ${n0}
|
||||
|
Loading…
Reference in New Issue
Block a user