From e118a36c4ce8299e270278e27c3a5f5f9afb0049 Mon Sep 17 00:00:00 2001 From: Amitay Isaacs Date: Fri, 4 Jul 2014 17:04:10 +1000 Subject: [PATCH] ctdb-tests: Shutdown local daemons if the tests exit abnormally Signed-off-by: Amitay Isaacs Pair-Programmed-With: Martin Schwenke Reviewed-by: Stefan Metzmacher --- ctdb/tests/run_tests.sh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/ctdb/tests/run_tests.sh b/ctdb/tests/run_tests.sh index 2ff11ff35aa..d705ac17e9f 100755 --- a/ctdb/tests/run_tests.sh +++ b/ctdb/tests/run_tests.sh @@ -261,6 +261,29 @@ if [ -z "$1" ] ; then fi fi +do_cleanup () +{ + if $TEST_CLEANUP ; then + echo "Removing TEST_VAR_DIR=$TEST_VAR_DIR" + rm -rf "$TEST_VAR_DIR" + else + echo "Not cleaning up TEST_VAR_DIR=$TEST_VAR_DIR" + fi +} + +cleanup_handler () +{ + if $TEST_CLEANUP ; then + if [ -n "$TEST_LOCAL_DAEMONS" -a "$f" = "simple" ] ; then + echo "***** shutting down daemons *****" + find_and_run_one_test simple/99_daemons_shutdown.sh "$tests_dir" + fi + fi + do_cleanup +} + +trap cleanup_handler SIGINT SIGTERM + for f ; do find_and_run_one_test "$f" @@ -295,12 +318,7 @@ rm -f "$sf" echo -if $TEST_CLEANUP ; then - echo "Removing TEST_VAR_DIR=$TEST_VAR_DIR" - rm -rf "$TEST_VAR_DIR" -else - echo "Not cleaning up TEST_VAR_DIR=$TEST_VAR_DIR" -fi +do_cleanup if $no_header || $exit_on_fail ; then exit $status -- 2.11.4.GIT