File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / rsync / testsuite / daemon.test
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Oct 14 07:51:15 2013 UTC (10 years, 8 months ago) by misho
Branches: rsync, MAIN
CVS tags: v3_1_2p5, RSYNC3_1_0, HEAD
v 3.1.0

    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: # We don't really want to start the server listening, because that
    9: # might interfere with the security or operation of the test machine.
   10: # Instead we use the fake-connect feature to dynamically assign a pair
   11: # of ports.
   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: . "$suitedir/rsync.fns"
   23: 
   24: chkfile="$scratchdir/rsync.chk"
   25: outfile="$scratchdir/rsync.out"
   26: 
   27: SSH="src/support/lsh.sh --no-cd"
   28: FILE_REPL='s/^\([^d][^ ]*\) *\(..........[0-9]\) /\1 \2 /'
   29: DIR_REPL='s/^\(d[^ ]*\)  *[0-9][.,0-9]* /\1         DIR /'
   30: 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];####/##/## ##:##:##;'
   31: 
   32: build_rsyncd_conf
   33: 
   34: makepath "$fromdir/foo" "$fromdir/bar/baz"
   35: makepath "$todir"
   36: echo one >"$fromdir/foo/one"
   37: echo two >"$fromdir/bar/two"
   38: echo three >"$fromdir/bar/baz/three"
   39: 
   40: cd "$scratchdir"
   41: 
   42: ln -s test-rsyncd.conf rsyncd.conf
   43: 
   44: confopt=''
   45: case `get_testuid` in
   46: 0)
   47:     # Root needs to specify the config file, or it uses /etc/rsyncd.conf.
   48:     echo "Forcing --config=$conf"
   49:     confopt=" --config=$conf"
   50:     ;;
   51: esac
   52: 
   53: # These have a space-padded 15-char name, then a tab, then a comment.
   54: sed 's/NOCOMMENT//' <<EOT >"$chkfile"
   55: test-from      	r/o
   56: test-to        	r/w
   57: test-scratch   	NOCOMMENT
   58: EOT
   59: 
   60: $RSYNC -ve "$SSH" --rsync-path="$RSYNC$confopt" localhost:: | tee "$outfile"
   61: echo '===='
   62: diff $diffopt "$chkfile" "$outfile" || test_fail "test 0 failed"
   63: 
   64: RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon"
   65: export RSYNC_CONNECT_PROG
   66: 
   67: $RSYNC -v localhost:: | tee "$outfile"
   68: echo '===='
   69: diff $diffopt "$chkfile" "$outfile" || test_fail "test 1 failed"
   70: 
   71: $RSYNC -r localhost::test-hidden \
   72:     | sed "$FILE_REPL" | sed "$DIR_REPL" | sed "$LS_REPL" \
   73:     | tee "$outfile"
   74: cat <<EOT >"$chkfile"
   75: drwxr-xr-x         DIR ####/##/## ##:##:## .
   76: drwxr-xr-x         DIR ####/##/## ##:##:## bar
   77: -rw-r--r--           4 ####/##/## ##:##:## bar/two
   78: drwxr-xr-x         DIR ####/##/## ##:##:## bar/baz
   79: -rw-r--r--           6 ####/##/## ##:##:## bar/baz/three
   80: drwxr-xr-x         DIR ####/##/## ##:##:## foo
   81: -rw-r--r--           4 ####/##/## ##:##:## foo/one
   82: EOT
   83: diff $diffopt "$chkfile" "$outfile" || test_fail "test 2 failed"
   84: 
   85: $RSYNC -r localhost::test-from/f* \
   86:     | sed "$FILE_REPL" | sed "$DIR_REPL" | sed "$LS_REPL" \
   87:     | tee "$outfile"
   88: cat <<EOT >"$chkfile"
   89: drwxr-xr-x         DIR ####/##/## ##:##:## foo
   90: -rw-r--r--           4 ####/##/## ##:##:## foo/one
   91: EOT
   92: diff $diffopt "$chkfile" "$outfile" || test_fail "test 3 failed"
   93: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>