ldb: Release ldb 1.3.0
[Samba.git] / ctdb / tests / simple / 13_ctdb_setdebug.sh
blobe8652108d72c6a2b968e001a3e1a18b1e51d8990
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="$out"
35 set_and_check_debug ()
37 local node="$1"
38 local level="$2"
39 local levelstr="${3:-$level}"
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 [ "$levelstr" != "$check_debug" ] ; then
48 echo "BAD: Debug level should have changed to \"$levelstr\" but it is \"$check_debug\"."
49 testfailures=1
53 get_debug $test_node
54 initial_debug="$check_debug"
56 levels="ERROR 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 while read new_debug i ; do
66 [ "$initial_debug" != "$i" ] || continue
68 echo
69 set_and_check_debug $test_node "$i" "$new_debug"
70 done <<EOF
71 ERROR 0
72 WARNING 1
73 WARNING 2
74 NOTICE 3
75 NOTICE 4
76 INFO 5
77 INFO 6
78 INFO 7
79 INFO 8
80 INFO 9
81 DEBUG 10
82 EOF
84 if [ "$testfailures" != 1 ] ; then
85 echo
86 echo "Returning the debug level to its initial value..."
87 set_and_check_debug $test_node "$initial_debug"