Start testing daemon functionality
authorMartin Pool <mbp@samba.org>
Thu, 30 Aug 2001 07:10:45 +0000 (07:10 +0000)
committerMartin Pool <mbp@samba.org>
Thu, 30 Aug 2001 07:10:45 +0000 (07:10 +0000)
testsuite/daemon.test [new file with mode: 0644]

diff --git a/testsuite/daemon.test b/testsuite/daemon.test
new file mode 100644 (file)
index 0000000..7afe16e
--- /dev/null
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+# Copyright (C) 2001 by Martin Pool <mbp@samba.org>
+
+# 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.
+
+# Having started the server we try some basic operations against it:
+
+# getting a list of module
+# listing files in a module
+# retrieving a module
+# uploading to a module
+# 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.
+
+source "$suitedir/rsync.fns"
+
+# Build an appropriate configuration file
+conf="$scratchdir/test-rsyncd.conf"
+echo "building configuration $conf"
+
+port=2612
+pidfile="$scratchdir/rsyncd.pid"
+logfile="$scratchdir/rsyncd.log"
+
+cat >$conf <<EOF
+# rsyncd configuration file autogenerated by $0
+
+pid file = $pidfile
+use chroot = no
+hosts allow = localhost, 127.0.0.1
+log file = $logfile
+
+[test-from] = $scratchdir/daemon-from/
+       read only = yes
+
+[test-to] = $scratchdir/daemon-to/
+       read only = no
+
+EOF
+
+
+
+echo starting daemon
+$rsync_bin --daemon --port $port --config $conf
+sleep 2
+pid=`cat "$pidfile"`
+echo rsyncd running as process $pid
+
+
+# We need to make sure that we always kill rsync, even if there's an
+# error.  Otherwise it might hang around, and be insecure or at any
+# rate keep the port bound and prevent the tests running in the
+# future.
+
+trap "echo killing off process $pid; kill $pid" EXIT