Skip to content

Commit

Permalink
Rewrite TestRunNetHost to compare namespaces
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Morozov <[email protected]>
  • Loading branch information
LK4D4 authored and Colin committed Jan 5, 2015
1 parent 4716aec commit 988d362
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions integration-cli/docker_cli_run_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2708,18 +2708,32 @@ func TestRunNonLocalMacAddress(t *testing.T) {

func TestRunNetHost(t *testing.T) {
defer deleteAllContainers()
iplinkHost, err := exec.Command("ip", "link", "list").CombinedOutput()
hostNet, err := os.Readlink("/proc/1/ns/net")
if err != nil {
t.Fatal(err)
}

iplinkCont, err := exec.Command(dockerBinary, "run", "--net=host", "busybox", "ip", "link", "list").CombinedOutput()
cmd := exec.Command(dockerBinary, "run", "--net=host", "busybox", "readlink", "/proc/self/ns/net")
out2, _, err := runCommandWithOutput(cmd)
if err != nil {
t.Fatal(err)
t.Fatal(err, out2)
}

if !bytes.Equal(iplinkHost, iplinkCont) {
t.Fatalf("Container network:\n%s\nis not equal to host network:\n%s", iplinkCont, iplinkHost)
out2 = strings.Trim(out2, "\n")
if hostNet != out2 {
t.Fatalf("Net namespace different with --net=host %s != %s\n", hostNet, out2)
}
logDone("run - host network")

cmd = exec.Command(dockerBinary, "run", "busybox", "readlink", "/proc/self/ns/net")
out2, _, err = runCommandWithOutput(cmd)
if err != nil {
t.Fatal(err, out2)
}

out2 = strings.Trim(out2, "\n")
if hostNet == out2 {
t.Fatalf("Net namespace should be different without --net=host %s == %s\n", hostNet, out2)
}

logDone("run - net host mode")
}

0 comments on commit 988d362

Please sign in to comment.