Fixed the interaction of --fake-super with --link-dest & --xattrs.
[rsync/rsync.git] / testsuite / rsync.fns
index 19cfb70..de62866 100644 (file)
@@ -23,6 +23,11 @@ fromdir="$tmpdir/from"
 todir="$tmpdir/to"
 chkdir="$tmpdir/chk"
 
+# For itemized output:
+all_plus='+++++++++'
+allspace='         '
+dots='.....' # trailing dots after changes
+
 # Berkley's nice.
 PATH="$PATH:/usr/ucb"
 
@@ -52,10 +57,13 @@ runtest() {
 # messages).  This isn't needed if you use -i without -v.
 filter_outfile() {
     sed -e '/^building file list /d' \
+       -e '/^sending incremental file list/d' \
        -e '/^created directory /d' \
        -e '/^done$/d' \
        -e '/ --whole-file$/d' \
        -e '/^total: /d' \
+       -e '/^client charset: /d' \
+       -e '/^server charset: /d' \
        -e '/^$/,$d' \
        <"$outfile" >"$outfile.new"
     mv "$outfile.new" "$outfile"
@@ -145,16 +153,16 @@ hands_setup() {
 # Many machines do not have "mkdir -p", so we have to build up long paths.
 # How boring.  
 makepath() {
-    echo "        makepath $1"
-    p="$1"
-    (
+    for p in "${@}"; do
+       (echo "        makepath $p"
+
        # Absolut Unix.
        if echo $p | grep '^/' >/dev/null
        then
            cd /
        fi
     
-       # This will break if $1 contains a space.
+       # This will break if $p contains a space.
        for c in `echo $p | tr '/' ' '`
        do 
            if [ -d "$c" ] || mkdir "$c" 
@@ -163,8 +171,8 @@ makepath() {
            else
                echo "failed to create $c" >&2; return $?
            fi
-       done
-    )
+       done)
+    done
 }
 
 
@@ -231,7 +239,8 @@ build_rsyncd_conf() {
 
 pid file = $pidfile
 use chroot = no
-hosts allow = localhost 127.0.0.1 $hostname
+munge symlinks = no
+hosts allow = localhost 127.0.0.0/24 192.168.0.0/16 10.0.0.0/8 $hostname
 log file = $logfile
 log format = %i %h [%a] %m (%u) %l %f%L
 transfer logging = yes
@@ -252,6 +261,25 @@ gid = 0
        path = $scratchdir
        read only = no
 EOF
+
+    # Build a helper script to ignore exit code 23
+    ignore23="$scratchdir/ignore23"
+    echo "building help script $ignore23"
+
+    cat >"$ignore23" <<'EOT'
+if "${@}"; then
+    exit
+fi
+
+ret=$?
+
+if test $ret = 23; then
+    exit
+fi
+
+exit $ret
+EOT
+chmod +x "$ignore23"
 }