Changed some instances of \" in checkit calls to '.
[rsync/rsync.git] / testsuite / rsync.fns
index 7c44d59..eaad40a 100644 (file)
@@ -32,6 +32,9 @@ else
     diffopt="-c"
 fi
 
+HOME="$scratchdir"
+export HOME
+
 runtest() {
     echo $ECHO_N "Test $1: $ECHO_C"
     if eval "$2"
@@ -44,13 +47,39 @@ runtest() {
     fi
 }
 
+# Call this if you want to filter out verbose messages (-v or -vv) from
+# the output of an rsync run (whittling the output down to just the file
+# 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"
+}
+
 printmsg() {
     echo "$1"
 }
 
-
 rsync_ls_lR() {
-    find "$@" -print | sort | sed 's/ /\\ /g' | xargs "$TOOLDIR/tls"
+    find "$@" -print | sort | sed 's/ /\\ /g' | xargs "$TOOLDIR/tls" $TLS_ARGS
+}
+
+check_perms() {
+    perms=`"$TOOLDIR/tls" "$1" | sed 's/^[-d]\(.........\).*/\1/'`
+    if test $perms = $2; then
+       return 0
+    fi
+    echo "permissions: $perms on $1"
+    echo "should be:   $2"
+    test_fail "failed test $3"
 }
 
 rsync_getgroups() { 
@@ -118,17 +147,17 @@ 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"
-    (
+makepath() {
+    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" 
@@ -137,8 +166,8 @@ makepath () {
            else
                echo "failed to create $c" >&2; return $?
            fi
-       done
-    )
+       done)
+    done
 }
 
 
@@ -198,17 +227,19 @@ build_rsyncd_conf() {
     port=2612
     pidfile="$scratchdir/rsyncd.pid"
     logfile="$scratchdir/rsyncd.log"
+    hostname=`uname -n`
 
     cat >"$conf" <<EOF
 # rsyncd configuration file autogenerated by $0
 
 pid file = $pidfile
 use chroot = no
-hosts allow = localhost, 127.0.0.1
+hosts allow = localhost 127.0.0.1 10.0.1.2 $hostname
 log file = $logfile
+log format = %i %h [%a] %m (%u) %l %f%L
+transfer logging = yes
 exclude = foobar.baz
 max verbosity = 9
-
 uid = 0
 gid = 0
 
@@ -219,6 +250,10 @@ gid = 0
 [test-to]
        path = $todir
        read only = no
+
+[test-scratch]
+       path = $scratchdir
+       read only = no
 EOF
 }