Integrate tools/regression/acltools into the FreeBSD test suite as tests/sys/acl
- Make the requirements more complete for the testcases - Detect prerequisites so the tests won't fail (zfs.ko is loaded, zpool(1) is available, ACL support is enabled with UFS, etc). - Work with temporary files/directories/mountpoints that work with atf/kyua - Limit the testcases to work on temporary filesystems to reduce tainting the test host MFC after: 2 weeks Reviewed by: trasz (earlier version) Differential Revision: https://reviews.freebsd.org/D3810
This commit is contained in:
parent
ab866a3d61
commit
b3af24b4ff
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=289446
@ -360,6 +360,8 @@
|
||||
..
|
||||
..
|
||||
sys
|
||||
acl
|
||||
..
|
||||
aio
|
||||
..
|
||||
fifo
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
TESTSDIR= ${TESTSBASE}/sys
|
||||
|
||||
TESTS_SUBDIRS+= acl
|
||||
TESTS_SUBDIRS+= aio
|
||||
TESTS_SUBDIRS+= fifo
|
||||
TESTS_SUBDIRS+= file
|
||||
|
@ -37,12 +37,16 @@
|
||||
#
|
||||
# Output should be obvious.
|
||||
|
||||
echo "1..4"
|
||||
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "not ok 1 - you need to be root to run this test."
|
||||
exit 1
|
||||
if [ $(sysctl -n kern.features.ufs_acl 2>/dev/null || echo 0) -eq 0 ]; then
|
||||
echo "1..0 # SKIP system does not have UFS ACL support"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "1..0 # SKIP you must be root"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "1..4"
|
||||
|
||||
TESTDIR=$(dirname $(realpath $0))
|
||||
|
||||
@ -50,9 +54,11 @@ TESTDIR=$(dirname $(realpath $0))
|
||||
MD=`mdconfig -at swap -s 10m`
|
||||
MNT=`mktemp -dt acltools`
|
||||
newfs /dev/$MD > /dev/null
|
||||
trap "cd /; umount -f $MNT; rmdir $MNT; mdconfig -d -u $MD" EXIT
|
||||
mount -o acls /dev/$MD $MNT
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 1 - mount failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -78,8 +84,5 @@ else
|
||||
fi
|
||||
|
||||
cd /
|
||||
umount -f $MNT
|
||||
rmdir $MNT
|
||||
mdconfig -du $MD
|
||||
|
||||
echo "ok 4"
|
@ -39,21 +39,27 @@
|
||||
#
|
||||
# Output should be obvious.
|
||||
|
||||
echo "1..4"
|
||||
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "not ok 1 - you need to be root to run this test."
|
||||
exit 1
|
||||
if ! sysctl vfs.zfs.version.spa >/dev/null 2>&1; then
|
||||
echo "1..0 # SKIP system doesn't have ZFS loaded"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "1..0 # SKIP you must be root"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "1..4"
|
||||
|
||||
TESTDIR=$(dirname $(realpath $0))
|
||||
|
||||
# Set up the test filesystem.
|
||||
MD=`mdconfig -at swap -s 64m`
|
||||
MNT=`mktemp -dt acltools`
|
||||
trap "cd /; zpool destroy -f acltools; rmdir $MNT; mdconfig -d -u $MD" EXIT
|
||||
zpool create -m $MNT acltools /dev/$MD
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 1 - 'zpool create' failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -78,9 +84,4 @@ else
|
||||
echo "not ok 3"
|
||||
fi
|
||||
|
||||
cd /
|
||||
zpool destroy -f acltools
|
||||
rmdir $MNT
|
||||
mdconfig -du $MD
|
||||
|
||||
echo "ok 4"
|
@ -37,12 +37,16 @@
|
||||
#
|
||||
# Output should be obvious.
|
||||
|
||||
echo "1..4"
|
||||
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "not ok 1 - you need to be root to run this test."
|
||||
exit 1
|
||||
if [ $(sysctl -n kern.features.ufs_acl 2>/dev/null || echo 0) -eq 0 ]; then
|
||||
echo "1..0 # SKIP system does not have UFS ACL support"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "1..0 # SKIP you must be root"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "1..4"
|
||||
|
||||
TESTDIR=$(dirname $(realpath $0))
|
||||
|
||||
@ -50,9 +54,11 @@ TESTDIR=$(dirname $(realpath $0))
|
||||
MD=`mdconfig -at swap -s 10m`
|
||||
MNT=`mktemp -dt acltools`
|
||||
newfs /dev/$MD > /dev/null
|
||||
trap "cd /; umount -f $MNT; rmdir $MNT; mdconfig -d -u $MD" EXIT
|
||||
mount -o nfsv4acls /dev/$MD $MNT
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 1 - mount failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -82,9 +88,6 @@ else
|
||||
fi
|
||||
|
||||
cd /
|
||||
umount -f $MNT
|
||||
rmdir $MNT
|
||||
mdconfig -du $MD
|
||||
|
||||
echo "ok 4"
|
||||
|
@ -34,12 +34,16 @@
|
||||
#
|
||||
# Output should be obvious.
|
||||
|
||||
echo "1..5"
|
||||
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "not ok 1 - you need to be root to run this test."
|
||||
exit 1
|
||||
if ! sysctl vfs.zfs.version.spa >/dev/null 2>&1; then
|
||||
echo "1..0 # SKIP system doesn't have ZFS loaded"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "1..0 # SKIP you must be root"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "1..5"
|
||||
|
||||
TESTDIR=$(dirname $(realpath $0))
|
||||
MNTROOT=`mktemp -dt acltools`
|
||||
@ -51,6 +55,7 @@ mkdir $MNT1
|
||||
zpool create -m $MNT1 acltools /dev/$MD1
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 1 - 'zpool create' failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -63,6 +68,7 @@ newfs /dev/$MD2 > /dev/null
|
||||
mount -o acls /dev/$MD2 $MNT2
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 2 - mount failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -75,6 +81,7 @@ newfs /dev/$MD3 > /dev/null
|
||||
mount /dev/$MD3 $MNT3
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "not ok 3 - mount failed."
|
||||
echo 'Bail out!'
|
||||
exit 1
|
||||
fi
|
||||
|
@ -31,12 +31,16 @@
|
||||
#
|
||||
# WARNING: It uses hardcoded ZFS pool name "acltools"
|
||||
|
||||
echo "1..3"
|
||||
|
||||
if [ `whoami` != "root" ]; then
|
||||
echo "not ok 1 - you need to be root to run this test."
|
||||
exit 1
|
||||
if ! sysctl vfs.zfs.version.spa >/dev/null 2>&1; then
|
||||
echo "1..0 # SKIP system doesn't have ZFS loaded"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(id -u) -ne 0 ]; then
|
||||
echo "1..0 # SKIP you must be root"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "1..3"
|
||||
|
||||
TESTDIR=$(dirname $(realpath $0))
|
||||
|
29
tests/sys/acl/Makefile
Normal file
29
tests/sys/acl/Makefile
Normal file
@ -0,0 +1,29 @@
|
||||
# $FreeBSD$
|
||||
|
||||
TESTSDIR= ${TESTSBASE}/sys/acl
|
||||
|
||||
BINDIR= ${TESTSDIR}
|
||||
|
||||
FILES+= tools-crossfs.test
|
||||
FILES+= tools-nfs4.test
|
||||
FILES+= tools-nfs4-psarc.test
|
||||
FILES+= tools-nfs4-trivial.test
|
||||
FILES+= tools-posix.test
|
||||
|
||||
SCRIPTS+= run
|
||||
|
||||
TAP_TESTS_SH+= 00
|
||||
TAP_TESTS_SH+= 01
|
||||
TAP_TESTS_SH+= 02
|
||||
TAP_TESTS_SH+= 03
|
||||
TAP_TESTS_SH+= 04
|
||||
|
||||
.for t in ${TAP_TESTS_SH}
|
||||
TEST_METADATA.$t+= required_user="root"
|
||||
.endfor
|
||||
|
||||
.for t in 01 03 04
|
||||
TEST_METADATA.$t+= required_programs="/sbin/zpool"
|
||||
.endfor
|
||||
|
||||
.include <bsd.test.mk>
|
Loading…
Reference in New Issue
Block a user