X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/db843fc12d4581e72669eb75a9752066c17c2977..f5aeb6ff9b04432a84b5c79f5baac26be1f3f4e9:/testsuite/symlink-ignore.test diff --git a/testsuite/symlink-ignore.test b/testsuite/symlink-ignore.test index e7ef3719..eec7a301 100644 --- a/testsuite/symlink-ignore.test +++ b/testsuite/symlink-ignore.test @@ -8,19 +8,30 @@ # Test rsync's somewhat over-featured symlink control: the default # behaviour is that symlinks should not be copied at all. -. $srcdir/testsuite/rsync.fns +. "$suitedir/rsync.fns" -build_symlinks +build_symlinks || test_fail "failed to build symlinks" # Copy recursively, but without -l or -L or -a, and all the symlinks # should be missing. -"$rsync_bin" -r "$fromdir/" "$todir" || test_fail "rsync returned $?" - -[ -e $todir/referent ] || test_fail "referent was not copied" -[ -e $todir/from ] && test_fail "extra level of directories" -[ -e $todir/dangling ] && test_fail "dangling symlink was copied" -[ -e $todir/relative ] && test_fail "relative symlink was copied" -[ -e $todir/absolute ] && test_fail "absolute symlink was copied" - -true # last [] may have failed but if we get here then we've one - +$RSYNC -r "$fromdir/" "$todir" || test_fail "$RSYNC returned $?" + +[ -f "$todir/referent" ] || test_fail "referent was not copied" +[ -d "$todir/from" ] && test_fail "extra level of directories" +if is_a_link "$todir/dangling" +then + test_fail "dangling symlink was copied" +fi + +if is_a_link "$todir/relative" +then + test_fail "relative symlink was copied" +fi + +if is_a_link "$todir/absolute" +then + test_fail "absolute symlink was copied" +fi + +# The script would have aborted on error, so getting here means we've won. +exit 0