From 8c5fdb40cf950552fd094820b998bda9a580ed03 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Mon, 16 Apr 2012 15:29:44 +1000 Subject: tests/onnode - Restructure according to new convention Signed-off-by: Martin Schwenke (This used to be ctdb commit 4c87888b2a559c0d1f285919a42de450a537a02f) --- ctdb/tests/onnode/0001.sh | 2 +- ctdb/tests/onnode/0002.sh | 2 +- ctdb/tests/onnode/0003.sh | 2 +- ctdb/tests/onnode/0004.sh | 2 +- ctdb/tests/onnode/0005.sh | 2 +- ctdb/tests/onnode/0006.sh | 2 +- ctdb/tests/onnode/0070.sh | 2 +- ctdb/tests/onnode/0071.sh | 2 +- ctdb/tests/onnode/0072.sh | 2 +- ctdb/tests/onnode/0075.sh | 2 +- ctdb/tests/onnode/0080.sh | 2 +- ctdb/tests/onnode/0081.sh | 2 +- ctdb/tests/onnode/0090.sh | 2 +- ctdb/tests/onnode/0091.sh | 2 +- ctdb/tests/onnode/common.sh | 103 ------------------------------------- ctdb/tests/onnode/run_tests.sh | 31 ----------- ctdb/tests/onnode/scripts/local.sh | 88 +++++++++++++++++++++++++++++++ 17 files changed, 102 insertions(+), 148 deletions(-) delete mode 100644 ctdb/tests/onnode/common.sh delete mode 100755 ctdb/tests/onnode/run_tests.sh create mode 100644 ctdb/tests/onnode/scripts/local.sh diff --git a/ctdb/tests/onnode/0001.sh b/ctdb/tests/onnode/0001.sh index 3c2d541ef4..28533748f2 100755 --- a/ctdb/tests/onnode/0001.sh +++ b/ctdb/tests/onnode/0001.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE all hostname" diff --git a/ctdb/tests/onnode/0002.sh b/ctdb/tests/onnode/0002.sh index b18d91efa2..c3c8c77a0e 100755 --- a/ctdb/tests/onnode/0002.sh +++ b/ctdb/tests/onnode/0002.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE -q all hostname" diff --git a/ctdb/tests/onnode/0003.sh b/ctdb/tests/onnode/0003.sh index d925799261..d79bca2806 100755 --- a/ctdb/tests/onnode/0003.sh +++ b/ctdb/tests/onnode/0003.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE -p all hostname" diff --git a/ctdb/tests/onnode/0004.sh b/ctdb/tests/onnode/0004.sh index a6e6424ace..d0986b2ffd 100755 --- a/ctdb/tests/onnode/0004.sh +++ b/ctdb/tests/onnode/0004.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE -pq all hostname" diff --git a/ctdb/tests/onnode/0005.sh b/ctdb/tests/onnode/0005.sh index af237da9a3..0eccbb04a3 100755 --- a/ctdb/tests/onnode/0005.sh +++ b/ctdb/tests/onnode/0005.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE 3 hostname" diff --git a/ctdb/tests/onnode/0006.sh b/ctdb/tests/onnode/0006.sh index aa6eeba89e..b027850240 100755 --- a/ctdb/tests/onnode/0006.sh +++ b/ctdb/tests/onnode/0006.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE -v 3 hostname" diff --git a/ctdb/tests/onnode/0070.sh b/ctdb/tests/onnode/0070.sh index f38c95f5fd..902d78b231 100755 --- a/ctdb/tests/onnode/0070.sh +++ b/ctdb/tests/onnode/0070.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE ok hostname" diff --git a/ctdb/tests/onnode/0071.sh b/ctdb/tests/onnode/0071.sh index 8a1cb59dd7..ebf2f61fcd 100755 --- a/ctdb/tests/onnode/0071.sh +++ b/ctdb/tests/onnode/0071.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE ok hostname" diff --git a/ctdb/tests/onnode/0072.sh b/ctdb/tests/onnode/0072.sh index d80361a435..cb29e3b9a2 100755 --- a/ctdb/tests/onnode/0072.sh +++ b/ctdb/tests/onnode/0072.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE ok hostname" diff --git a/ctdb/tests/onnode/0075.sh b/ctdb/tests/onnode/0075.sh index aa2e8be0ba..6ce9b9b190 100755 --- a/ctdb/tests/onnode/0075.sh +++ b/ctdb/tests/onnode/0075.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE con hostname" diff --git a/ctdb/tests/onnode/0080.sh b/ctdb/tests/onnode/0080.sh index 095f65b224..bca478ada5 100755 --- a/ctdb/tests/onnode/0080.sh +++ b/ctdb/tests/onnode/0080.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE recmaster hostname" diff --git a/ctdb/tests/onnode/0081.sh b/ctdb/tests/onnode/0081.sh index e593934f66..412db87e4c 100755 --- a/ctdb/tests/onnode/0081.sh +++ b/ctdb/tests/onnode/0081.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE lvsmaster hostname" diff --git a/ctdb/tests/onnode/0090.sh b/ctdb/tests/onnode/0090.sh index 1147e34c10..dd50c51b70 100755 --- a/ctdb/tests/onnode/0090.sh +++ b/ctdb/tests/onnode/0090.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE natgw hostname" diff --git a/ctdb/tests/onnode/0091.sh b/ctdb/tests/onnode/0091.sh index 5239eef1b4..528eec16df 100755 --- a/ctdb/tests/onnode/0091.sh +++ b/ctdb/tests/onnode/0091.sh @@ -1,6 +1,6 @@ #!/bin/sh -. "${ONNODE_TESTS_DIR}/common.sh" +. "${TEST_SCRIPTS_DIR}/unit.sh" cmd="$ONNODE natgw hostname" diff --git a/ctdb/tests/onnode/common.sh b/ctdb/tests/onnode/common.sh deleted file mode 100644 index f920bc398a..0000000000 --- a/ctdb/tests/onnode/common.sh +++ /dev/null @@ -1,103 +0,0 @@ -# Hey Emacs, this is a -*- shell-script -*- !!! :-) - -# Set indirectly by run_tests at top level. -unset CTDB_NODES_SOCKETS - -# Default to just "onnode". -: ${ONNODE:=onnode} - -# Augment PATH with relevant stubs/ directories. - -if [ -d "${ONNODE_TESTS_DIR}/stubs" ] ; then - PATH="${ONNODE_TESTS_DIR}/stubs:$PATH" -fi - -export ONNODE_TESTCASE_DIR=$(dirname "$0") -if [ $(basename "$ONNODE_TESTCASE_DIR") = "onnode" ] ; then - # Just a test script, no testcase subdirectory. - ONNODE_TESTCASE_DIR="$ONNODE_TESTS_DIR" -else - if [ -d "${ONNODE_TESTCASE_DIR}/stubs" ] ; then - PATH="${ONNODE_TESTCASE_DIR}/stubs:$PATH" - fi -fi - -# Find CTDB nodes file. -if [ -z "$CTDB_NODES_FILE" ] ; then - if [ -r "${ONNODE_TESTCASE_DIR}/nodes" ] ; then - CTDB_NODES_FILE="${ONNODE_TESTCASE_DIR}/nodes" - elif [ -r "${ONNODE_TESTS_DIR}/nodes" ] ; then - CTDB_NODES_FILE="${ONNODE_TESTS_DIR}/nodes" - else - CTDB_NODES_FILE="${CTDB_BASE:-/etc/ctdb}/nodes" - fi -fi - -export CTDB_NODES_FILE - -export ONNODE_TESTS_VAR_DIR="${ONNODE_TESTS_DIR}/var" -mkdir -p "$ONNODE_TESTS_VAR_DIR" - -if [ -z "$CTDB_BASE" ] ; then - export CTDB_BASE=$(dirname "$CTDB_NODES_FILE") -fi - -define_test () -{ - _f="$0" - _f="${_f#./}" # strip leading ./ - _f="${_f%%/*}" # if subdir, strip off file - _f="${_f%.sh}" # strip off .sh suffix if any - - echo "$_f $1 - $2" -} - -# Set output for ctdb command. Option 1st argument is return code. -ctdb_set_output () -{ - _out="$ONNODE_TESTS_VAR_DIR/ctdb.out" - cat >"$_out" - - _rc="$ONNODE_TESTS_VAR_DIR/ctdb.rc" - echo "${1:-0}" >"$_rc" - - trap "rm -f $_out $_rc" 0 -} - -required_result () -{ - required_rc="${1:-0}" - required_output=$(cat) -} - -simple_test () -{ - _sort="cat" - if [ "$1" = "-s" ] ; then - shift - _sort="sort" - fi - _out=$("$@" 2>&1) - _rc=$? - _out=$(echo "$_out" | $_sort ) - - if [ "$_out" = "$required_output" -a $_rc = $required_rc ] ; then - echo "PASSED" - else - cat </dev/null) -fi - -"$test_dir/scripts/run_tests" $opts "$@" $tests || exit 1 - -echo "All OK" -exit 0 diff --git a/ctdb/tests/onnode/scripts/local.sh b/ctdb/tests/onnode/scripts/local.sh new file mode 100644 index 0000000000..a990c695f8 --- /dev/null +++ b/ctdb/tests/onnode/scripts/local.sh @@ -0,0 +1,88 @@ +# Hey Emacs, this is a -*- shell-script -*- !!! :-) + +# Set indirectly by run_tests at top level. +unset CTDB_NODES_SOCKETS + +# Default to just "onnode". +: ${ONNODE:=onnode} + +# Augment PATH with relevant stubs/ directories. + +if [ -d "${TEST_SUBDIR}/stubs" ] ; then + PATH="${TEST_SUBDIR}/stubs:$PATH" +fi + +# Find CTDB nodes file. +if [ -z "$CTDB_NODES_FILE" ] ; then + if [ -r "${TEST_SUBDIR}/nodes" ] ; then + CTDB_NODES_FILE="${TEST_SUBDIR}/nodes" + else + CTDB_NODES_FILE="${CTDB_BASE:-/etc/ctdb}/nodes" + fi +fi + +export CTDB_NODES_FILE + +export ONNODE_TESTS_VAR_DIR="${TEST_SUBDIR}/var" +mkdir -p "$ONNODE_TESTS_VAR_DIR" + +if [ -z "$CTDB_BASE" ] ; then + export CTDB_BASE=$(dirname "$CTDB_NODES_FILE") +fi + +define_test () +{ + _f=$(basename "$0") + + echo "$_f $1 - $2" +} + +# Set output for ctdb command. Option 1st argument is return code. +ctdb_set_output () +{ + _out="$ONNODE_TESTS_VAR_DIR/ctdb.out" + cat >"$_out" + + _rc="$ONNODE_TESTS_VAR_DIR/ctdb.rc" + echo "${1:-0}" >"$_rc" + + trap "rm -f $_out $_rc" 0 +} + +required_result () +{ + required_rc="${1:-0}" + required_output=$(cat) +} + +simple_test () +{ + _sort="cat" + if [ "$1" = "-s" ] ; then + shift + _sort="sort" + fi + _out=$("$@" 2>&1) + _rc=$? + _out=$(echo "$_out" | $_sort ) + + if [ "$_out" = "$required_output" -a $_rc = $required_rc ] ; then + echo "PASSED" + else + cat <