diff options
-rw-r--r-- | ctdb/tests/eventscripts/common.sh | 49 |
1 files changed, 34 insertions, 15 deletions
diff --git a/ctdb/tests/eventscripts/common.sh b/ctdb/tests/eventscripts/common.sh index aa129c6ac7..44c975e034 100644 --- a/ctdb/tests/eventscripts/common.sh +++ b/ctdb/tests/eventscripts/common.sh @@ -800,22 +800,8 @@ EOF fi } -# Run an eventscript once. The test passes if the return code and -# output match those required. - -# Any args are passed to the eventscript. - -# Eventscript tracing can be done by setting: -# EVENTSCRIPTS_TESTS_TRACE="sh -x" - -# or similar. This will almost certainly make a test fail but is -# useful for debugging. -simple_test () +result_check () { - [ -n "$event" ] || die 'simple_test: $event not set' - - echo "Running \"$script $event${1:+ }$*\"" - _out=$($EVENTSCRIPTS_TESTS_TRACE "${CTDB_BASE}/events.d/$script" "$event" "$@" 2>&1) _rc=$? if [ -n "$OUT_FILTER" ] ; then @@ -834,6 +820,26 @@ simple_test () result_footer "$_passed" } +# Run an eventscript once. The test passes if the return code and +# output match those required. + +# Any args are passed to the eventscript. + +# Eventscript tracing can be done by setting: +# EVENTSCRIPTS_TESTS_TRACE="sh -x" + +# or similar. This will almost certainly make a test fail but is +# useful for debugging. +simple_test () +{ + [ -n "$event" ] || die 'simple_test: $event not set' + + echo "Running eventscript \"$script $event${1:+ }$*\"" + _out=$($EVENTSCRIPTS_TESTS_TRACE "${CTDB_BASE}/events.d/$script" "$event" "$@" 2>&1) + + result_check +} + simple_test_event () { # If something has previously failed then don't continue. @@ -845,6 +851,19 @@ simple_test_event () simple_test "$@" } +simple_test_command () +{ + # If something has previously failed then don't continue. + : ${_passed:=true} + $_passed || return 1 + + echo "##################################################" + echo "Running command \"$*\"" + _out=$("$@" 2>&1) + + result_check +} + # Run an eventscript iteratively. # - 1st argument is the number of iterations. # - 2nd argument is something to eval to do setup for every iteration. |