summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvra Sengupta <asengupt@redhat.com>2015-08-05 15:56:53 +0530
committerRaghavendra Bhat <raghavendra@redhat.com>2015-08-25 23:41:01 -0700
commitb8118289a928c72cf5a2298419c188fb87426c2f (patch)
tree55db9f6a6cc30e12692d6ec5cc95a811c7bacb30
parentdfa2bfb289cc73ade0e441f2e2ee88d0d819d48d (diff)
snapshot: Fix snapshot info's xml output
Backport of http://review.gluster.org/#/c/11834/ Display description field with (null) if no description is present for the snapshot, instead of removing the field altogether Change-Id: I965b08cd6e54eea56c32e2712fab7daa8a663f11 BUG: 1173437 Signed-off-by: Avra Sengupta <asengupt@redhat.com> Reviewed-on: http://review.gluster.org/11919 Reviewed-by: mohammed rafi kc <rkavunga@redhat.com> Reviewed-by: Raghavendra Bhat <raghavendra@redhat.com> Tested-by: Raghavendra Bhat <raghavendra@redhat.com>
-rw-r--r--cli/src/cli-xml-output.c6
-rwxr-xr-xtests/bugs/snapshot/bug-1250387.t26
-rwxr-xr-xtests/snapshot.rc14
3 files changed, 45 insertions, 1 deletions
diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c
index 2ff924158ce..4c43c0c9bdf 100644
--- a/cli/src/cli-xml-output.c
+++ b/cli/src/cli-xml-output.c
@@ -4603,8 +4603,12 @@ cli_xml_snapshot_info_per_snap (xmlTextWriterPtr writer, xmlDocPtr doc,
ret = xmlTextWriterWriteFormatElement (writer,
(xmlChar *) "description",
"%s", buffer);
- XML_RET_CHECK_AND_GOTO (ret, out);
+ } else {
+ ret = xmlTextWriterWriteFormatElement (writer,
+ (xmlChar *) "description",
+ "%s", "");
}
+ XML_RET_CHECK_AND_GOTO (ret, out);
snprintf (key_buffer, sizeof (key_buffer), "%s.snap-time", keyprefix);
diff --git a/tests/bugs/snapshot/bug-1250387.t b/tests/bugs/snapshot/bug-1250387.t
new file mode 100755
index 00000000000..9e32a9c3c95
--- /dev/null
+++ b/tests/bugs/snapshot/bug-1250387.t
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+. $(dirname $0)/../../include.rc
+. $(dirname $0)/../../volume.rc
+. $(dirname $0)/../../snapshot.rc
+
+cleanup;
+
+TEST init_n_bricks 1;
+TEST setup_lvm 1;
+
+TEST glusterd;
+
+TEST pidof glusterd;
+
+TEST $CLI volume create $V0 $H0:$L1;
+
+TEST $CLI volume start $V0;
+
+TEST glusterfs --volfile-server=$H0 --volfile-id=$V0 $M0;
+
+TEST $CLI snapshot create snap1 $V0;
+
+EXPECT "description" get-cmd-field-xml "snapshot info snap1" "description"
+
+cleanup ;
diff --git a/tests/snapshot.rc b/tests/snapshot.rc
index 175344ef5f7..e893748eb9e 100755
--- a/tests/snapshot.rc
+++ b/tests/snapshot.rc
@@ -401,6 +401,20 @@ function uss_count_snap_displayed() {
ls $path/.snaps | wc -l
}
+#return specific fields of xml output
+function get-cmd-field-xml()
+{
+ local cli=$CLI_1;
+ if [ "$cli" = "" ]; then
+ cli=$CLI
+ fi
+
+ COMMAND=$1
+ PATTERN=$2
+
+ $cli $COMMAND --xml | xmllint --format - | grep $PATTERN
+}
+
case $OSTYPE in
NetBSD)
echo "Skip test on LVM which is not available on NetBSD" >&2