summaryrefslogtreecommitdiffstats
path: root/tools/regression/fstest/tests
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2008-11-23 20:07:00 +0000
committerpjd <pjd@FreeBSD.org>2008-11-23 20:07:00 +0000
commit8c5f55739a9f606525eb38e40921ad1211356bdc (patch)
tree078f15cd0e7fc5eeceb1078df6e23eb580bee138 /tools/regression/fstest/tests
parentab1964bdc2b43dcbfd4f903c33f7b6a3f01aac79 (diff)
downloadFreeBSD-src-8c5f55739a9f606525eb38e40921ad1211356bdc.zip
FreeBSD-src-8c5f55739a9f606525eb38e40921ad1211356bdc.tar.gz
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>
Diffstat (limited to 'tools/regression/fstest/tests')
-rw-r--r--tools/regression/fstest/tests/chown/00.t46
-rw-r--r--tools/regression/fstest/tests/chown/05.t6
-rw-r--r--tools/regression/fstest/tests/chown/07.t2
-rw-r--r--tools/regression/fstest/tests/link/00.t4
-rw-r--r--tools/regression/fstest/tests/open/23.t6
-rw-r--r--tools/regression/fstest/tests/rename/19.t6
-rw-r--r--tools/regression/fstest/tests/rename/21.t21
-rw-r--r--tools/regression/fstest/tests/truncate/13.t4
-rw-r--r--tools/regression/fstest/tests/unlink/08.t14
9 files changed, 53 insertions, 56 deletions
diff --git a/tools/regression/fstest/tests/chown/00.t b/tools/regression/fstest/tests/chown/00.t
index 154129a..103ff59 100644
--- a/tools/regression/fstest/tests/chown/00.t
+++ b/tools/regression/fstest/tests/chown/00.t
@@ -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}
diff --git a/tools/regression/fstest/tests/chown/05.t b/tools/regression/fstest/tests/chown/05.t
index 844ffca..6017f2d 100644
--- a/tools/regression/fstest/tests/chown/05.t
+++ b/tools/regression/fstest/tests/chown/05.t
@@ -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}
diff --git a/tools/regression/fstest/tests/chown/07.t b/tools/regression/fstest/tests/chown/07.t
index a9789eb..3fd4437 100644
--- a/tools/regression/fstest/tests/chown/07.t
+++ b/tools/regression/fstest/tests/chown/07.t
@@ -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}
diff --git a/tools/regression/fstest/tests/link/00.t b/tools/regression/fstest/tests/link/00.t
index e5ac67d..3c124aa 100644
--- a/tools/regression/fstest/tests/link/00.t
+++ b/tools/regression/fstest/tests/link/00.t
@@ -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`
diff --git a/tools/regression/fstest/tests/open/23.t b/tools/regression/fstest/tests/open/23.t
index ea6335f..b7eec4d 100644
--- a/tools/regression/fstest/tests/open/23.t
+++ b/tools/regression/fstest/tests/open/23.t
@@ -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}
diff --git a/tools/regression/fstest/tests/rename/19.t b/tools/regression/fstest/tests/rename/19.t
index b068a01..7459523 100644
--- a/tools/regression/fstest/tests/rename/19.t
+++ b/tools/regression/fstest/tests/rename/19.t
@@ -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}
diff --git a/tools/regression/fstest/tests/rename/21.t b/tools/regression/fstest/tests/rename/21.t
index db69f26..a9445c7 100644
--- a/tools/regression/fstest/tests/rename/21.t
+++ b/tools/regression/fstest/tests/rename/21.t
@@ -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}
diff --git a/tools/regression/fstest/tests/truncate/13.t b/tools/regression/fstest/tests/truncate/13.t
index 1084c43..9e40928 100644
--- a/tools/regression/fstest/tests/truncate/13.t
+++ b/tools/regression/fstest/tests/truncate/13.t
@@ -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}
diff --git a/tools/regression/fstest/tests/unlink/08.t b/tools/regression/fstest/tests/unlink/08.t
index 5b0f03b..e872a19 100644
--- a/tools/regression/fstest/tests/unlink/08.t
+++ b/tools/regression/fstest/tests/unlink/08.t
@@ -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}
OpenPOWER on IntegriCloud