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>
*** 24,34 ****
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# 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
--- 24,34 ----
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# 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
*** 55,77 ****
cd $CWD || log_fail "Could not cd $CWD"
fi
snapexists $SNAPFS
if [[ $? -eq 0 ]]; then
! log_must $ZFS destroy $SNAPFS
fi
if [[ -e $SNAPDIR ]]; then
! log_must $RM -rf $SNAPDIR > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
! log_must $RM -rf $TESTDIR/* > /dev/null 2>&1
fi
if [[ -e /tmp/zfs_snapshot2.$$ ]]; then
! log_must $RM -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
fi
}
log_assert "Verify an archive of a file system is identical to " \
--- 55,77 ----
cd $CWD || log_fail "Could not cd $CWD"
fi
snapexists $SNAPFS
if [[ $? -eq 0 ]]; then
! log_must zfs destroy $SNAPFS
fi
if [[ -e $SNAPDIR ]]; then
! log_must rm -rf $SNAPDIR > /dev/null 2>&1
fi
if [[ -e $TESTDIR ]]; then
! log_must rm -rf $TESTDIR/* > /dev/null 2>&1
fi
if [[ -e /tmp/zfs_snapshot2.$$ ]]; then
! log_must rm -rf /tmp/zfs_snapshot2.$$ > /dev/null 2>&1
fi
}
log_assert "Verify an archive of a file system is identical to " \
*** 81,134 ****
typeset -i COUNT=21
typeset OP=create
[[ -n $TESTDIR ]] && \
! $RM -rf $TESTDIR/* > /dev/null 2>&1
log_note "Create files in the zfs filesystem..."
typeset i=1
while [ $i -lt $COUNT ]; do
! log_must $FILE_WRITE -o $OP -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
(( i = i + 1 ))
done
log_note "Create a tarball from $TESTDIR contents..."
CWD=$PWD
cd $TESTDIR || log_fail "Could not cd $TESTDIR"
! log_must $TAR cf $TESTDIR/tarball.original.tar file*
cd $CWD || log_fail "Could not cd $CWD"
log_note "Create a snapshot and mount it..."
! log_must $ZFS snapshot $SNAPFS
log_note "Remove all of the original files..."
! log_must $RM -f $TESTDIR/file* > /dev/null 2>&1
log_note "Create tarball of snapshot..."
CWD=$PWD
cd $SNAPDIR || log_fail "Could not cd $SNAPDIR"
! log_must $TAR cf $TESTDIR/tarball.snapshot.tar file*
cd $CWD || log_fail "Could not cd $CWD"
! log_must $MKDIR $TESTDIR/original
! log_must $MKDIR $TESTDIR/snapshot
CWD=$PWD
cd $TESTDIR/original || log_fail "Could not cd $TESTDIR/original"
! log_must $TAR xf $TESTDIR/tarball.original.tar
cd $TESTDIR/snapshot || log_fail "Could not cd $TESTDIR/snapshot"
! log_must $TAR xf $TESTDIR/tarball.snapshot.tar
cd $CWD || log_fail "Could not cd $CWD"
! $DIRCMP $TESTDIR/original $TESTDIR/snapshot > /tmp/zfs_snapshot2.$$
! $GREP different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
if [[ $? -ne 1 ]]; then
log_fail "Directory structures differ."
fi
log_pass "Directory structures match."
--- 81,134 ----
typeset -i COUNT=21
typeset OP=create
[[ -n $TESTDIR ]] && \
! rm -rf $TESTDIR/* > /dev/null 2>&1
log_note "Create files in the zfs filesystem..."
typeset i=1
while [ $i -lt $COUNT ]; do
! log_must file_write -o $OP -f $TESTDIR/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
(( i = i + 1 ))
done
log_note "Create a tarball from $TESTDIR contents..."
CWD=$PWD
cd $TESTDIR || log_fail "Could not cd $TESTDIR"
! log_must tar cf $TESTDIR/tarball.original.tar file*
cd $CWD || log_fail "Could not cd $CWD"
log_note "Create a snapshot and mount it..."
! log_must zfs snapshot $SNAPFS
log_note "Remove all of the original files..."
! log_must rm -f $TESTDIR/file* > /dev/null 2>&1
log_note "Create tarball of snapshot..."
CWD=$PWD
cd $SNAPDIR || log_fail "Could not cd $SNAPDIR"
! log_must tar cf $TESTDIR/tarball.snapshot.tar file*
cd $CWD || log_fail "Could not cd $CWD"
! log_must mkdir $TESTDIR/original
! log_must mkdir $TESTDIR/snapshot
CWD=$PWD
cd $TESTDIR/original || log_fail "Could not cd $TESTDIR/original"
! log_must tar xf $TESTDIR/tarball.original.tar
cd $TESTDIR/snapshot || log_fail "Could not cd $TESTDIR/snapshot"
! log_must tar xf $TESTDIR/tarball.snapshot.tar
cd $CWD || log_fail "Could not cd $CWD"
! dircmp $TESTDIR/original $TESTDIR/snapshot > /tmp/zfs_snapshot2.$$
! grep different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
if [[ $? -ne 1 ]]; then
log_fail "Directory structures differ."
fi
log_pass "Directory structures match."