summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrutika Dhananjay <kdhananj@redhat.com>2012-11-27 15:13:15 +0530
committerAnand Avati <avati@redhat.com>2012-12-07 17:11:12 -0800
commitd0b0e59952222c186120c91518ccf94862a86f64 (patch)
treed9588e12a7f4fba7fc085c8af21b1c2b8e331418
parent66e34de1bef45dfd71ddccda57947fdb3c319640 (diff)
cli: cmd history echoes the last command string word twice with --mode=script
PROBLEM: When a gluster command is executed with --mode=script option enabled, the last word in the command string is echoed twice in command history. Example: [2012-12-03 05:29:16.083176] : volume start dis dis : SUCCESS FIX: Terminate argv with NULL when the words are shifted after omitting "--mode=script" from it. Change-Id: I3a2623efe02e58c97c34554988938a9299425492 BUG: 823081 Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com> Reviewed-on: http://review.gluster.org/4255 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
-rw-r--r--cli/src/cli.c2
-rwxr-xr-xtests/bugs/bug-823081.t38
2 files changed, 40 insertions, 0 deletions
diff --git a/cli/src/cli.c b/cli/src/cli.c
index 2b94df87c..a2457c2b6 100644
--- a/cli/src/cli.c
+++ b/cli/src/cli.c
@@ -382,6 +382,8 @@ parse_cmdline (int argc, char *argv[], struct cli_state *state)
}
}
+ state->argv[state->argc] = NULL;
+
return ret;
}
diff --git a/tests/bugs/bug-823081.t b/tests/bugs/bug-823081.t
new file mode 100755
index 000000000..ce7d2e509
--- /dev/null
+++ b/tests/bugs/bug-823081.t
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+. $(dirname $0)/../include.rc
+
+cleanup;
+V1=patchy2
+
+TEST glusterd
+TEST pidof glusterd
+
+logdir=`gluster --print-logdir`
+function set_tail ()
+{
+ vol=$1;
+ tail_success="volume create $vol $H0:$B0/${vol}1 $H0:$B0/${vol}2 : SUCCESS"
+ tail_failure="volume create $vol $H0:$B0/${vol}1 $H0:$B0/${vol}2 : FAILED : Volume $vol already exists"
+}
+
+set_tail $V0;
+
+TEST $CLI volume create $V0 $H0:$B0/${V0}{1,2};
+tail=`tail --lines=1 $logdir/.cmd_log_history | cut -d " " -f 5-`
+TEST [[ \"$tail\" == \"$tail_success\" ]]
+
+TEST ! $CLI volume create $V0 $H0:$B0/${V0}{1,2};
+tail=`tail --lines=1 $logdir/.cmd_log_history | cut -d " " -f 5-`
+TEST [[ \"$tail\" == \"$tail_failure\" ]]
+
+set_tail $V1;
+TEST gluster volume create $V1 $H0:$B0/${V1}{1,2};
+tail=`tail --lines=1 $logdir/.cmd_log_history | cut -d " " -f 5-`
+TEST [[ \"$tail\" == \"$tail_success\" ]]
+
+TEST ! gluster volume create $V1 $H0:$B0/${V1}{1,2};
+tail=`tail --lines=1 $logdir/.cmd_log_history | cut -d " " -f 5-`
+TEST [[ \"$tail\" == \"$tail_failure\" ]]
+
+cleanup;