svn commit: r329230 - in projects/zfsd/head: share/man/man7 tests/sys/cddl/zfs/include tests/sys/cddl/zfs/tests/cli_root/zfs_mount tests/sys/cddl/zfs/tests/cli_root/zfs_set tests/sys/cddl/zfs/tests...
Alan Somers
asomers at FreeBSD.org
Tue Feb 13 17:49:10 UTC 2018
Author: asomers
Date: Tue Feb 13 17:49:08 2018
New Revision: 329230
URL: https://svnweb.freebsd.org/changeset/base/329230
Log:
Eliminate the test_suites.FreeBSD.keep_pools Kyua config variable
Failing to set this variable would result in bad stuff happening, like the
ZFS test suite destroying or exporting your existing pools. Instead, modify
the test suite to always ignore every pool whose name doesn't match
/^testpool/.
tests/sys/cddl/zfs/include/libtest.kshlib
* Add other_pools_exist. It returns true if the system contains any
pools whose names don't match /^testpool/
* Modify all_pools to exclude pools whose names don't match
/^testpool/, and ignore KEEP.
tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_009_neg.ksh
tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_all_001_pos.ksh
tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh
tests/sys/cddl/zfs/tests/cli_root/zfs_set/canmount_002_pos.ksh
tests/sys/cddl/zfs/tests/cli_root/zfs_set/zfs_set_test.sh
tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_009_pos.ksh
tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_all_001_pos.ksh
tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_test.sh
tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/zfs_upgrade_test.sh
tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh
tests/sys/cddl/zfs/tests/mount/mount_test.sh
tests/sys/cddl/zfs/tests/mount/mounttest.ksh
Conditionally skip tests based on other_pools_exist, not KEEP.
share/man/man7/tests.7
Remove keep_pools from the man page
Sponsored by: Spectra Logic Corp
Modified:
projects/zfsd/head/share/man/man7/tests.7
projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_009_neg.ksh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_all_001_pos.ksh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/canmount_002_pos.ksh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/zfs_set_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_009_pos.ksh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_all_001_pos.ksh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/zfs_upgrade_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mount_test.sh
projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mounttest.ksh
Modified: projects/zfsd/head/share/man/man7/tests.7
==============================================================================
--- projects/zfsd/head/share/man/man7/tests.7 Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/share/man/man7/tests.7 Tue Feb 13 17:49:08 2018 (r329230)
@@ -26,7 +26,7 @@
.\" OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
.\" IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd August 21, 2017
+.Dd February 13, 2018
.Dt TESTS 7
.Os
.Sh NAME
@@ -186,11 +186,6 @@ Tests are not required to preserve any data present on
Must be set to a space delimited list of FIBs (routing tables).
Tests that need to modify a routing table may use any of these.
Tests will cleanup any new routes that they create.
-.It keep_pools
-Must be set to a space delimited list of
-.Xr zfs 8
-pools that the tests should not modify. No test may modify any of these pools,
-other than by writing temporary files in the usual locations.
.El
.Ss What to do if something fails?
If there is
Modified: projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/include/libtest.kshlib Tue Feb 13 17:49:08 2018 (r329230)
@@ -376,11 +376,18 @@ function default_cleanup
function all_pools
{
- cmd="$ZPOOL list -H -o name | $GREP -v '$NO_POOLS'"
- if [[ -n $KEEP ]]; then
- cmd="$cmd | $EGREP -v '(${KEEP})'"
- fi
+ cmd="$ZPOOL list -H -o name | $GREP 'testpool'"
eval $cmd
+}
+
+#
+# Returns 0 if the system contains any pools that must not be modified by the
+# ZFS tests.
+#
+function other_pools_exist
+{
+ typeset pool_count=`$ZPOOL list -H | $GREP -v '^testpool' | $WC -l`
+ [ "$pool_count" -ne 0 ]
}
function default_cleanup_noexit
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_009_neg.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_009_neg.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_009_neg.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -107,10 +107,6 @@ function verify_all
log_assert "Badly-formed 'zfs $mountcmd' with inapplicable scenarios " \
"should return an error."
-if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
-fi
-
log_onexit cleanup_all
log_must setup_all
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_all_001_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_all_001_pos.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_all_001_pos.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -176,10 +176,6 @@ function verify_all
log_assert "Verify that 'zfs $mountall' succeeds as root, " \
"and all available ZFS filesystems are mounted."
-if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
-fi
-
log_onexit cleanup_all
log_must setup_all
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_mount/zfs_mount_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -37,6 +37,10 @@ zfs_mount_001_pos_body()
. $(atf_get_srcdir)/zfs_mount.cfg
verify_disk_count "$DISKS" 1
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
+
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
ksh93 $(atf_get_srcdir)/zfs_mount_001_pos.ksh || atf_fail "Testcase failed"
}
@@ -249,8 +253,9 @@ zfs_mount_009_neg_body()
. $(atf_get_srcdir)/zfs_mount.kshlib
. $(atf_get_srcdir)/zfs_mount.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
@@ -331,8 +336,9 @@ zfs_mount_all_001_pos_body()
. $(atf_get_srcdir)/zfs_mount.kshlib
. $(atf_get_srcdir)/zfs_mount.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/canmount_002_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/canmount_002_pos.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/canmount_002_pos.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -114,9 +114,6 @@ function cleanup
}
log_assert "Setting canmount=noauto to file system, it must be successful."
-if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
-fi
log_onexit cleanup
set -A old_mnt
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/zfs_set_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/zfs_set_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_set/zfs_set_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -117,8 +117,9 @@ canmount_002_pos_body()
. $(atf_get_srcdir)/zfs_set_common.kshlib
. $(atf_get_srcdir)/zfs_set.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
@@ -147,8 +148,9 @@ canmount_003_pos_body()
. $(atf_get_srcdir)/zfs_set_common.kshlib
. $(atf_get_srcdir)/zfs_set.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_009_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_009_pos.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_009_pos.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -96,9 +96,6 @@ function restore_dataset
log_assert "zfs fource unmount and destroy in snapshot directory will not cause error."
-if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
-fi
log_onexit cleanup
for fs in $TESTPOOL/$TESTFS $TESTPOOL ; do
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_all_001_pos.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_all_001_pos.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_all_001_pos.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -176,10 +176,6 @@ function verify_all
log_assert "Verify that 'zfs $unmountall' succeeds as root, " \
"and all available ZFS filesystems are unmounted."
-if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
-fi
-
log_onexit cleanup_all
log_must setup_all
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_unmount/zfs_unmount_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -244,8 +244,9 @@ zfs_unmount_009_pos_body()
. $(atf_get_srcdir)/zfs_unmount.kshlib
. $(atf_get_srcdir)/zfs_unmount.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
@@ -273,8 +274,9 @@ zfs_unmount_all_001_pos_body()
. $(atf_get_srcdir)/zfs_unmount.kshlib
. $(atf_get_srcdir)/zfs_unmount.cfg
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/zfs_upgrade_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/zfs_upgrade_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zfs_upgrade/zfs_upgrade_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -140,8 +140,9 @@ zfs_upgrade_005_pos_body()
. $(atf_get_srcdir)/zfs_upgrade.cfg
. $(atf_get_srcdir)/zfs_upgrade.kshlib
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
verify_disk_count "$DISKS" 1
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -119,8 +119,9 @@ zpool_upgrade_004_pos_body()
. $(atf_get_srcdir)/zpool_upgrade.cfg
verify_disk_count "$DISKS" 2
- [[ -n "$KEEP" ]] && \
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
+ fi
ksh93 $(atf_get_srcdir)/setup.ksh || atf_fail "Setup failed"
ksh93 $(atf_get_srcdir)/zpool_upgrade_004_pos.ksh || atf_fail "Testcase failed"
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mount_test.sh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mount_test.sh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mount_test.sh Tue Feb 13 17:49:08 2018 (r329230)
@@ -59,8 +59,8 @@ umountall_001_body()
. $(atf_get_srcdir)/../../include/default.cfg
. $(atf_get_srcdir)/vars.cfg
- if [[ -n "$KEEP" ]]; then
- atf_skip "Can't test unmount -a when pools are in KEEP"
+ if other_pools_exist; then
+ atf_skip "Can't test unmount -a with existing pools"
fi
verify_disk_count "$DISKS" 1
Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mounttest.ksh
==============================================================================
--- projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mounttest.ksh Tue Feb 13 17:44:54 2018 (r329229)
+++ projects/zfsd/head/tests/sys/cddl/zfs/tests/mount/mounttest.ksh Tue Feb 13 17:49:08 2018 (r329230)
@@ -80,15 +80,9 @@ done
log_note Unmount the file systems
if [[ $unmountcmd = *all ]] ; then
- if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
- fi
log_must $ZFS $unmountcmd -F zfs
else
if [[ $unmountcmd = *-a ]] ; then
- if [[ -n $KEEP ]]; then
- log_unsupported "Can't test unmount -a when pools are in KEEP"
- fi
log_must $ZFS $unmountcmd
else
for fs in $TESTFSS ; do
More information about the svn-src-projects
mailing list