From 11e72356e849ed4cb315c942e30e9bcadc624f42 Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Wed, 10 Feb 2010 20:27:53 +1100 Subject: [PATCH] Test suite: Make "ctdb ip" test backward compatible with older ctdb versions. Recent updates to the test meant that it only worked with the latest ctdb versions. This changes things so that we never bother matching the machine readable header, just the actual data in the output. It also takes a slightly more liberal approach in massaging the human readable output to ensure it matches the machine readable output. Signed-off-by: Martin Schwenke --- tests/simple/11_ctdb_ip.sh | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/tests/simple/11_ctdb_ip.sh b/tests/simple/11_ctdb_ip.sh index 59c5d52e..e8588454 100755 --- a/tests/simple/11_ctdb_ip.sh +++ b/tests/simple/11_ctdb_ip.sh @@ -32,21 +32,14 @@ set -e cluster_is_healthy echo "Getting list of public IPs..." -try_command_on_node -v 1 $CTDB ip -n all +try_command_on_node -v 1 "$CTDB ip -n all | tail -n +2" ips=$(echo "$out" | sed \ - -e '1d' \ -e 's@ node\[@ @' \ - -e 's@\].*$@:@') -machineout1=":Public IP:Node:ActiveInterface:AvailableInterfaces:ConfiguredInterfaces:" -machineout2=$(echo "$out" | sed \ - -e '1d' \ - -e 's@^@:@' \ - -e 's@ node\[@:@' \ - -e 's@\] active\[@:@' \ - -e 's@\] available\[@:@' \ - -e 's@\] configured\[@:@' \ - -e 's@\]$@:@') -machineout=`echo -e "$machineout1\n$machineout2"` + -e 's@\].*$@@') +machineout=$(echo "$out" | sed -r \ + -e 's@^| |$@:@g' \ + -e 's@[[:alpha:]]+\[@@g' \ + -e 's@\]@@g') while read ip pnn ; do try_command_on_node $pnn "ip addr show" @@ -60,7 +53,7 @@ done <<<"$ips" # bashism to avoid problem setting variable in pipeline. [ "$testfailures" != 1 ] && echo "Looks good!" -cmd="$CTDB -Y ip -n all" +cmd="$CTDB -Y ip -n all | tail -n +2" echo "Checking that \"$cmd\" produces expected output..." try_command_on_node 1 "$cmd" -- 2.34.1