moby--moby/integration-cli/docker_cli_start_test.go

35 lines
938 B
Go

package main
import (
"os/exec"
"testing"
)
// Regression test for #3364
func TestDockerStartWithPortCollision(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "--name", "fail", "-p", "25:25", "busybox", "true")
out, stderr, exitCode, err := runCommandWithStdoutStderr(runCmd)
if err != nil && exitCode != 0 {
t.Fatal(out, stderr, err)
}
runCmd = exec.Command(dockerBinary, "run", "--name", "conflict", "-dti", "-p", "25:25", "busybox", "sh")
out, stderr, exitCode, err = runCommandWithStdoutStderr(runCmd)
if err != nil && exitCode != 0 {
t.Fatal(out, stderr, err)
}
startCmd := exec.Command(dockerBinary, "start", "-a", "fail")
out, stderr, exitCode, err = runCommandWithStdoutStderr(startCmd)
if err != nil && exitCode != 1 {
t.Fatal(out, err)
}
killCmd := exec.Command(dockerBinary, "kill", "conflict")
runCommand(killCmd)
deleteAllContainers()
logDone("start - -a=true error on port use")
}