From 2f18e59567b5ef8699ff96f53aac5d4ece97d3d3 Mon Sep 17 00:00:00 2001 From: Alexander Morozov Date: Tue, 7 Apr 2015 15:20:39 -0700 Subject: [PATCH] Test case for network mode chain container -> container -> host Issue #12130 Signed-off-by: Alexander Morozov Upstream-commit: ce69dafe4d0424ddb5df53d9aee7728f0734cce7 Component: engine --- .../integration-cli/docker_cli_run_test.go | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/components/engine/integration-cli/docker_cli_run_test.go b/components/engine/integration-cli/docker_cli_run_test.go index ef7a9dee8f..1be512d533 100644 --- a/components/engine/integration-cli/docker_cli_run_test.go +++ b/components/engine/integration-cli/docker_cli_run_test.go @@ -3249,6 +3249,35 @@ func TestRunNetHost(t *testing.T) { logDone("run - net host mode") } +func TestRunNetContainerWhichHost(t *testing.T) { + testRequires(t, SameHostDaemon) + defer deleteAllContainers() + + hostNet, err := os.Readlink("/proc/1/ns/net") + if err != nil { + t.Fatal(err) + } + + cmd := exec.Command(dockerBinary, "run", "-d", "--net=host", "--name=test", "busybox", "top") + out, _, err := runCommandWithOutput(cmd) + if err != nil { + t.Fatal(err, out) + } + + cmd = exec.Command(dockerBinary, "run", "--net=container:test", "busybox", "readlink", "/proc/self/ns/net") + out, _, err = runCommandWithOutput(cmd) + if err != nil { + t.Fatal(err, out) + } + + out = strings.Trim(out, "\n") + if hostNet != out { + t.Fatalf("Container should have host network namespace") + } + + logDone("run - net container mode, where container in host mode") +} + func TestRunAllowPortRangeThroughPublish(t *testing.T) { defer deleteAllContainers()