Print this page
7290 ZFS test suite needs to control what utilities it can run
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Reviewed by: Matthew Ahrens <mahrens@delphix.com>

*** 25,35 **** # Use is subject to license terms. # # ! # Copyright (c) 2013 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/snapshot/snapshot.cfg --- 25,35 ---- # Use is subject to license terms. # # ! # Copyright (c) 2013, 2016 by Delphix. All rights reserved. # . $STF_SUITE/include/libtest.shlib . $STF_SUITE/tests/functional/snapshot/snapshot.cfg
*** 46,101 **** verify_runnable "both" function cleanup { datasetexists $SNAPFS && \ ! log_must $ZFS destroy -Rf $SNAPFS datasetexists $TESTPOOL/$TESTFS@snap_a && \ ! log_must $ZFS destroy -Rf $TESTPOOL/$TESTFS@snap_a datasetexists $TESTPOOL/$TESTCLONE@snap_a && \ ! log_must $ZFS destroy -Rf $TESTPOOL/$TESTCLONE@snap_a datasetexists $TESTPOOL/$TESTCLONE && \ ! log_must $ZFS destroy $TESTPOOL/$TESTCLONE datasetexists $TESTPOOL/$TESTFS && \ ! log_must $ZFS destroy $TESTPOOL/$TESTFS ! log_must $ZFS create $TESTPOOL/$TESTFS ! log_must $ZFS set mountpoint=$TESTDIR $TESTPOOL/$TESTFS } log_assert "Verify renamed snapshots via mv can be destroyed." log_onexit cleanup # scenario 1 ! log_must $ZFS snapshot $SNAPFS ! log_must $MV $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a datasetexists $TESTPOOL/$TESTFS@snap_a || \ log_fail "rename snapshot via mv in .zfs/snapshot fails." ! log_must $ZFS destroy $TESTPOOL/$TESTFS@snap_a # scenario 2 ! log_must $ZFS snapshot $SNAPFS ! log_must $ZFS clone $SNAPFS $TESTPOOL/$TESTCLONE ! log_must $MV $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a datasetexists $TESTPOOL/$TESTFS@snap_a || \ log_fail "rename snapshot via mv in .zfs/snapshot fails." ! log_must $ZFS promote $TESTPOOL/$TESTCLONE # promote back to $TESTPOOL/$TESTFS for scenario 3 ! log_must $ZFS promote $TESTPOOL/$TESTFS ! log_must $ZFS destroy $TESTPOOL/$TESTCLONE ! log_must $ZFS destroy $TESTPOOL/$TESTFS@snap_a # scenario 3 ! log_must $ZFS snapshot $SNAPFS ! log_must $ZFS clone $SNAPFS $TESTPOOL/$TESTCLONE ! log_must $ZFS rename $SNAPFS $TESTPOOL/$TESTFS@snap_a ! log_must $ZFS promote $TESTPOOL/$TESTCLONE ! log_must $ZFS destroy $TESTPOOL/$TESTFS ! log_must $ZFS destroy $TESTPOOL/$TESTCLONE@snap_a log_pass "Verify renamed snapshots via mv can be destroyed." --- 46,101 ---- verify_runnable "both" function cleanup { datasetexists $SNAPFS && \ ! log_must zfs destroy -Rf $SNAPFS datasetexists $TESTPOOL/$TESTFS@snap_a && \ ! log_must zfs destroy -Rf $TESTPOOL/$TESTFS@snap_a datasetexists $TESTPOOL/$TESTCLONE@snap_a && \ ! log_must zfs destroy -Rf $TESTPOOL/$TESTCLONE@snap_a datasetexists $TESTPOOL/$TESTCLONE && \ ! log_must zfs destroy $TESTPOOL/$TESTCLONE datasetexists $TESTPOOL/$TESTFS && \ ! log_must zfs destroy $TESTPOOL/$TESTFS ! log_must zfs create $TESTPOOL/$TESTFS ! log_must zfs set mountpoint=$TESTDIR $TESTPOOL/$TESTFS } log_assert "Verify renamed snapshots via mv can be destroyed." log_onexit cleanup # scenario 1 ! log_must zfs snapshot $SNAPFS ! log_must mv $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a datasetexists $TESTPOOL/$TESTFS@snap_a || \ log_fail "rename snapshot via mv in .zfs/snapshot fails." ! log_must zfs destroy $TESTPOOL/$TESTFS@snap_a # scenario 2 ! log_must zfs snapshot $SNAPFS ! log_must zfs clone $SNAPFS $TESTPOOL/$TESTCLONE ! log_must mv $TESTDIR/$SNAPROOT/$TESTSNAP $TESTDIR/$SNAPROOT/snap_a datasetexists $TESTPOOL/$TESTFS@snap_a || \ log_fail "rename snapshot via mv in .zfs/snapshot fails." ! log_must zfs promote $TESTPOOL/$TESTCLONE # promote back to $TESTPOOL/$TESTFS for scenario 3 ! log_must zfs promote $TESTPOOL/$TESTFS ! log_must zfs destroy $TESTPOOL/$TESTCLONE ! log_must zfs destroy $TESTPOOL/$TESTFS@snap_a # scenario 3 ! log_must zfs snapshot $SNAPFS ! log_must zfs clone $SNAPFS $TESTPOOL/$TESTCLONE ! log_must zfs rename $SNAPFS $TESTPOOL/$TESTFS@snap_a ! log_must zfs promote $TESTPOOL/$TESTCLONE ! log_must zfs destroy $TESTPOOL/$TESTFS ! log_must zfs destroy $TESTPOOL/$TESTCLONE@snap_a log_pass "Verify renamed snapshots via mv can be destroyed."