summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2011-08-30 14:19:09 +1000
committerMartin Schwenke <martin@meltin.net>2011-08-30 16:51:55 +1000
commit3167f50b6c978dda9175b740eca1487fba161ac0 (patch)
tree6c3a2c15fca68103c75af54375fd6a9606e7ce5f
parent1a8d5e0ec7677cbd7a9998ad38565f137cf67770 (diff)
downloadsamba-3167f50b6c978dda9175b740eca1487fba161ac0.tar.gz
samba-3167f50b6c978dda9175b740eca1487fba161ac0.tar.xz
samba-3167f50b6c978dda9175b740eca1487fba161ac0.zip
Tests - eventscripts - add extra filename format for multi-event tests
$event may not be set so we need to test for it. Signed-off-by: Martin Schwenke <martin@meltin.net> (This used to be ctdb commit 80f14e590242b14829c6309ee908af0f2d33be1e)
-rw-r--r--ctdb/tests/eventscripts/common.sh29
1 files changed, 22 insertions, 7 deletions
diff --git a/ctdb/tests/eventscripts/common.sh b/ctdb/tests/eventscripts/common.sh
index 070aa45a05..4c80a95868 100644
--- a/ctdb/tests/eventscripts/common.sh
+++ b/ctdb/tests/eventscripts/common.sh
@@ -598,16 +598,27 @@ define_test ()
desc="$1"
_f="$0"
- _f="${_f#./}" # strip leading ./
- _f="${_f#simple/}" # strip leading simple/
- _f="${_f%%/*}" # if subdir, strip off file
- _f="${_f%.sh}" # strip off .sh suffix if any
+ _f="${_f#./}" # strip leading ./
+ _f="${_f#simple/}" # strip leading simple/
+ _f="${_f#multievent/}" # strip leading multievent/
+ _f="${_f%%/*}" # if subdir, strip off file
+ _f="${_f%.sh}" # strip off .sh suffix if any
- # Remaining format should be NN.service.event.NNN:
+ # Remaining format should be NN.service.event.NNN or NN.service.NNN:
_num="${_f##*.}"
_f="${_f%.*}"
- event="${_f##*.}"
- script="${_f%.*}"
+ case "$_f" in
+ *.*.*)
+ script="${_f%.*}"
+ event="${_f##*.}"
+ ;;
+ *.*)
+ script="$_f"
+ unset event
+ ;;
+ *)
+ die "Internal error - unknown testcase filename format"
+ esac
printf "%-14s %-10s %-4s - %s\n\n" "$script" "$event" "$_num" "$desc"
}
@@ -719,6 +730,8 @@ EOF
# useful for debugging.
simple_test ()
{
+ [ -n "$event" ] || die 'simple_test: $event not set'
+
echo "Running \"${CTDB_BASE}/events.d/$script $event\""
_out=$($EVENTSCRIPTS_TESTS_TRACE "${CTDB_BASE}/events.d/$script" "$event" "$@" 2>&1)
_rc=$?
@@ -759,6 +772,8 @@ simple_test ()
# iteration.
iterate_test ()
{
+ [ -n "$event" ] || die 'simple_test: $event not set'
+
args=""
if [ "$1" = "--" ] ; then
shift