diff options
author | Amitay Isaacs <amitay@gmail.com> | 2014-07-04 17:04:10 +1000 |
---|---|---|
committer | Amitay Isaacs <amitay@samba.org> | 2014-07-08 10:17:54 +0200 |
commit | e118a36c4ce8299e270278e27c3a5f5f9afb0049 (patch) | |
tree | a31b5f364986883540e63da89a6ef933321a14f4 /ctdb/tests/run_tests.sh | |
parent | c324b9f03f85d724dfde8e85f08d5f20fa2796ac (diff) | |
download | samba-e118a36c4ce8299e270278e27c3a5f5f9afb0049.tar.gz |
ctdb-tests: Shutdown local daemons if the tests exit abnormally
Signed-off-by: Amitay Isaacs <amitay@gmail.com>
Pair-Programmed-With: Martin Schwenke <martin@meltin.net>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Diffstat (limited to 'ctdb/tests/run_tests.sh')
-rwxr-xr-x | ctdb/tests/run_tests.sh | 30 |
1 files 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 |