summaryrefslogtreecommitdiffstats
path: root/tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh')
-rwxr-xr-xtests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh39
1 files changed, 19 insertions, 20 deletions
diff --git a/tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh b/tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh
index 68a616c02..d2a304670 100755
--- a/tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh
+++ b/tests/zfs-tests/tests/functional/snapshot/snapshot_006_pos.ksh
@@ -54,24 +54,28 @@ function cleanup
cd $CWD || log_fail "Could not cd $CWD"
fi
- snapexists $SNAPCTR
- if [[ $? -eq 0 ]]; then
- log_must zfs destroy $SNAPCTR
- fi
+ snapexists $SNAPCTR
+ if [[ $? -eq 0 ]]; then
+ log_must zfs destroy $SNAPCTR
+ fi
- if [[ -e $SNAPDIR1 ]]; then
- log_must rm -rf $SNAPDIR1 > /dev/null 2>&1
- fi
+ if [[ -e $SNAPDIR1 ]]; then
+ log_must rm -rf $SNAPDIR1 > /dev/null 2>&1
+ fi
- if [[ -e $TESTDIR1 ]]; then
- log_must rm -rf $TESTDIR1/* > /dev/null 2>&1
- fi
+ if [[ -e $TESTDIR1 ]]; then
+ log_must rm -rf $TESTDIR1/* > /dev/null 2>&1
+ fi
+ if [[ -d "$SNAPSHOT_TARDIR" ]]; then
+ log_must rm -rf $SNAPSHOT_TARDIR > /dev/null 2>&1
+ fi
}
log_assert "Verify that an archive of a dataset is identical to " \
"an archive of the dataset's snapshot."
+SNAPSHOT_TARDIR="$(mktemp -d /tmp/zfstests_snapshot_006.XXXXXX)"
log_onexit cleanup
typeset -i COUNT=21
@@ -85,14 +89,13 @@ typeset i=1
while [ $i -lt $COUNT ]; do
log_must file_write -o $OP -f $TESTDIR1/file$i \
-b $BLOCKSZ -c $NUM_WRITES -d $DATA
-
(( i = i + 1 ))
done
log_note "Create a tarball from $TESTDIR1 contents..."
CWD=$PWD
cd $TESTDIR1 || log_fail "Could not cd $TESTDIR1"
-log_must tar cf $TESTDIR1/tarball.original.tar file*
+log_must tar cf $SNAPSHOT_TARDIR/original.tar .
cd $CWD || log_fail "Could not cd $CWD"
log_note "Create a snapshot and mount it..."
@@ -104,7 +107,7 @@ log_must rm -f $TESTDIR1/file* > /dev/null 2>&1
log_note "Create tarball of snapshot..."
CWD=$PWD
cd $SNAPDIR1 || log_fail "Could not cd $SNAPDIR1"
-log_must tar cf $TESTDIR1/tarball.snapshot.tar file*
+log_must tar cf $SNAPSHOT_TARDIR/snapshot.tar .
cd $CWD || log_fail "Could not cd $CWD"
log_must mkdir $TESTDIR1/original
@@ -112,16 +115,12 @@ log_must mkdir $TESTDIR1/snapshot
CWD=$PWD
cd $TESTDIR1/original || log_fail "Could not cd $TESTDIR1/original"
-log_must tar xf $TESTDIR1/tarball.original.tar
+log_must tar xf $SNAPSHOT_TARDIR/original.tar
cd $TESTDIR1/snapshot || log_fail "Could not cd $TESTDIR1/snapshot"
-log_must tar xf $TESTDIR1/tarball.snapshot.tar
+log_must tar xf $SNAPSHOT_TARDIR/snapshot.tar
cd $CWD || log_fail "Could not cd $CWD"
-diff -q -r $TESTDIR1/original $TESTDIR1/snapshot > /dev/null 2>&1
-if [[ $? -eq 1 ]]; then
- log_fail "Directory structures differ."
-fi
-
+log_must directory_diff $TESTDIR1/original $TESTDIR1/snapshot
log_pass "Directory structures match."