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."