summaryrefslogtreecommitdiff
path: root/test/e2e/run_volume_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'test/e2e/run_volume_test.go')
-rw-r--r--test/e2e/run_volume_test.go88
1 files changed, 86 insertions, 2 deletions
diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go
index bc3a14b66..c96059787 100644
--- a/test/e2e/run_volume_test.go
+++ b/test/e2e/run_volume_test.go
@@ -155,7 +155,7 @@ var _ = Describe("Podman run with volumes", func() {
session = podmanTest.Podman([]string{"run", "--rm", "--mount", fmt.Sprintf("type=bind,src=%s,target=/run/test,ro=true,rw=false", mountPath), ALPINE, "grep", "/run/test", "/proc/self/mountinfo"})
session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(Not(Equal(0)))
+ Expect(session).To(ExitWithError())
})
It("podman run with volume flag and multiple named volumes", func() {
@@ -191,7 +191,7 @@ var _ = Describe("Podman run with volumes", func() {
It("podman run with noexec can't exec", func() {
session := podmanTest.Podman([]string{"run", "--rm", "-v", "/bin:/hostbin:noexec", ALPINE, "/hostbin/ls", "/"})
session.WaitWithDefaultTimeout()
- Expect(session.ExitCode()).To(Not(Equal(0)))
+ Expect(session).To(ExitWithError())
})
It("podman run with tmpfs named volume mounts and unmounts", func() {
@@ -280,4 +280,88 @@ var _ = Describe("Podman run with volumes", func() {
session2.WaitWithDefaultTimeout()
Expect(session2.ExitCode()).To(Equal(0))
})
+
+ It("podman run with anonymous volume", func() {
+ list1 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list1.WaitWithDefaultTimeout()
+ Expect(list1.ExitCode()).To(Equal(0))
+ Expect(list1.OutputToString()).To(Equal(""))
+
+ session := podmanTest.Podman([]string{"create", "-v", "/test", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ list2 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list2.WaitWithDefaultTimeout()
+ Expect(list2.ExitCode()).To(Equal(0))
+ arr := list2.OutputToStringArray()
+ Expect(len(arr)).To(Equal(1))
+ Expect(arr[0]).To(Not(Equal("")))
+ })
+
+ It("podman rm -v removes anonymous volume", func() {
+ list1 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list1.WaitWithDefaultTimeout()
+ Expect(list1.ExitCode()).To(Equal(0))
+ Expect(list1.OutputToString()).To(Equal(""))
+
+ ctrName := "testctr"
+ session := podmanTest.Podman([]string{"create", "--name", ctrName, "-v", "/test", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ list2 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list2.WaitWithDefaultTimeout()
+ Expect(list2.ExitCode()).To(Equal(0))
+ arr := list2.OutputToStringArray()
+ Expect(len(arr)).To(Equal(1))
+ Expect(arr[0]).To(Not(Equal("")))
+
+ remove := podmanTest.Podman([]string{"rm", "-v", ctrName})
+ remove.WaitWithDefaultTimeout()
+ Expect(remove.ExitCode()).To(Equal(0))
+
+ list3 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list3.WaitWithDefaultTimeout()
+ Expect(list3.ExitCode()).To(Equal(0))
+ Expect(list3.OutputToString()).To(Equal(""))
+ })
+
+ It("podman rm -v retains named volume", func() {
+ list1 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list1.WaitWithDefaultTimeout()
+ Expect(list1.ExitCode()).To(Equal(0))
+ Expect(list1.OutputToString()).To(Equal(""))
+
+ ctrName := "testctr"
+ volName := "testvol"
+ session := podmanTest.Podman([]string{"create", "--name", ctrName, "-v", fmt.Sprintf("%s:/test", volName), ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ list2 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list2.WaitWithDefaultTimeout()
+ Expect(list2.ExitCode()).To(Equal(0))
+ arr := list2.OutputToStringArray()
+ Expect(len(arr)).To(Equal(1))
+ Expect(arr[0]).To(Equal(volName))
+
+ remove := podmanTest.Podman([]string{"rm", "-v", ctrName})
+ remove.WaitWithDefaultTimeout()
+ Expect(remove.ExitCode()).To(Equal(0))
+
+ list3 := podmanTest.Podman([]string{"volume", "list", "--quiet"})
+ list3.WaitWithDefaultTimeout()
+ Expect(list3.ExitCode()).To(Equal(0))
+ arr2 := list3.OutputToStringArray()
+ Expect(len(arr2)).To(Equal(1))
+ Expect(arr2[0]).To(Equal(volName))
+ })
+
+ It("podman run image volume is not noexec", func() {
+ session := podmanTest.Podman([]string{"run", "--rm", redis, "grep", "/data", "/proc/self/mountinfo"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ Expect(session.OutputToString()).To(Not(ContainSubstring("noexec")))
+ })
})