glusterfs/tests/bugs/bug-861542.t
Kaushal M cea939a5b1 cli: output xml in pretty format
Gluster cli now prints XML outputs in 'pretty' format. This solves the problem
of empty elements occuring as two tags instead of being collapsed into one.

Change-Id: Iab7aeadcff29c18ae388b58e446a16e937ac09ed
BUG: 849293
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/4355
Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2013-01-16 23:59:48 -08:00

52 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
. $(dirname $0)/../include.rc
cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume info;
# Distributed volume with a single brick was chosen solely for the ease of
#implementing the test case (to be precise, for the ease of extracting the port number).
TEST $CLI volume create $V0 $H0:$B0/brick0;
TEST $CLI volume start $V0;
function port_field()
{
local vol=$1;
local opt=$2;
if [ $opt -eq '0' ]; then
$CLI volume status $vol | grep "brick0" | awk '{print $3}';
else
$CLI volume status $vol detail | grep "^Port " | awk '{print $3}';
fi
}
function xml_port_field()
{
local vol=$1;
local opt=$2;
$CLI --xml volume status $vol $opt | tr -d '\n' |\
#Find the first occurrence of the string between <port> and </port>
sed -r 's/<port>/&\n/;s/<\/port>/\n&/;s/^.*\n(.*)\n.*$/\1/'| \
grep -v xml | tr -d '\n';
}
TEST $CLI volume status $V0;
TEST $CLI volume status $V0 detail;
TEST $CLI --xml volume status $V0;
TEST $CLI --xml volume status $V0 detail;
# Kill the brick process. After this, port number for the killed (in this case brick) process must be "N/A".
kill `cat /var/lib/glusterd/vols/$V0/run/$H0-d-backends-brick0.pid`
EXPECT "N/A" port_field $V0 '0'; # volume status
EXPECT "N/A" port_field $V0 '1'; # volume status detail
EXPECT "N/A" xml_port_field $V0 '';
EXPECT "N/A" xml_port_field $V0 'detail';
cleanup;