summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/apiv2/20-containers.at27
-rw-r--r--test/apiv2/40-pods.at2
-rw-r--r--test/e2e/create_test.go62
-rw-r--r--test/e2e/run_networking_test.go32
-rw-r--r--test/e2e/run_test.go8
-rw-r--r--test/system/075-exec.bats3
6 files changed, 128 insertions, 6 deletions
diff --git a/test/apiv2/20-containers.at b/test/apiv2/20-containers.at
index ed333d382..9ea3cb7ed 100644
--- a/test/apiv2/20-containers.at
+++ b/test/apiv2/20-containers.at
@@ -151,4 +151,31 @@ t DELETE images/localhost/newrepo:v2?force=true 200
t DELETE libpod/containers/$cid 204
t DELETE libpod/containers/myctr 204
+
+# test apiv2 create container with correct entrypoint and cmd
+# --data '{"Image":"quay.io/libpod/alpine_labels:latest","Entrypoint":["echo"],"Cmd":["param1","param2"]}'
+t POST containers/create '"Image":"'$IMAGE'","Entrypoint":["echo"],"Cmd":["param1","param2"]' 201 \
+ .Id~[0-9a-f]\\{64\\}
+cid=$(jq -r '.Id' <<<"$output")
+t GET containers/$cid/json 200 \
+ .Config.Entrypoint[0]="echo" \
+ .Config.Cmd[0]="param1" \
+ .Config.Cmd[1]="param2" \
+ .Path="echo" \
+ .Args[0]="param1" \
+ .Args[1]="param2"
+t DELETE containers/$cid 204
+
+# test only set the entrpoint, Cmd should be []
+t POST containers/create '"Image":"'$IMAGE'","Entrypoint":["echo","param1"]' 201 \
+ .Id~[0-9a-f]\\{64\\}
+cid=$(jq -r '.Id' <<<"$output")
+t GET containers/$cid/json 200 \
+ .Config.Entrypoint[0]="echo" \
+ .Config.Entrypoint[1]="param1" \
+ .Config.Cmd='[]' \
+ .Path="echo" \
+ .Args[0]="param1"
+t DELETE containers/$cid 204
+
# vim: filetype=sh
diff --git a/test/apiv2/40-pods.at b/test/apiv2/40-pods.at
index 9b8ff04f0..3df541de5 100644
--- a/test/apiv2/40-pods.at
+++ b/test/apiv2/40-pods.at
@@ -3,7 +3,7 @@
# test pod-related endpoints
#
-t GET "libpod/pods/json (clean slate at start)" 200 null
+t GET "libpod/pods/json (clean slate at start)" 200 '[]'
t POST libpod/pods/create name=foo 201 .Id~[0-9a-f]\\{64\\}
pod_id=$(jq -r .Id <<<"$output")
diff --git a/test/e2e/create_test.go b/test/e2e/create_test.go
index 72a3a7717..9cfed263a 100644
--- a/test/e2e/create_test.go
+++ b/test/e2e/create_test.go
@@ -542,4 +542,66 @@ var _ = Describe("Podman create", func() {
Expect(session.ExitCode()).To(Not(Equal(0)))
Expect(session.ErrorToString()).To(ContainSubstring("Invalid umask"))
})
+
+ It("create container in pod with IP should fail", func() {
+ SkipIfRootless()
+ name := "createwithstaticip"
+ pod := podmanTest.RunTopContainerInPod("", "new:"+name)
+ pod.WaitWithDefaultTimeout()
+ Expect(pod.ExitCode()).To(BeZero())
+
+ session := podmanTest.Podman([]string{"create", "--pod", name, "--ip", "192.168.1.2", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).ToNot(BeZero())
+ })
+
+ It("create container in pod with mac should fail", func() {
+ SkipIfRootless()
+ name := "createwithstaticmac"
+ pod := podmanTest.RunTopContainerInPod("", "new:"+name)
+ pod.WaitWithDefaultTimeout()
+ Expect(pod.ExitCode()).To(BeZero())
+
+ session := podmanTest.Podman([]string{"create", "--pod", name, "--mac-address", "52:54:00:6d:2f:82", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).ToNot(BeZero())
+ })
+
+ It("create container in pod with network should fail", func() {
+ SkipIfRootless()
+ name := "createwithnetwork"
+ pod := podmanTest.RunTopContainerInPod("", "new:"+name)
+ pod.WaitWithDefaultTimeout()
+ Expect(pod.ExitCode()).To(BeZero())
+
+ session := podmanTest.Podman([]string{"create", "--pod", name, "--network", "foobar", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ //Expect(session.ExitCode()).ToNot(BeZero())
+ Expect(session.ExitCode()).To(BeZero())
+ })
+
+ It("create container in pod with ports should fail", func() {
+ SkipIfRootless()
+ name := "createwithports"
+ pod := podmanTest.RunTopContainerInPod("", "new:"+name)
+ pod.WaitWithDefaultTimeout()
+ Expect(pod.ExitCode()).To(BeZero())
+
+ session := podmanTest.Podman([]string{"create", "--pod", name, "-p", "80:80", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).ToNot(BeZero())
+ })
+
+ It("create container in pod ppublish ports should fail", func() {
+ SkipIfRootless()
+ name := "createwithpublishports"
+ pod := podmanTest.RunTopContainerInPod("", "new:"+name)
+ pod.WaitWithDefaultTimeout()
+ Expect(pod.ExitCode()).To(BeZero())
+
+ session := podmanTest.Podman([]string{"create", "--pod", name, "-P", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).ToNot(BeZero())
+ })
+
})
diff --git a/test/e2e/run_networking_test.go b/test/e2e/run_networking_test.go
index 83befe730..a48f7c83e 100644
--- a/test/e2e/run_networking_test.go
+++ b/test/e2e/run_networking_test.go
@@ -531,8 +531,8 @@ var _ = Describe("Podman run networking", func() {
SkipIfRemote()
SkipIfRootless()
netName := "podmantestnetwork"
- ipAddr := "10.20.30.128"
- create := podmanTest.Podman([]string{"network", "create", "--subnet", "10.20.30.0/24", netName})
+ ipAddr := "10.25.30.128"
+ create := podmanTest.Podman([]string{"network", "create", "--subnet", "10.25.30.0/24", netName})
create.WaitWithDefaultTimeout()
Expect(create.ExitCode()).To(BeZero())
@@ -540,5 +540,33 @@ var _ = Describe("Podman run networking", func() {
run.WaitWithDefaultTimeout()
Expect(run.ExitCode()).To(BeZero())
Expect(run.OutputToString()).To(ContainSubstring(ipAddr))
+
+ netrm := podmanTest.Podman([]string{"network", "rm", netName})
+ netrm.WaitWithDefaultTimeout()
+ Expect(netrm.ExitCode()).To(BeZero())
+ })
+
+ It("podman run with new:pod and static-ip", func() {
+ SkipIfRemote()
+ SkipIfRootless()
+ netName := "podmantestnetwork2"
+ ipAddr := "10.25.40.128"
+ podname := "testpod"
+ create := podmanTest.Podman([]string{"network", "create", "--subnet", "10.25.40.0/24", netName})
+ create.WaitWithDefaultTimeout()
+ Expect(create.ExitCode()).To(BeZero())
+
+ run := podmanTest.Podman([]string{"run", "-t", "-i", "--rm", "--pod", "new:" + podname, "--net", netName, "--ip", ipAddr, ALPINE, "ip", "addr"})
+ run.WaitWithDefaultTimeout()
+ Expect(run.ExitCode()).To(BeZero())
+ Expect(run.OutputToString()).To(ContainSubstring(ipAddr))
+
+ podrm := podmanTest.Podman([]string{"pod", "rm", "-f", podname})
+ podrm.WaitWithDefaultTimeout()
+ Expect(podrm.ExitCode()).To(BeZero())
+
+ netrm := podmanTest.Podman([]string{"network", "rm", netName})
+ netrm.WaitWithDefaultTimeout()
+ Expect(netrm.ExitCode()).To(BeZero())
})
})
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 6c65a23e8..157b7d3d7 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -867,6 +867,14 @@ USER mail`
Expect(match).To(BeTrue())
})
+ It("podman run --pod new with hostname", func() {
+ hostname := "abc"
+ session := podmanTest.Podman([]string{"run", "--pod", "new:foobar", "--hostname", hostname, ALPINE, "cat", "/etc/hostname"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(ContainSubstring(hostname))
+ })
+
It("podman run --rm should work", func() {
session := podmanTest.Podman([]string{"run", "--name", "test", "--rm", ALPINE, "ls"})
session.WaitWithDefaultTimeout()
diff --git a/test/system/075-exec.bats b/test/system/075-exec.bats
index 5f71e2acb..e9db8c27e 100644
--- a/test/system/075-exec.bats
+++ b/test/system/075-exec.bats
@@ -90,7 +90,6 @@ load helpers
}
# #6829 : add username to /etc/passwd inside container if --userns=keep-id
-# #6593 : doesn't actually work with podman exec
@test "podman exec - with keep-id" {
run_podman run -d --userns=keep-id $IMAGE sh -c \
"echo READY;while [ ! -f /stop ]; do sleep 1; done"
@@ -100,8 +99,6 @@ load helpers
run_podman exec $cid id -un
is "$output" "$(id -un)" "container is running as current user"
- # Until #6593 gets fixed, this just hangs. The server process barfs with:
- # unable to find user <username>: no matching entries in passwd file
run_podman exec --user=$(id -un) $cid touch /stop
run_podman wait $cid
run_podman rm $cid