`dircmp` doesn't exist in Linux while `diff` is already used
by zfstests on all platforms.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: John Wren Kennedy <john.kennedy@delphix.com>
Signed-off-by: George Melikov <mail@gmelikov.ru>
Closes #5996
done
log_note "verify snapshot contents"
for ds in $datasets; do
- status=$(dircmp /$ds /$ds/.zfs/snapshot/snap | grep "different")
- [[ -z $status ]] || log_fail "snapshot contents are different from" \
- "the filesystem"
+ diff -q -r /$ds /$ds/.zfs/snapshot/snap > /dev/null 2>&1
+ if [[ $? -eq 1 ]]; then
+ log_fail "snapshot contents are different from" \
+ "the filesystem"
+ fi
done
# We subtract 3 + 7 + 7 + 1 = 18 for three slashes (/), strlen("TESTFSA") == 7,
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
+diff -q -r $TESTDIR/original $TESTDIR/snapshot > /dev/null 2>&1
+if [[ $? -eq 1 ]]; then
log_fail "Directory structures differ."
fi
cd $CWD || log_fail "Could not cd $CWD"
-dircmp $TESTDIR1/original $TESTDIR1/snapshot > /tmp/zfs_snapshot2.$$
-grep different /tmp/zfs_snapshot2.$$ >/dev/null 2>&1
-if [[ $? -ne 1 ]]; then
+diff -q -r $TESTDIR1/original $TESTDIR1/snapshot > /dev/null 2>&1
+if [[ $? -eq 1 ]]; then
log_fail "Directory structures differ."
fi