Return usage on parseExec error.

Docker-DCO-1.1-Signed-off-by: Jessica Frazelle <jess@docker.com> (github: jfrazelle)
This commit is contained in:
Jessica Frazelle 2014-12-23 11:16:23 -08:00
parent 043e33c2c1
commit 7fdbd90f88
2 changed files with 17 additions and 0 deletions

View file

@ -2589,6 +2589,7 @@ func (cli *DockerCli) CmdExec(args ...string) error {
execConfig, err := runconfig.ParseExec(cmd, args)
if err != nil {
cmd.Usage()
return err
}
if execConfig.Container == "" {

View file

@ -351,3 +351,19 @@ func TestExecTtyWithoutStdin(t *testing.T) {
logDone("exec - forbid piped stdin to tty enabled container")
}
func TestExecParseError(t *testing.T) {
defer deleteAllContainers()
runCmd := exec.Command(dockerBinary, "run", "-d", "--name", "top", "busybox", "top")
if out, _, err := runCommandWithOutput(runCmd); err != nil {
t.Fatal(out, err)
}
// Test normal (non-detached) case first
cmd := exec.Command(dockerBinary, "exec", "top")
if out, _, err := runCommandWithOutput(cmd); err == nil || !strings.Contains(out, "Usage:") {
t.Fatalf("Should have thrown error & given usage: %s", out)
}
logDone("exec - error on parseExec should return usage")
}