Output some info about the size of our structures.
[rsync/rsync.git] / testsuite / devices.test
index 50fecec..aebb86d 100644 (file)
 chkfile="$scratchdir/rsync.chk"
 outfile="$scratchdir/rsync.out"
 
-# This is only called if rsync was run with -v or -vv (not -i alone).
-# Higher levels of -v would require more filtering.
-filter_outfile() {
-    sed -e '/^building file list /d' \
-       -e '/^created directory /d' \
-       -e '/^done$/d' \
-       -e '/ --whole-file$/d' \
-       -e '/^total: /d' \
-       -e '/^$/,$d' \
-       <"$outfile" >"$outfile.new"
-    mv "$outfile.new" "$outfile"
-}
-
 # Build some hardlinks
 
 case `id -u` in
@@ -55,14 +42,14 @@ touch -r "$fromdir/block" "$fromdir/block2"
 $RSYNC -ai "$fromdir/block" "$todir/block2" \
     | tee "$outfile"
 cat <<EOT >"$chkfile"
-cD++++++ block
+cD+++++++ block
 EOT
 diff $diffopt "$chkfile" "$outfile" || test_fail "test 1 failed"
 
 $RSYNC -ai "$fromdir/block2" "$todir/block" \
     | tee "$outfile"
 cat <<EOT >"$chkfile"
-cD++++++ block2
+cD+++++++ block2
 EOT
 diff $diffopt "$chkfile" "$outfile" || test_fail "test 2 failed"
 
@@ -71,7 +58,7 @@ sleep 1
 $RSYNC -Di "$fromdir/block3" "$todir/block" \
     | tee "$outfile"
 cat <<EOT >"$chkfile"
-cD..T... block3
+cD..T.... block3
 EOT
 diff $diffopt "$chkfile" "$outfile" || test_fail "test 3 failed"
 
@@ -79,15 +66,15 @@ $RSYNC -aiHvv "$fromdir/" "$todir/" \
     | tee "$outfile"
 filter_outfile
 cat <<EOT >"$chkfile"
-.d..t... ./
-cD..t... block
-cD...... block2
-cD++++++ block3
-hD++++++ block2.5 => block3
-cD++++++ char
-cD++++++ char2
-cD++++++ char3
-cD++++++ fifo
+.d..t.... ./
+cD..t.... block
+cD        block2
+cD+++++++ block3
+hD+++++++ block2.5 => block3
+cD+++++++ char
+cD+++++++ char2
+cD+++++++ char3
+cS+++++++ fifo
 EOT
 if test ! -b "$fromdir/block2.5"; then
     sed -e '/block2\.5/d' \
@@ -102,5 +89,23 @@ echo ""
 ( cd "$todir" && rsync_ls_lR . ) > "$tmpdir/ls-to"
 diff $diffopt "$tmpdir/ls-from" "$tmpdir/ls-to"
 
+if test -b "$fromdir/block2.5"; then
+    set -x
+    $RSYNC -aii --link-dest="$todir" "$fromdir/" "$chkdir/" \
+       | tee "$outfile"
+    cat <<EOT >"$chkfile"
+cd        ./
+hD        block
+hD        block2
+hD        block2.5
+hD        block3
+hD        char
+hD        char2
+hD        char3
+hS        fifo
+EOT
+    diff $diffopt "$chkfile" "$outfile" || test_fail "test 4 failed"
+fi
+
 # The script would have aborted on error, so getting here means we've won.
 exit 0