diff options
author | Krutika Dhananjay <kdhananj@redhat.com> | 2012-11-27 15:13:15 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-12-07 17:11:12 -0800 |
commit | d0b0e59952222c186120c91518ccf94862a86f64 (patch) | |
tree | d9588e12a7f4fba7fc085c8af21b1c2b8e331418 | |
parent | 66e34de1bef45dfd71ddccda57947fdb3c319640 (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.c | 2 | ||||
-rwxr-xr-x | tests/bugs/bug-823081.t | 38 |
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; |