| 1 | #! /bin/sh |
| 2 | |
| 3 | # Copyright (C) 2004 by Chris Shoemaker <c.shoemaker@cox.net> |
| 4 | |
| 5 | # This program is distributable under the terms of the GNU GPL (see |
| 6 | # COPYING). |
| 7 | |
| 8 | # Test rsync's --write-batch and --read-batch options |
| 9 | |
| 10 | . "$suitedir/rsync.fns" |
| 11 | |
| 12 | hands_setup |
| 13 | |
| 14 | cd "$tmpdir" |
| 15 | |
| 16 | # Build chkdir for the daemon tests using a normal rsync and an --exclude. |
| 17 | $RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/" |
| 18 | |
| 19 | $RSYNC -av --only-write-batch=BATCH --exclude=foobar.baz "$fromdir/" "$todir/missing/" |
| 20 | test -d "$todir/missing" && test_fail "--only-write-batch should not have created destination dir" |
| 21 | |
| 22 | runtest "--read-batch (only)" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"' |
| 23 | |
| 24 | rm -rf "$todir" BATCH* |
| 25 | runtest "local --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"' |
| 26 | |
| 27 | rm -rf "$todir" |
| 28 | runtest "--read-batch" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"' |
| 29 | |
| 30 | build_rsyncd_conf |
| 31 | |
| 32 | RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon" |
| 33 | export RSYNC_CONNECT_PROG |
| 34 | |
| 35 | rm -rf "$todir" |
| 36 | runtest "daemon sender --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"' |
| 37 | |
| 38 | rm -rf "$todir" |
| 39 | runtest "--read-batch from daemon" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"' |
| 40 | |
| 41 | rm -rf "$todir" |
| 42 | runtest "BATCH.sh use of --read-batch" 'checkit "./BATCH.sh" "$chkdir" "$todir"' |
| 43 | |
| 44 | rm -rf "$todir" |
| 45 | mkdir "$todir" || test_fail "failed to restore empty destination directory" |
| 46 | runtest "daemon recv --write-batch" 'checkit "\"$ignore23\" $RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"' |
| 47 | |
| 48 | # The script would have aborted on error, so getting here means we pass. |
| 49 | exit 0 |