From 1e28cd5acc4a33a0f166fb9df5ec3ea9e5d7e1ee Mon Sep 17 00:00:00 2001 From: Richard Maw Date: Thu, 6 Oct 2011 09:05:27 +0100 Subject: Removed bashisms from test scripts, so sh should be able to run them The temporary test directory is now made using mktemp -d instead of using uuid mktemp comes with coreutils, uuid does not, and mktemp makes the directory for you. --- tests/00_regular_file_diff.sh | 4 ++-- tests/01_regular_file_add_remove.sh | 4 ++-- tests/02_fifo_diff.sh | 4 ++-- tests/03_fifo_add_remove.sh | 4 ++-- tests/04_symlink_diff.sh | 4 ++-- tests/05_symlink_add_remove.sh | 4 ++-- tests/06_dir_diff.sh | 4 ++-- tests/07_dir_add_remove.sh | 4 ++-- tests/test_lib.sh | 30 ++++++++++++++++++------------ 9 files changed, 34 insertions(+), 28 deletions(-) (limited to 'tests') diff --git a/tests/00_regular_file_diff.sh b/tests/00_regular_file_diff.sh index 4eb6672..3bd3310 100755 --- a/tests/00_regular_file_diff.sh +++ b/tests/00_regular_file_diff.sh @@ -14,14 +14,14 @@ TEST_TOOLS=$3 ORG_FILE=$ORIGIN/b.txt TGT_FILE=$TARGET/b.txt -function setup { +setup () { echo 1 > $ORG_FILE && \ echo 2 > $TGT_FILE && \ chown :cdrom $TGT_FILE && \ chmod 707 $TGT_FILE } -function check_results { +check_results () { check_content $ORG_FILE "2" && \ check_perm $ORG_FILE 707 && \ check_group $ORG_FILE cdrom && \ diff --git a/tests/01_regular_file_add_remove.sh b/tests/01_regular_file_add_remove.sh index cdf3eab..f97d407 100755 --- a/tests/01_regular_file_add_remove.sh +++ b/tests/01_regular_file_add_remove.sh @@ -11,13 +11,13 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { touch $ORIGIN/remove && \ echo 1 > $TARGET/add && \ chown -h :cdrom $TARGET/add } -function check_results { +check_results () { test -f $ORIGIN/add && \ test ! -f $ORIGIN/remove && \ check_content $ORIGIN/add "1" && \ diff --git a/tests/02_fifo_diff.sh b/tests/02_fifo_diff.sh index 0bf719e..14bc3ac 100755 --- a/tests/02_fifo_diff.sh +++ b/tests/02_fifo_diff.sh @@ -11,14 +11,14 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { mkfifo $ORIGIN/remove && \ mkfifo $TARGET/add && \ chmod 707 $TARGET/add && \ chown -h :cdrom $TARGET/add } -function check_results { +check_results () { test -p $ORIGIN/add && \ test ! -p $ORIGIN/remove && \ check_same_mtime $ORIGIN/add $TARGET/add && \ diff --git a/tests/03_fifo_add_remove.sh b/tests/03_fifo_add_remove.sh index 58ffa67..fb42406 100755 --- a/tests/03_fifo_add_remove.sh +++ b/tests/03_fifo_add_remove.sh @@ -11,14 +11,14 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { mkfifo $ORIGIN/remove && \ mkfifo $TARGET/add && \ chmod 707 $TARGET/add && \ chown -h :cdrom $TARGET/add } -function check_results { +check_results () { test -p $ORIGIN/add && \ test ! -p $ORIGIN/remove && \ check_same_mtime $ORIGIN/add $TARGET/add && \ diff --git a/tests/04_symlink_diff.sh b/tests/04_symlink_diff.sh index 4b080cf..5c8dc5f 100755 --- a/tests/04_symlink_diff.sh +++ b/tests/04_symlink_diff.sh @@ -11,13 +11,13 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { ln -s /foo $ORIGIN/a && \ ln -s /bar $TARGET/a && \ chown -h :cdrom $TARGET/a } -function check_results { +check_results () { test -L $ORIGIN/a && \ check_symlink $ORIGIN/a "/bar" && \ check_group $ORIGIN/a cdrom && \ diff --git a/tests/05_symlink_add_remove.sh b/tests/05_symlink_add_remove.sh index 147b8f0..5e841bf 100755 --- a/tests/05_symlink_add_remove.sh +++ b/tests/05_symlink_add_remove.sh @@ -11,13 +11,13 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { ln -s /foo $ORIGIN/remove && \ ln -s /bar $TARGET/add && \ chown -h :cdrom $TARGET/add } -function check_results { +check_results () { test -L $ORIGIN/add && \ test ! -L $ORIGIN/remove && \ check_symlink $ORIGIN/add "/bar" && \ diff --git a/tests/06_dir_diff.sh b/tests/06_dir_diff.sh index cc86793..3d8fd13 100755 --- a/tests/06_dir_diff.sh +++ b/tests/06_dir_diff.sh @@ -11,7 +11,7 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { mkdir $ORIGIN/a && \ mkdir $TARGET/a && \ echo "1" > $TARGET/a/1 && \ @@ -19,7 +19,7 @@ function setup { chmod 707 $TARGET/a } -function check_results { +check_results () { test -d $ORIGIN/a && \ test -f $ORIGIN/a/1 && \ check_same_mode $ORIGIN/a $TARGET/a #&& \ diff --git a/tests/07_dir_add_remove.sh b/tests/07_dir_add_remove.sh index fe34a0e..eed19d2 100755 --- a/tests/07_dir_add_remove.sh +++ b/tests/07_dir_add_remove.sh @@ -11,14 +11,14 @@ TEST_TOOLS=$3 ############# Test specific code ############ -function setup { +setup () { mkdir -p $ORIGIN/remove/1/2/3/4 && \ mkdir -p $TARGET/add/4/3/2/1 && \ chown -h :cdrom $TARGET/add chown -h :cdrom $TARGET/add/4/3/2/1 } -function check_results { +check_results () { test -d $ORIGIN/add/4/3/2/1 && \ test ! -d $ORIGIN/remove && \ check_same_mtime $ORIGIN/add $TARGET/add && \ diff --git a/tests/test_lib.sh b/tests/test_lib.sh index 342ee39..4645166 100644 --- a/tests/test_lib.sh +++ b/tests/test_lib.sh @@ -1,47 +1,47 @@ OK=" OK" FAIL=" FAIL" -TESTDIR=/tmp/tbdiff-test-`uuid` +TESTDIR=`mktemp -d` IMGFILE=$TESTDIR/tbdiff.img ORIGIN=$TESTDIR/orig TARGET=$TESTDIR/target # check_same_mtime FILE_A FILE_B -function check_same_mtime { +check_same_mtime () { test $(stat -c %Y $1) = $(stat -c %Y $2) } # check_same_uidgid FILE_A FILE_B -function check_same_uidgid { +check_same_uidgid () { test $(stat -c "%u.%g" $1) = $(stat -c "%u.%g" $2) } # check_same_mode FILE_A FILE_B -function check_same_mode { +check_same_mode () { test $(stat -c "%f" $1) = $(stat -c "%f" $2) } # check_content FILE EXPECTED_OCTAL_PERMISSIONS -function check_perm { +check_perm () { test $(stat -c %a $1) = $2 } # check_content FILE EXPECTED_OCTAL_PERMISSIONS -function check_symlink { +check_symlink () { test $(readlink $1) = $2 } # check_content FILE EXPECTED_CONTENT -function check_content { +check_content () { test $(cat $1) = $2 } # check_group FILE EXPECTED_GROUP_NAME -function check_group { +check_group () { test $(stat -c %G $1) = $2 } -function start { +start () { if [ $# -ne 2 ] then echo "ERROR: Not enough arguments." @@ -61,15 +61,21 @@ function start { fi } -function cleanup_and_exit { +cleanup_and_exit () { rm -rf $TESTDIR exit 1 } -function main { +main () { start $@ echo -n "$TEST_ID Setting up $TEST_NAME test: " - rm -rf $TESTDIR && \ + if [ ! -d $TESTDIR ] + then + echo $FAIL + echo "Couldn't create temporary directory for test. " \ + "Please check mktemp accepts -d and permissions." >&2 + cleanup_and_exit + fi mkdir -p $ORIGIN && \ mkdir -p $TARGET && \ setup -- cgit v1.2.1