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:
commit
eb79acd7a0
2 changed files with 18 additions and 1 deletions
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
Loading…
Reference in a new issue