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