svn commit: r211290 - head/tools/regression/fstest/tests/chflags

Pawel Jakub Dawidek pjd at FreeBSD.org
Fri Aug 13 21:17:59 UTC 2010


Author: pjd
Date: Fri Aug 13 21:17:59 2010
New Revision: 211290
URL: http://svn.freebsd.org/changeset/base/211290

Log:
  - Use loops to avoid code duplication.
  - More tests.

Modified:
  head/tools/regression/fstest/tests/chflags/07.t
  head/tools/regression/fstest/tests/chflags/08.t
  head/tools/regression/fstest/tests/chflags/09.t

Modified: head/tools/regression/fstest/tests/chflags/07.t
==============================================================================
--- head/tools/regression/fstest/tests/chflags/07.t	Fri Aug 13 21:04:43 2010	(r211289)
+++ head/tools/regression/fstest/tests/chflags/07.t	Fri Aug 13 21:17:59 2010	(r211290)
@@ -8,7 +8,7 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..30"
+echo "1..93"
 
 n0=`namegen`
 n1=`namegen`
@@ -18,37 +18,33 @@ expect 0 mkdir ${n0} 0755
 cdir=`pwd`
 cd ${n0}
 
-expect 0 create ${n1} 0644
-expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 chown ${n1} 65534 65534
-expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 unlink ${n1}
-
-expect 0 mkdir ${n1} 0755
-expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 chown ${n1} 65534 65534
-expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 rmdir ${n1}
-
-expect 0 mkfifo ${n1} 0644
-expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 chown ${n1} 65534 65534
-expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-expect none stat ${n1} flags
-expect 0 unlink ${n1}
-
-expect 0 symlink ${n2} ${n1}
-expect EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
-expect none lstat ${n1} flags
-expect 0 lchown ${n1} 65534 65534
-expect EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
-expect none lstat ${n1} flags
-expect 0 unlink ${n1}
+for type in regular dir fifo block char socket symlink; do
+	if [ "${type}" != "symlink" ]; then
+		create_file ${type} ${n1}
+		expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
+		expect none stat ${n1} flags
+		expect 0 chown ${n1} 65534 65534
+		expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
+		expect none stat ${n1} flags
+		if [ "${type}" = "dir" ]; then
+			expect 0 rmdir ${n1}
+		else
+			expect 0 unlink ${n1}
+		fi
+	fi
+
+	create_file ${type} ${n1}
+	expect EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
+	expect none lstat ${n1} flags
+	expect 0 lchown ${n1} 65534 65534
+	expect EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
+	expect none lstat ${n1} flags
+	if [ "${type}" = "dir" ]; then
+		expect 0 rmdir ${n1}
+	else
+		expect 0 unlink ${n1}
+	fi
+done
 
 cd ${cdir}
 expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/chflags/08.t
==============================================================================
--- head/tools/regression/fstest/tests/chflags/08.t	Fri Aug 13 21:04:43 2010	(r211289)
+++ head/tools/regression/fstest/tests/chflags/08.t	Fri Aug 13 21:17:59 2010	(r211290)
@@ -8,7 +8,7 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..78"
+echo "1..249"
 
 n0=`namegen`
 n1=`namegen`
@@ -18,53 +18,41 @@ expect 0 mkdir ${n0} 0755
 cdir=`pwd`
 cd ${n0}
 
-expect 0 create ${n1} 0644
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
+for type in regular dir fifo block char socket symlink; do
+	if [ "${type}" != "symlink" ]; then
+		create_file ${type} ${n1}
+		expect 0 chown ${n1} 65534 65534
+		for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
+			expect 0 chflags ${n1} ${flag}
+			expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
+			expect ${flag} stat ${n1} flags
+			expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
+			expect ${flag} stat ${n1} flags
+		done
+		expect 0 chflags ${n1} none
+		if [ "${type}" = "dir" ]; then
+			expect 0 rmdir ${n1}
+		else
+			expect 0 unlink ${n1}
+		fi
+	fi
+
+	create_file ${type} ${n1}
+	expect 0 lchown ${n1} 65534 65534
+	for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
+		expect 0 lchflags ${n1} ${flag}
+		expect EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
+		expect ${flag} lstat ${n1} flags
+		expect EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
+		expect ${flag} lstat ${n1} flags
+	done
+	expect 0 lchflags ${n1} none
+	if [ "${type}" = "dir" ]; then
+		expect 0 rmdir ${n1}
+	else
+		expect 0 unlink ${n1}
+	fi
 done
