Commit | Line | Data |
---|---|---|
5d24ee71 WD |
1 | #!/bin/sh |
2 | ||
3 | # Copyright (C) 2005 by Wayne Davison <wayned@samba.org> | |
4 | # | |
5 | # This program is distributable under the terms of the GNU GPL (see COPYING) | |
6 | ||
7 | . "$suitedir/rsync.fns" | |
8 | ||
9 | deepstr='down/3/deep' | |
10 | deepdir="$fromdir/$deepstr" | |
89b76bac WD |
11 | extradir="$fromdir/extra" |
12 | makepath "$deepdir" "$extradir/$deepstr" "$chkdir" | |
13 | ||
5d24ee71 WD |
14 | fromdir="$deepdir" |
15 | hands_setup | |
16 | fromdir="$tmpdir/from" | |
17 | ||
89b76bac WD |
18 | extrafile="$extradir/./$deepstr/extra.added.value" |
19 | echo wowza >"$extrafile" | |
20 | ||
5d24ee71 WD |
21 | outfile="$scratchdir/rsync.out" |
22 | ||
23 | cd "$fromdir" | |
24 | ||
25 | # Main script starts here | |
26 | ||
89b76bac WD |
27 | $RSYNC -ai --include=/down/ --exclude='/*' "$fromdir/" "$chkdir/" |
28 | ||
56078033 | 29 | sleep 1 |
89b76bac | 30 | runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$chkdir" "$todir"' |
5d24ee71 | 31 | |
89b76bac WD |
32 | ln $deepstr/filelist $deepstr/dir |
33 | ln ../chk/$deepstr/filelist ../chk/$deepstr/dir | |
34 | runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' | |
5d24ee71 WD |
35 | |
36 | cp "$deepdir/text" "$todir/$deepstr/ThisShouldGo" | |
37 | cp "$deepdir/text" "$todir/$deepstr/dir/ThisShouldGoToo" | |
89b76bac | 38 | runtest "deletion" 'checkit "$RSYNC -avHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' |
5d24ee71 | 39 | |
89b76bac | 40 | runtest "non-deletion" 'checkit "$RSYNC -aiHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' \ |
5d24ee71 WD |
41 | | tee "$outfile" |
42 | ||
43 | # Make sure no files were deleted | |
44 | grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred!" | |
45 | ||
89b76bac WD |
46 | # Relative with merging. |
47 | $RSYNC -ai "$extradir/down" "$chkdir/" | |
48 | ||
49 | checkit "$RSYNC -aiR $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" | |
50 | ||
51 | checkit "$RSYNC -aiR --del $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" \ | |
52 | | tee "$outfile" | |
53 | ||
54 | # Make sure no files were deleted | |
55 | grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred! (2)" | |
56 | ||
5d24ee71 WD |
57 | # The script would have aborted on error, so getting here means we've won. |
58 | exit 0 |