-[ -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"
-
-exit 0 # last [] may have failed but if we get here then we've one
+[ -f "${todir}/referent" ] || test_fail "referent was not copied"
+[ -d "${todir}/from" ] && test_fail "extra level of directories"
+if [ -L "${todir}/dangling" ]
+then
+ test_fail "dangling symlink was copied"
+fi
+
+if [ -L "${todir}/relative" ]
+then
+ test_fail "relative symlink was copied"
+fi
+
+if [ -L "${todir}/absolute" ]
+then
+ test_fail "absolute symlink was copied"
+fi
+
+exit 0
+# last [] may have failed but if we get here then we've one