diff options
-rwxr-xr-x | tests/00_regular_file_diff.sh (renamed from tests/00_simple_file.sh) | 14 | ||||
-rwxr-xr-x | tests/01_symlink.sh | 32 | ||||
-rw-r--r-- | tests/test_lib.sh | 19 |
3 files changed, 57 insertions, 8 deletions
diff --git a/tests/00_simple_file.sh b/tests/00_regular_file_diff.sh index efe3161..a382a72 100755 --- a/tests/00_simple_file.sh +++ b/tests/00_regular_file_diff.sh @@ -9,13 +9,17 @@ TEST_TOOLS=$3 . ./test_lib.sh +############# Test specific code ############ + +# This test checks that normal files content and metadata are + +ORG_FILE=$ORIGIN/b.txt +TGT_FILE=$TARGET/b.txt + function setup { - rm -rf $TESTDIR - mkdir -p $ORIGIN && \ - mkdir -p $TARGET && \ echo 1 > $ORG_FILE && \ echo 2 > $TGT_FILE && \ - chgrp cdrom $TGT_FILE && \ + chown :cdrom $TGT_FILE && \ chmod 707 $TGT_FILE } @@ -24,7 +28,9 @@ function setup { function check_results { check_content $ORG_FILE "2" && \ check_perm $ORG_FILE 707 && \ + check_group $ORG_FILE cdrom && \ check_same_mtime $ORG_FILE $TGT_FILE } +############################################# main $@ diff --git a/tests/01_symlink.sh b/tests/01_symlink.sh new file mode 100755 index 0000000..b3280c2 --- /dev/null +++ b/tests/01_symlink.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +TEST_ID="01" +TEST_NAME="Simple symlink diff" + +CREATE=`pwd`/$1 +DEPLOY=`pwd`/$2 +TEST_TOOLS=$3 + +. ./test_lib.sh + +############# Test specific code ############ + +# This test checks that normal files content and metadata are + +function setup { + ln -s /foo $ORIGIN/a && \ + ln -s /bar $TARGET/a && \ + chown -h :cdrom $TARGET/a +} + +# check_same_mtime FILE_A FILE_B + +function check_results { + test -L $ORIGIN/a && \ + check_symlink $ORIGIN/a "/bar" && \ + check_group $ORIGIN/a cdrom && \ + check_same_mtime $ORIGIN/a $ORIGIN/a +} + +############################################# +main $@ diff --git a/tests/test_lib.sh b/tests/test_lib.sh index fa1c612..2c182a7 100644 --- a/tests/test_lib.sh +++ b/tests/test_lib.sh @@ -6,9 +6,7 @@ IMGFILE=$TESTDIR/tbdiff.img ORIGIN=$TESTDIR/orig TARGET=$TESTDIR/target -ORG_FILE=$ORIGIN/b.txt -TGT_FILE=$TARGET/b.txt - +# check_same_mtime FILE_A FILE_B function check_same_mtime { test $(stat -c %Y $1) = $(stat -c %Y $2) } @@ -18,11 +16,21 @@ function check_perm { test $(stat -c %a $1) = $2 } +# check_content FILE EXPECTED_OCTAL_PERMISSIONS +function check_symlink { + test $(readlink $1) = $2 +} + # check_content FILE EXPECTED_CONTENT function check_content { test $(cat $1) = $2 } +# check_group FILE EXPECTED_GROUP_NAME +function check_group { + test $(stat -c %G $1) = $2 +} + function start { if [ $# -ne 2 ] then @@ -51,6 +59,9 @@ function cleanup_and_exit { function main { start $@ echo -n "$TEST_ID Setting up $TEST_NAME test: " + rm -rf $TESTDIR && \ + mkdir -p $ORIGIN && \ + mkdir -p $TARGET && \ setup if [ $? -ne 0 ] then @@ -60,7 +71,7 @@ function main { fi echo $OK - echo -n "$TEST_ID Performing $TEST_NAME image creation and deployment: " + echo "$TEST_ID Performing $TEST_NAME image creation and deployment: " CWD=$(pwd) $CREATE $IMGFILE $ORIGIN $TARGET && \ cd $ORIGIN && \ |