From 249f5a65a55ac9f68c65d57a7e7b5ac486060b97 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Wed, 18 Sep 2013 10:53:00 +0200 Subject: [PATCH] Add a network test This just tries pinging first 127.0.0.1 and then 8.8.8.8. We can't ping via a dns name, because libresolv.so is missing from the test image, so dns resolving doesn't work. --- container_test.go | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/container_test.go b/container_test.go index b36898e85b..460f5adc8c 100644 --- a/container_test.go +++ b/container_test.go @@ -407,6 +407,44 @@ func TestOutput(t *testing.T) { } } +func TestContainerNetwork(t *testing.T) { + runtime := mkRuntime(t) + defer nuke(runtime) + container, err := runtime.Create( + &Config{ + Image: GetTestImage(runtime).ID, + Cmd: []string{"ping", "-c", "1", "127.0.0.1"}, + }, + ) + if err != nil { + t.Fatal(err) + } + defer runtime.Destroy(container) + if err := container.Run(); err != nil { + t.Fatal(err) + } + if container.State.ExitCode != 0 { + t.Errorf("Unexpected ping 127.0.0.1 exit code %d (expected 0)", container.State.ExitCode) + } + + container, err = runtime.Create( + &Config{ + Image: GetTestImage(runtime).ID, + Cmd: []string{"ping", "-c", "1", "8.8.8.8"}, + }, + ) + if err != nil { + t.Fatal(err) + } + defer runtime.Destroy(container) + if err := container.Run(); err != nil { + t.Fatal(err) + } + if container.State.ExitCode != 0 { + t.Errorf("Unexpected ping 8.8.8.8 exit code %d (expected 0)", container.State.ExitCode) + } +} + func TestKillDifferentUser(t *testing.T) { runtime := mkRuntime(t) defer nuke(runtime)