diff options
-rw-r--r-- | cli/src/cli-xml-output.c | 6 | ||||
-rwxr-xr-x | tests/bugs/snapshot/bug-1250387.t | 26 | ||||
-rw-r--r-- | tests/snapshot.rc | 14 |
3 files changed, 45 insertions, 1 deletions
diff --git a/cli/src/cli-xml-output.c b/cli/src/cli-xml-output.c index b558a9a843c..9c3d17a7b64 100644 --- a/cli/src/cli-xml-output.c +++ b/cli/src/cli-xml-output.c @@ -4526,8 +4526,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..c9039e37f73 --- /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 no-timestamp; + +EXPECT "description" get-cmd-field-xml "snapshot info snap1" "description" + +cleanup ; diff --git a/tests/snapshot.rc b/tests/snapshot.rc index 3ee1d6c4450..60e5b79ec76 100644 --- a/tests/snapshot.rc +++ b/tests/snapshot.rc @@ -431,6 +431,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 |