1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Merge pull request #10421 from noironetworks/10388-Specifying_confliting_options

Specifying -a and -d to docker run should throw an error
This commit is contained in:
Michael Crosby 2015-02-06 14:58:08 -08:00
commit eb79acd7a0
2 changed files with 18 additions and 1 deletions

View file

@ -2235,7 +2235,7 @@ func (cli *DockerCli) CmdRun(args ...string) error {
return err
}
} else {
if fl := cmd.Lookup("attach"); fl != nil {
if fl := cmd.Lookup("-attach"); fl != nil {
flAttach = fl.Value.(*opts.ListOpts)
if flAttach.Len() != 0 {
return ErrConflictAttachDetach

View file

@ -1753,6 +1753,23 @@ func TestRunAttachStdOutAndErrTTYMode(t *testing.T) {
logDone("run - Attach stderr and stdout with -t")
}
// Test for #10388 - this will run the same test as TestRunAttachStdOutAndErrTTYMode
// but using --attach instead of -a to make sure we read the flag correctly
func TestRunAttachWithDettach(t *testing.T) {
defer deleteAllContainers()
cmd := exec.Command(dockerBinary, "run", "-d", "--attach", "stdout", "busybox", "true")
_, stderr, _, err := runCommandWithStdoutStderr(cmd)
if err == nil {
t.Fatalf("Container should have exited with error code different than 0", err)
} else if !strings.Contains(stderr, "Conflicting options: -a and -d") {
t.Fatalf("Should have been returned an error with conflicting options -a and -d")
}
logDone("run - Attach stdout with -d")
}
func TestRunState(t *testing.T) {
defer deleteAllContainers()
cmd := exec.Command(dockerBinary, "run", "-d", "busybox", "top")