Start testing daemon functionality
[rsync/rsync.git] / testsuite / daemon.test
CommitLineData
232ce2b2
MP
1#!/bin/sh
2
3# Copyright (C) 2001 by Martin Pool <mbp@samba.org>
4
5# This program is distributable under the terms of the GNU GPL (see
6# COPYING)
7
8# This test starts up an rsync daemon on a high-numbered port using a
9# configuration file from the test directory. I can't think of a good
10# way to choose it dynamically at the moment, so we just use 2612. If
11# that's in use then you lose.
12
13# Having started the server we try some basic operations against it:
14
15# getting a list of module
16# listing files in a module
17# retrieving a module
18# uploading to a module
19# checking the log file
20# password authentication
21
22# TODO: Put the common framework in a common file, so that we can have
23# subtests fail and keep going.
24
25source "$suitedir/rsync.fns"
26
27# Build an appropriate configuration file
28conf="$scratchdir/test-rsyncd.conf"
29echo "building configuration $conf"
30
31port=2612
32pidfile="$scratchdir/rsyncd.pid"
33logfile="$scratchdir/rsyncd.log"
34
35cat >$conf <<EOF
36# rsyncd configuration file autogenerated by $0
37
38pid file = $pidfile
39use chroot = no
40hosts allow = localhost, 127.0.0.1
41log file = $logfile
42
43[test-from] = $scratchdir/daemon-from/
44 read only = yes
45
46[test-to] = $scratchdir/daemon-to/
47 read only = no
48
49EOF
50
51
52
53echo starting daemon
54$rsync_bin --daemon --port $port --config $conf
55sleep 2
56pid=`cat "$pidfile"`
57echo rsyncd running as process $pid
58
59
60# We need to make sure that we always kill rsync, even if there's an
61# error. Otherwise it might hang around, and be insecure or at any
62# rate keep the port bound and prevent the tests running in the
63# future.
64
65trap "echo killing off process $pid; kill $pid" EXIT