File: batch-mode.test

package info (click to toggle)
rsync 3.0.9-4
  • links: PTS
  • area: main
  • in suites: wheezy
  • size: 3,352 kB
  • sloc: ansic: 35,959; sh: 4,980; perl: 1,662; makefile: 315; python: 83
file content (51 lines) | stat: -rw-r--r-- 1,821 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#! /bin/sh

# Copyright (C) 2004 by Chris Shoemaker <c.shoemaker@cox.net>

# This program is distributable under the terms of the GNU GPL (see
# COPYING).

# Test rsync's --write-batch and --read-batch options

. "$suitedir/rsync.fns"

hands_setup

cd "$tmpdir"

# Build chkdir for the daemon tests using a normal rsync and an --exclude.
$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"

$RSYNC -av --only-write-batch=BATCH --exclude=foobar.baz "$fromdir/" "$todir/missing/"
test -d "$todir/missing" && test_fail "--only-write-batch should not have created destination dir"

runtest "--read-batch (only)" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'

rm -rf "$todir" BATCH*
runtest "local --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" \"$todir\"" "$fromdir" "$todir"'

rm -rf "$todir"
runtest "--read-batch" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$fromdir" "$todir"'

build_rsyncd_conf

RSYNC_CONNECT_PROG="$RSYNC --config=$conf --daemon"
export RSYNC_CONNECT_PROG

rm -rf "$todir"
runtest "daemon sender --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH rsync://localhost/test-from/ \"$todir\"" "$chkdir" "$todir"'

rm -rf "$todir"
runtest "--read-batch from daemon" 'checkit "$RSYNC -av --read-batch=BATCH \"$todir\"" "$chkdir" "$todir"'

rm -rf "$todir"
runtest "BATCH.sh use of --read-batch" 'checkit "./BATCH.sh" "$chkdir" "$todir"'

runtest "do-nothing re-run of batch" 'checkit "./BATCH.sh" "$chkdir" "$todir"'

rm -rf "$todir"
mkdir "$todir" || test_fail "failed to restore empty destination directory"
runtest "daemon recv --write-batch" 'checkit "\"$ignore23\" $RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'

# The script would have aborted on error, so getting here means we pass.
exit 0