2008-11-25 17:53:28 +11:00
#!/bin/bash
test_info( )
{
cat <<EOF
Verify that 'ctdb getdebug' works as expected.
Prerequisites:
* An active CTDB cluster with at least 2 active nodes.
Steps:
1. Verify that the status on all of the ctdb nodes is 'OK' .
2. Get the current debug level on a node, using 'ctdb getdebug -n <node>' .
2014-11-20 15:03:25 +11:00
3. Verify that pipe-separated output is generated with the -X option.
2008-11-25 17:53:28 +11:00
4. Verify that the '-n all' option shows the debug level on all nodes.
Expected results:
* 'ctdb getdebug' shows the debug level on all the nodes.
EOF
}
2012-04-18 14:55:21 +10:00
. " ${ TEST_SCRIPTS_DIR } /integration.bash "
2008-11-25 17:53:28 +11:00
ctdb_test_init " $@ "
set -e
2009-07-06 17:52:11 +10:00
cluster_is_healthy
2008-11-25 17:53:28 +11:00
2009-01-08 17:12:03 +11:00
try_command_on_node 0 " $CTDB listnodes | wc -l "
2008-11-25 17:53:28 +11:00
num_nodes = " $out "
2009-01-08 17:12:03 +11:00
try_command_on_node -v 1 " onnode -q all $CTDB getdebug "
2008-11-25 17:53:28 +11:00
getdebug_onnode = " $out "
sanity_check_output \
$num_nodes \
2009-07-03 17:40:16 +10:00
'^Node [[:digit:]]+ is at debug level [[:alpha:]]+ \([[:digit:]]+\)$' \
2008-11-25 17:53:28 +11:00
" $out "
2009-01-08 17:12:03 +11:00
try_command_on_node -v 1 " $CTDB getdebug -n all "
2008-11-25 17:53:28 +11:00
getdebug_all = " $out "
cmd = ""
n = 0
while [ $n -lt $num_nodes ] ; do
2009-01-08 17:12:03 +11:00
cmd = " ${ cmd } ${ cmd : +; } $CTDB getdebug -n $n "
2008-11-25 17:53:28 +11:00
n = $(( $n + 1 ))
done
try_command_on_node -v 1 " $cmd "
getdebug_n = " $out "
if [ " $getdebug_onnode " = " $getdebug_all " -a \
" $getdebug_all " = " $getdebug_n " ] ; then
echo "They're the same... cool!"
else
echo "Error: they differ."
testfailures = 1
fi
2014-11-20 15:03:25 +11:00
seps = ""
2008-11-25 17:53:28 +11:00
nl = "
"
while read line ; do
2014-11-20 15:03:25 +11:00
t = $( echo " $line " | sed -r -e 's@Node [[:digit:]]+ is at debug level ([[:alpha:]]+) \((-?[[:digit:]]+)\)$@\|\1\|\2|@' )
seps = " ${ seps } ${ seps : + ${ nl } } |Name|Level| ${ nl } ${ t } "
2008-11-25 17:53:28 +11:00
done <<< " $getdebug_onnode "
2014-11-20 15:03:25 +11:00
cmd = " $CTDB -X getdebug -n all "
2008-11-25 17:53:28 +11:00
echo " Checking that \" $cmd \" produces expected output... "
try_command_on_node 1 " $cmd "
2014-11-20 15:03:25 +11:00
if [ " $out " = " $seps " ] ; then
2008-11-25 17:53:28 +11:00
echo "Yep, looks good!"
else
echo "Nope, it looks like this:"
echo " $out "
testfailures = 1
fi