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