Merge pull request #9792 from jfrazelle/9770-parse-exec-usage

Return usage on parseExec error.
This commit is contained in:
Alexander Morozov 2014-12-26 17:45:55 -08:00
commit 819b715b8d
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")
}