From: Wayne Davison Date: Sun, 23 Sep 2007 00:30:40 +0000 (+0000) Subject: Added a test to make sure that merging relative items continues to X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/commitdiff_plain/89b76bac1fa51103993b10ed65c0860e58dfb6b2 Added a test to make sure that merging relative items continues to work right. --- diff --git a/testsuite/relative.test b/testsuite/relative.test index 8ff20df4..2fa66871 100644 --- a/testsuite/relative.test +++ b/testsuite/relative.test @@ -8,32 +8,51 @@ deepstr='down/3/deep' deepdir="$fromdir/$deepstr" -makepath "$deepdir" +extradir="$fromdir/extra" +makepath "$deepdir" "$extradir/$deepstr" "$chkdir" + fromdir="$deepdir" hands_setup fromdir="$tmpdir/from" +extrafile="$extradir/./$deepstr/extra.added.value" +echo wowza >"$extrafile" + outfile="$scratchdir/rsync.out" cd "$fromdir" # Main script starts here +$RSYNC -ai --include=/down/ --exclude='/*' "$fromdir/" "$chkdir/" + sleep 1 -runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$fromdir/" "$todir"' +runtest "basic relative" 'checkit "$RSYNC -avR ./$deepstr \"$todir\"" "$chkdir" "$todir"' -ln "$deepdir/filelist" "$deepdir/dir" -runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' +ln $deepstr/filelist $deepstr/dir +ln ../chk/$deepstr/filelist ../chk/$deepstr/dir +runtest "hard links" 'checkit "$RSYNC -avHR ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' cp "$deepdir/text" "$todir/$deepstr/ThisShouldGo" cp "$deepdir/text" "$todir/$deepstr/dir/ThisShouldGoToo" -runtest "deletion" 'checkit "$RSYNC -avHR --delete ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' +runtest "deletion" 'checkit "$RSYNC -avHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' -runtest "non-deletion" 'checkit "$RSYNC -aiHR --delete ./$deepstr/ \"$todir\"" "$fromdir/" "$todir"' \ +runtest "non-deletion" 'checkit "$RSYNC -aiHR --del ./$deepstr/ \"$todir\"" "$chkdir" "$todir"' \ | tee "$outfile" # Make sure no files were deleted grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred!" +# Relative with merging. +$RSYNC -ai "$extradir/down" "$chkdir/" + +checkit "$RSYNC -aiR $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" + +checkit "$RSYNC -aiR --del $deepstr '$extrafile' '$todir'" "$chkdir" "$todir" \ + | tee "$outfile" + +# Make sure no files were deleted +grep 'deleting ' "$outfile" && test_fail "Erroneous deletions occurred! (2)" + # The script would have aborted on error, so getting here means we've won. exit 0