X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/3aae15ecfba78001055a547f79f801ccdbc17158..f5aeb6ff9b04432a84b5c79f5baac26be1f3f4e9:/testsuite/daemon.test diff --git a/testsuite/daemon.test b/testsuite/daemon.test index 869feab5..439b8835 100644 --- a/testsuite/daemon.test +++ b/testsuite/daemon.test @@ -5,10 +5,10 @@ # This program is distributable under the terms of the GNU GPL (see # COPYING) -# This test starts up an rsync daemon on a high-numbered port using a -# configuration file from the test directory. I can't think of a good -# way to choose it dynamically at the moment, so we just use 2612. If -# that's in use then you lose. +# We don't really want to start the server listening, because that +# might interfere with the security or operation of the test machine. +# Instead we use the fake-connect feature to dynamically assign a pair +# of ports. # Having started the server we try some basic operations against it: @@ -24,7 +24,30 @@ . "$suitedir/rsync.fns" +SSH="$scratchdir/pretend-ssh" + +cat >"$SSH" <<'EOT' +while : ; do + case "$1" in + -*) shift ;; + localhost) shift; break ;; + *) exit 1 ;; + esac +done + +eval "${@}" +EOT +chmod +x "$SSH" + build_rsyncd_conf -start_rsyncd +cd "$scratchdir" + +ln -s test-rsyncd.conf rsyncd.conf + +$RSYNC -ve $SSH --rsync-path="$RSYNC" localhost:: + +RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon" +export RSYNC_CONNECT_PROG +$RSYNC -v localhost::