From ba0b5c9ea786d12a4c89e93a0c7f2d7ea94eb99a Mon Sep 17 00:00:00 2001 From: Alberto Date: Mon, 3 Oct 2011 13:14:45 +0100 Subject: Added symlink diff test --- tests/00_regular_file_diff.sh | 36 ++++++++++++++++++++++++++++++++++++ tests/00_simple_file.sh | 30 ------------------------------ tests/01_symlink.sh | 32 ++++++++++++++++++++++++++++++++ tests/test_lib.sh | 19 +++++++++++++++---- 4 files changed, 83 insertions(+), 34 deletions(-) create mode 100755 tests/00_regular_file_diff.sh delete mode 100755 tests/00_simple_file.sh create mode 100755 tests/01_symlink.sh (limited to 'tests') diff --git a/tests/00_regular_file_diff.sh b/tests/00_regular_file_diff.sh new file mode 100755 index 0000000..a382a72 --- /dev/null +++ b/tests/00_regular_file_diff.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +TEST_ID="00" +TEST_NAME="Simple file 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 + +ORG_FILE=$ORIGIN/b.txt +TGT_FILE=$TARGET/b.txt + +function setup { + echo 1 > $ORG_FILE && \ + echo 2 > $TGT_FILE && \ + chown :cdrom $TGT_FILE && \ + chmod 707 $TGT_FILE +} + +# check_same_mtime FILE_A FILE_B + +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/00_simple_file.sh b/tests/00_simple_file.sh deleted file mode 100755 index efe3161..0000000 --- a/tests/00_simple_file.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -TEST_ID="00" -TEST_NAME="Simple file diff" - -CREATE=`pwd`/$1 -DEPLOY=`pwd`/$2 -TEST_TOOLS=$3 - -. ./test_lib.sh - -function setup { - rm -rf $TESTDIR - mkdir -p $ORIGIN && \ - mkdir -p $TARGET && \ - echo 1 > $ORG_FILE && \ - echo 2 > $TGT_FILE && \ - chgrp cdrom $TGT_FILE && \ - chmod 707 $TGT_FILE -} - -# check_same_mtime FILE_A FILE_B - -function check_results { - check_content $ORG_FILE "2" && \ - check_perm $ORG_FILE 707 && \ - 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 && \ -- cgit v1.2.1