Preparing for release of 2.6.6pre1
[rsync.git] / testsuite / rsync.fns
index a6ddd8c24bc7a9ea02166c55fc293d9c4f5a507f..7c44d5911935b1b2a0a7a6e29d32d17fbb14382f 100644 (file)
 
 
 tmpdir="$scratchdir"
-fromdir=$tmpdir/from
-todir=$tmpdir/to
-chkdir=$tmpdir/chk
+fromdir="$tmpdir/from"
+todir="$tmpdir/to"
+chkdir="$tmpdir/chk"
 
 # Berkley's nice.
 PATH="$PATH:/usr/ucb"
 
-if diff -u $srcdir/testsuite/rsync.fns $srcdir/testsuite/rsync.fns >/dev/null 2>&1; then
+if diff -u "$srcdir/testsuite/rsync.fns" "$srcdir/testsuite/rsync.fns" >/dev/null 2>&1; then
     diffopt="-u"
 else
     diffopt="-c"
@@ -50,7 +50,7 @@ printmsg() {
 
 
 rsync_ls_lR() {
-    find "$@" -print | sort | xargs "$TOOLDIR/tls"
+    find "$@" -print | sort | sed 's/ /\\ /g' | xargs "$TOOLDIR/tls"
 }
 
 rsync_getgroups() { 
@@ -66,9 +66,9 @@ hands_setup() {
     rm -rf "$fromdir"
     rm -rf "$todir"
 
-    [ -d $tmpdir ] || mkdir "$tmpdir"
-    [ -d $fromdir ] || mkdir "$fromdir"
-    [ -d $todir ] || mkdir "$todir"
+    [ -d "$tmpdir" ] || mkdir "$tmpdir"
+    [ -d "$fromdir" ] || mkdir "$fromdir"
+    [ -d "$todir" ] || mkdir "$todir"
 
     # On some BSD systems, the umask affects the mode of created
     # symlinks, even though the mode apparently has no effect on how
@@ -92,15 +92,23 @@ hands_setup() {
     ln -s nolf "$fromdir/nolf-symlink"
     umask 022
 
-    cat $srcdir/*.c > "$fromdir/text"
+    cat "$srcdir"/*.c > "$fromdir/text"
     mkdir "$fromdir/dir"
     cp "$fromdir/text" "$fromdir/dir"
     mkdir "$fromdir/dir/subdir"
     echo some data > "$fromdir/dir/subdir/foobar.baz"
     mkdir "$fromdir/dir/subdir/subsubdir"
-    ls -ltr /etc > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
+    if [ -r /etc ]; then
+       ls -ltr /etc > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
+    else
+       ls -ltr / > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
+    fi
     mkdir "$fromdir/dir/subdir/subsubdir2"
-    ls -lt /bin > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
+    if [ -r /bin ]; then
+       ls -lt /bin > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
+    else
+       ls -lt / > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
+    fi
 
 #      echo testing head:
 #      ls -lR "$srcdir" | head -10 || echo failed
@@ -157,20 +165,23 @@ checkit() {
        failed="YES";
     fi
 
-    echo "-------------"
-    echo "check how the files compare with diff:"
-    echo ""
-    for f in `cd "$2"; find . -type f -print `
-    do 
-        diff $diffopt "$2"/"$f" "$3"/"$f" || failed=YES
-    done
-
     echo "-------------"
     echo "check how the directory listings compare with diff:"
     echo ""
     ( cd "$2" && rsync_ls_lR . ) > "$tmpdir/ls-from"
     ( cd "$3" && rsync_ls_lR . ) > "$tmpdir/ls-to"
     diff $diffopt "$tmpdir/ls-from" "$tmpdir/ls-to" || failed=YES
+
+    echo "-------------"
+    echo "check how the files compare with diff:"
+    echo ""
+    if [ "x$4" != x ]; then
+       echo "  === Skipping (as directed) ==="
+    else
+       diff -r $diffopt "$2" "$3" || failed=YES
+    fi
+
+    echo "-------------"
     if [ -z "$failed" ] ; then
        return 0
     else