summaryrefslogtreecommitdiffstats
path: root/ctdb
diff options
context:
space:
mode:
authorMartin Schwenke <martin@meltin.net>2015-02-27 15:19:04 +1100
committerAmitay Isaacs <amitay@samba.org>2015-03-04 10:42:26 +0100
commit7e7c24ca7a422f2258962216b0184eda8d49827f (patch)
tree718f5c92c093bee4339b3485c7acd2335eb4e2be /ctdb
parent9317d82c19a0eb51ff6293d00328a5c36b063a2c (diff)
downloadsamba-7e7c24ca7a422f2258962216b0184eda8d49827f.tar.gz
samba-7e7c24ca7a422f2258962216b0184eda8d49827f.tar.xz
samba-7e7c24ca7a422f2258962216b0184eda8d49827f.zip
ctdb-tests: Extend eventscript unit test infrastructure for other scripts
There's so much infrastructure here that it would be a shame not to use it for testing things like statd-callout. Signed-off-by: Martin Schwenke <martin@meltin.net> Reviewed-by: Amitay Isaacs <amitay@gmail.com>
Diffstat (limited to 'ctdb')
-rw-r--r--ctdb/tests/eventscripts/scripts/local.sh25
1 files changed, 19 insertions, 6 deletions
diff --git a/ctdb/tests/eventscripts/scripts/local.sh b/ctdb/tests/eventscripts/scripts/local.sh
index 54a065c76a..c3cd6a071d 100644
--- a/ctdb/tests/eventscripts/scripts/local.sh
+++ b/ctdb/tests/eventscripts/scripts/local.sh
@@ -993,19 +993,32 @@ define_test ()
# Remaining format should be NN.service.event.NNN or NN.service.NNN:
_num="${_f##*.}"
_f="${_f%.*}"
+
case "$_f" in
- *.*.*)
+ [0-9][0-9].*.*)
script="${_f%.*}"
event="${_f##*.}"
+ script_dir="${CTDB_BASE}/events.d"
;;
- *.*)
+ [0-9][0-9].*)
script="$_f"
unset event
+ script_dir="${CTDB_BASE}/events.d"
+ ;;
+ *.*)
+ script="${_f%.*}"
+ event="${_f##*.}"
+ script_dir="${CTDB_BASE}"
;;
*)
- die "Internal error - unknown testcase filename format"
+ script="${_f%.*}"
+ unset event
+ script_dir="${CTDB_BASE}"
esac
+ [ -x "${script_dir}/${script}" ] || \
+ die "Internal error - unable to find script \"${script_dir}/${script}\""
+
printf "%-17s %-10s %-4s - %s\n\n" "$script" "$event" "$_num" "$desc"
}
@@ -1030,14 +1043,14 @@ simple_test ()
_extra_header=$(_extra_header)
- echo "Running eventscript \"$script $event${1:+ }$*\""
+ echo "Running script \"$script $event${1:+ }$*\""
_shell=""
if $TEST_COMMAND_TRACE ; then
_shell="sh -x"
else
_shell="sh"
fi
- _out=$($_shell "${CTDB_BASE}/events.d/$script" "$event" "$@" 2>&1)
+ _out=$($_shell "${script_dir}/${script}" "$event" "$@" 2>&1)
result_check "$_extra_header"
}
@@ -1123,7 +1136,7 @@ iterate_test ()
else
_shell="sh"
fi
- _out=$($_shell "${CTDB_BASE}/events.d/$script" "$event" $args 2>&1)
+ _out=$($_shell "${script_dir}/${script}" "$event" $args 2>&1)
_rc=$?
_fout=$(echo "$_out" | result_filter)