ctdb-logging: Remove DEBUG_EMERG
[Samba.git] / ctdb / tests / simple / 13_ctdb_setdebug.sh
blobe4a03d5e74362e5b738844c28cbd98648033e49e
1 #!/bin/bash
3 test_info()
5 cat <<EOF
6 Verify that 'ctdb setdebug' works as expected.
8 This is a little superficial. It checks that CTDB thinks the debug
9 level has been changed but doesn't actually check that logging occurs
10 at the new level.
11 EOF
14 . "${TEST_SCRIPTS_DIR}/integration.bash"
16 ctdb_test_init "$@"
18 set -e
20 cluster_is_healthy
22 select_test_node_and_ips
24 get_debug ()
26 # Sets: check_debug
27 local node="$1"
29 local out
31 try_command_on_node -v $node "$CTDB getdebug"
32 check_debug=$(echo "$out" |
33 sed -r -e 's@Node [[:digit:]]+ is at debug level ([[:alpha:]]+) \(-?[[:digit:]]+\)$@\1@')
36 set_and_check_debug ()
38 local node="$1"
39 local level="$2"
41 echo "Setting debug level on node ${node} to ${level}."
42 try_command_on_node $node "$CTDB setdebug ${level}"
44 local check_debug
45 get_debug $node
47 if [ "$level" != "$check_debug" ] ; then
48 echo "BAD: Debug level should have changed to \"$level\" but it is \"$check_debug\"."
49 testfailures=1
53 get_debug $test_node
54 initial_debug="$check_debug"
56 levels="ALERT CRIT ERR WARNING NOTICE INFO DEBUG"
58 for new_debug in $levels ; do
59 [ "$initial_debug" != "$new_debug" ] || continue
61 echo
62 set_and_check_debug $test_node "$new_debug"
63 done
65 if [ "$testfailures" != 1 ] ; then
66 echo
67 echo "Returning the debug level to its initial value..."
68 set_and_check_debug $test_node "$initial_debug"