-expect 0 chflags ${n1} none
-expect 0 unlink ${n1}
-
-expect 0 mkdir ${n1} 0755
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-done
-expect 0 chflags ${n1} none
-expect 0 rmdir ${n1}
-
-expect 0 mkfifo ${n1} 0644
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	expect EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	expect EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-done
-expect 0 chflags ${n1} none
-expect 0 unlink ${n1}
-
-expect 0 symlink ${n2} ${n1}
-expect 0 lchown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 lchflags ${n1} ${flag}
-	expect EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
-	expect ${flag} lstat ${n1} flags
-	expect EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
-	expect ${flag} lstat ${n1} flags
-done
-expect 0 lchflags ${n1} none
-expect 0 unlink ${n1}
 
 cd ${cdir}
 expect 0 rmdir ${n0}

Modified: head/tools/regression/fstest/tests/chflags/09.t
==============================================================================
--- head/tools/regression/fstest/tests/chflags/09.t	Fri Aug 13 21:04:43 2010	(r211289)
+++ head/tools/regression/fstest/tests/chflags/09.t	Fri Aug 13 21:17:59 2010	(r211290)
@@ -8,7 +8,7 @@ dir=`dirname $0`
 
 require chflags
 
-echo "1..102"
+echo "1..327"
 
 n0=`namegen`
 n1=`namegen`
@@ -21,61 +21,45 @@ expect 0 mkdir ${n0} 0755
 cdir=`pwd`
 cd ${n0}
 
-expect 0 create ${n1} 0644
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	jexpect 1 `pwd` EPERM chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
+for type in regular dir fifo block char socket symlink; do
+	if [ "${type}" != "symlink" ]; then
+		create_file ${type} ${n1}
+		expect 0 chown ${n1} 65534 65534
+		for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
+			expect 0 chflags ${n1} ${flag}
+			jexpect 1 `pwd` EPERM chflags ${n1} UF_NODUMP
+			expect ${flag} stat ${n1} flags
+			jexpect 1 `pwd` EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
+			expect ${flag} stat ${n1} flags
+			jexpect 1 `pwd` EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
+			expect ${flag} stat ${n1} flags
+		done
+		expect 0 chflags ${n1} none
+		if [ "${type}" = "dir" ]; then
+			expect 0 rmdir ${n1}
+		else
+			expect 0 unlink ${n1}
+		fi
+	fi
+
+	create_file ${type} ${n1}
+	expect 0 lchown ${n1} 65534 65534
+	for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
+		expect 0 lchflags ${n1} ${flag}
+		jexpect 1 `pwd` EPERM lchflags ${n1} UF_NODUMP
+		expect ${flag} lstat ${n1} flags
+		jexpect 1 `pwd` EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
+		expect ${flag} lstat ${n1} flags
+		jexpect 1 `pwd` EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
+		expect ${flag} lstat ${n1} flags
+	done
+	expect 0 lchflags ${n1} none
+	if [ "${type}" = "dir" ]; then
+		expect 0 rmdir ${n1}
+	else
+		expect 0 unlink ${n1}
+	fi
 done
-expect 0 chflags ${n1} none
-expect 0 unlink ${n1}
-
-expect 0 mkdir ${n1} 0755
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	jexpect 1 `pwd` EPERM chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-done
-expect 0 chflags ${n1} none
-expect 0 rmdir ${n1}
-
-expect 0 mkfifo ${n1} 0644
-expect 0 chown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 chflags ${n1} ${flag}
-	jexpect 1 `pwd` EPERM chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65533 -g 65533 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65534 -g 65534 chflags ${n1} UF_NODUMP
-	expect ${flag} stat ${n1} flags
-done
-expect 0 chflags ${n1} none
-expect 0 unlink ${n1}
-
-expect 0 symlink ${n2} ${n1}
-expect 0 lchown ${n1} 65534 65534
-for flag in SF_IMMUTABLE SF_APPEND SF_NOUNLINK; do
-	expect 0 lchflags ${n1} ${flag}
-	jexpect 1 `pwd` EPERM lchflags ${n1} UF_NODUMP
-	expect ${flag} lstat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65533 -g 65533 lchflags ${n1} UF_NODUMP
-	expect ${flag} lstat ${n1} flags
-	jexpect 1 `pwd` EPERM -u 65534 -g 65534 lchflags ${n1} UF_NODUMP
-	expect ${flag} lstat ${n1} flags
-done
-expect 0 lchflags ${n1} none
-expect 0 unlink ${n1}
 
 sysctl security.jail.chflags_allowed=${old} >/dev/null
 cd ${cdir}


More information about the svn-src-head mailing list