diff options
author | Martin Schwenke <martin@meltin.net> | 2015-02-27 15:19:04 +1100 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2015-03-04 10:42:26 +0100 |
commit | 7e7c24ca7a422f2258962216b0184eda8d49827f (patch) | |
tree | 718f5c92c093bee4339b3485c7acd2335eb4e2be /ctdb | |
parent | 9317d82c19a0eb51ff6293d00328a5c36b063a2c (diff) | |
download | samba-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.sh | 25 |
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) |