File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / rsync / testsuite / daemon.test
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Fri Feb 17 15:09:30 2012 UTC (12 years, 4 months ago) by misho
Branches: rsync, MAIN
CVS tags: rsync3_0_9p0, RSYNC3_0_9, HEAD
rsync

    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 --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: $RSYNC -ve "$SSH" --rsync-path="$RSYNC$confopt" localhost::
   54: 
   55: RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon"
   56: export RSYNC_CONNECT_PROG
   57: 
   58: $RSYNC -v localhost:: \
   59:     | tee "$outfile"
   60: # These have a space-padded 15-char name, then a tab, then a comment.
   61: sed 's/NOCOMMENT//' <<EOT >"$chkfile"
   62: test-from      	r/o
   63: test-to        	r/w
   64: test-scratch   	NOCOMMENT
   65: EOT
   66: diff $diffopt "$chkfile" "$outfile" || test_fail "test 1 failed"
   67: 
   68: $RSYNC -r localhost::test-hidden \
   69:     | sed "$FILE_REPL" | sed "$DIR_REPL" | sed "$LS_REPL" \
   70:     | tee "$outfile"
   71: cat <<EOT >"$chkfile"
   72: drwxr-xr-x         DIR ####/##/## ##:##:## .
   73: drwxr-xr-x         DIR ####/##/## ##:##:## bar
   74: -rw-r--r--           4 ####/##/## ##:##:## bar/two
   75: drwxr-xr-x         DIR ####/##/## ##:##:## bar/baz
   76: -rw-r--r--           6 ####/##/## ##:##:## bar/baz/three
   77: drwxr-xr-x         DIR ####/##/## ##:##:## foo
   78: -rw-r--r--           4 ####/##/## ##:##:## foo/one
   79: EOT
   80: diff $diffopt "$chkfile" "$outfile" || test_fail "test 2 failed"
   81: 
   82: $RSYNC -r localhost::test-from/f* \
   83:     | sed "$FILE_REPL" | sed "$DIR_REPL" | sed "$LS_REPL" \
   84:     | tee "$outfile"
   85: cat <<EOT >"$chkfile"
   86: drwxr-xr-x         DIR ####/##/## ##:##:## foo
   87: -rw-r--r--           4 ####/##/## ##:##:## foo/one
   88: EOT
   89: diff $diffopt "$chkfile" "$outfile" || test_fail "test 3 failed"
   90: 

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