From c131cb9586bfdd5ce19c33639e908b89c44104d7 Mon Sep 17 00:00:00 2001 From: Richard Maw Date: Thu, 13 Oct 2011 16:03:34 +0100 Subject: Tests and fix for a horrific bug where removing a symlink to a directory would remove the directory --- tests/05_symlink_add_remove.sh | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/05_symlink_add_remove.sh b/tests/05_symlink_add_remove.sh index 5e841bf..0c8b0ac 100755 --- a/tests/05_symlink_add_remove.sh +++ b/tests/05_symlink_add_remove.sh @@ -12,17 +12,27 @@ TEST_TOOLS=$3 ############# Test specific code ############ setup () { - ln -s /foo $ORIGIN/remove && \ - ln -s /bar $TARGET/add && \ - chown -h :cdrom $TARGET/add + ln -s /foo $ORIGIN/remove && + ln -s /bar $TARGET/add && + chown -h :cdrom $TARGET/add && + for dir in $ORIGIN $TARGET; do + ( + cd $dir && mkdir -p data && + touch data/a data/b + ); done && + (cd $ORIGIN && ln -s data datalink) } check_results () { - test -L $ORIGIN/add && \ - test ! -L $ORIGIN/remove && \ - check_symlink $ORIGIN/add "/bar" && \ - check_same_mtime $ORIGIN/add $TARGET/add && \ - check_same_uidgid $ORIGIN/add $TARGET/add + test -L $ORIGIN/add && + test ! -L $ORIGIN/remove && + check_symlink $ORIGIN/add "/bar" && + check_same_mtime $ORIGIN/add $TARGET/add && + check_same_uidgid $ORIGIN/add $TARGET/add && + test ! -L $ORIGIN/datalink && + test -d $ORIGIN/data && + test -f $ORIGIN/data/a && + test -f $ORIGIN/data/b } ############################################# -- cgit v1.2.1