|
@@ -0,0 +1,30 @@
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "os/exec"
|
|
|
+ "testing"
|
|
|
+)
|
|
|
+
|
|
|
+func TestPingUnlinkedContainers(t *testing.T) {
|
|
|
+ runCmd := exec.Command(dockerBinary, "run", "--rm", "busybox", "sh", "-c", "ping -c 1 alias1 -W 1 && ping -c 1 alias2 -W 1")
|
|
|
+ exitCode, err := runCommand(runCmd)
|
|
|
+
|
|
|
+ if exitCode == 0 {
|
|
|
+ t.Fatal("run ping did not fail")
|
|
|
+ } else if exitCode != 1 {
|
|
|
+ errorOut(err, t, fmt.Sprintf("run ping failed with errors: %v", err))
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func TestPingLinkedContainers(t *testing.T) {
|
|
|
+ var out string
|
|
|
+ out, _, _ = cmd(t, "run", "-d", "--name", "container1", "busybox", "sleep", "10")
|
|
|
+ idA := stripTrailingCharacters(out)
|
|
|
+ out, _, _ = cmd("run", "-d", "--name", "container2", "busybox", "sleep", "10")
|
|
|
+ idB := stripTrailingCharacters(out)
|
|
|
+ cmd("run", "--rm", "--link", "container1:alias1", "--link", "container2:alias2", "busybox", "sh", "-c", "ping -c 1 alias1 -W 1 && ping -c 1 alias2 -W 1")
|
|
|
+ cmd("kill", idA)
|
|
|
+ cmd("kill", idB)
|
|
|
+ deleteAllContainers()
|
|
|
+}
|