X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/6cd7888e46fb7611668c981ff8193c5f3d16d8a6..0e9c3564c6763e4d99d7b518ccc27e60de622a3b:/testsuite/daemon.test diff --git a/testsuite/daemon.test b/testsuite/daemon.test index 87ebc099..113d6a59 100644 --- a/testsuite/daemon.test +++ b/testsuite/daemon.test @@ -19,14 +19,71 @@ # checking the log file # password authentication -# TODO: Put the common framework in a common file, so that we can have -# subtests fail and keep going. - . "$suitedir/rsync.fns" +chkfile="$scratchdir/rsync.chk" +outfile="$scratchdir/rsync.out" + +SSH="src/support/lsh --no-cd" +DIR_REPL='s/^\(d[^ ]*\) *[0-9][0-9]* /\1 DIR /' +LS_REPL='s;[0-9][0-9][0-9][0-9]/[0-9][0-9]/[0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9];####/##/## ##:##:##;' + build_rsyncd_conf -RSYNC_CONNECT_PROG="$rsync_bin --config=$conf --daemon" +makepath "$fromdir/foo" "$fromdir/bar/baz" +makepath "$todir" +echo one >"$fromdir/foo/one" +echo two >"$fromdir/bar/two" +echo three >"$fromdir/bar/baz/three" + +cd "$scratchdir" + +ln -s test-rsyncd.conf rsyncd.conf + +confopt='' +case `id -u` in +0) + # Root needs to specify the config file, or it uses /etc/rsyncd.conf. + echo "Forcing --config=$conf" + confopt=" --config=$conf" + ;; +esac + +$RSYNC -ve "$SSH" --rsync-path="$RSYNC$confopt" localhost:: + +RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon" export RSYNC_CONNECT_PROG -$rsync_bin -v localhost:: +$RSYNC -v localhost:: \ + | tee "$outfile" +# These have a space-padded 15-char name, then a tab, then a comment. +sed 's/NOCOMMENT//' <"$chkfile" +test-from r/o +test-to r/w +test-scratch NOCOMMENT +EOT +diff $diffopt "$chkfile" "$outfile" || test_fail "test 1 failed" + +$RSYNC -r localhost::test-hidden \ + | sed "$DIR_REPL" | sed "$LS_REPL" \ + | tee "$outfile" +cat <"$chkfile" +drwxr-xr-x DIR ####/##/## ##:##:## . +drwxr-xr-x DIR ####/##/## ##:##:## bar +-rw-r--r-- 4 ####/##/## ##:##:## bar/two +drwxr-xr-x DIR ####/##/## ##:##:## bar/baz +-rw-r--r-- 6 ####/##/## ##:##:## bar/baz/three +drwxr-xr-x DIR ####/##/## ##:##:## foo +-rw-r--r-- 4 ####/##/## ##:##:## foo/one +EOT +diff $diffopt "$chkfile" "$outfile" || test_fail "test 2 failed" + +$RSYNC -r localhost::test-from/f* \ + | sed "$DIR_REPL" | sed "$LS_REPL" \ + | tee "$outfile" +cat <"$chkfile" +drwxr-xr-x DIR ####/##/## ##:##:## foo +-rw-r--r-- 4 ####/##/## ##:##:## foo/one +EOT +diff $diffopt "$chkfile" "$outfile" || test_fail "test 3 failed" +