From owner-svn-src-projects@freebsd.org Tue Feb 13 17:49:10 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1457DF15150 for ; Tue, 13 Feb 2018 17:49:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id B292486A2A; Tue, 13 Feb 2018 17:49:09 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AD72124046; Tue, 13 Feb 2018 17:49:09 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w1DHn9fK002633; Tue, 13 Feb 2018 17:49:09 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w1DHn8if002619; Tue, 13 Feb 2018 17:49:08 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201802131749.w1DHn8if002619@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 13 Feb 2018 17:49:08 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: 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... X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: 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/cli_root/zfs_unmount tes... X-SVN-Commit-Revision: 329230 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Feb 2018 17:49:10 -0000 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