summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/e2e/run_signal_test.go7
-rw-r--r--test/e2e/run_volume_test.go84
-rw-r--r--test/e2e/stats_test.go11
-rw-r--r--test/e2e/volume_create_test.go20
-rw-r--r--test/e2e/volume_inspect_test.go13
-rw-r--r--test/system/015-help.bats8
6 files changed, 137 insertions, 6 deletions
diff --git a/test/e2e/run_signal_test.go b/test/e2e/run_signal_test.go
index 1dbac1dc9..1d57e6211 100644
--- a/test/e2e/run_signal_test.go
+++ b/test/e2e/run_signal_test.go
@@ -19,6 +19,7 @@ import (
)
const sigCatch = "trap \"echo FOO >> /h/fifo \" 8; echo READY >> /h/fifo; while :; do sleep 0.25; done"
+const sigCatch2 = "trap \"echo Received\" SIGFPE; while :; do sleep 0.25; done"
var _ = Describe("Podman run with --sig-proxy", func() {
var (
@@ -110,11 +111,11 @@ var _ = Describe("Podman run with --sig-proxy", func() {
})
Specify("signals are not forwarded to container with sig-proxy false", func() {
- signal := syscall.SIGPOLL
+ signal := syscall.SIGFPE
if rootless.IsRootless() {
podmanTest.RestoreArtifact(fedoraMinimal)
}
- session, pid := podmanTest.PodmanPID([]string{"run", "--name", "test2", "--sig-proxy=false", fedoraMinimal, "bash", "-c", sigCatch})
+ session, pid := podmanTest.PodmanPID([]string{"run", "--name", "test2", "--sig-proxy=false", fedoraMinimal, "bash", "-c", sigCatch2})
ok := WaitForContainer(podmanTest)
Expect(ok).To(BeTrue())
@@ -132,7 +133,7 @@ var _ = Describe("Podman run with --sig-proxy", func() {
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(137))
- ok, _ = session.GrepString(fmt.Sprintf("Received %d", signal))
+ ok, _ = session.GrepString("Received")
Expect(ok).To(BeFalse())
})
diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go
index 94bfebab7..c96059787 100644
--- a/test/e2e/run_volume_test.go
+++ b/test/e2e/run_volume_test.go
@@ -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")))
+ })
})
diff --git a/test/e2e/stats_test.go b/test/e2e/stats_test.go
index 4000ab33a..fbf7c9920 100644
--- a/test/e2e/stats_test.go
+++ b/test/e2e/stats_test.go
@@ -11,6 +11,8 @@ import (
. "github.com/onsi/gomega"
)
+// TODO: we need to check the output. Currently, we only check the exit codes
+// which is not enough.
var _ = Describe("Podman stats", func() {
var (
tempdir string
@@ -61,6 +63,15 @@ var _ = Describe("Podman stats", func() {
Expect(session.ExitCode()).To(Equal(0))
})
+ It("podman stats on all running containers", func() {
+ session := podmanTest.RunTopContainer("")
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ session = podmanTest.Podman([]string{"stats", "--no-stream"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+ })
+
It("podman stats only output cids", func() {
session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout()
diff --git a/test/e2e/volume_create_test.go b/test/e2e/volume_create_test.go
index 41107b5ba..71023f9e2 100644
--- a/test/e2e/volume_create_test.go
+++ b/test/e2e/volume_create_test.go
@@ -1,6 +1,7 @@
package integration
import (
+ "fmt"
"os"
. "github.com/containers/libpod/test/utils"
@@ -63,4 +64,23 @@ var _ = Describe("Podman volume create", func() {
session.WaitWithDefaultTimeout()
Expect(session).To(ExitWithError())
})
+
+ It("podman create volume with o=uid,gid", func() {
+ volName := "testVol"
+ uid := "3000"
+ gid := "4000"
+ session := podmanTest.Podman([]string{"volume", "create", "--opt", fmt.Sprintf("o=uid=%s,gid=%s", uid, gid), volName})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ inspectUID := podmanTest.Podman([]string{"volume", "inspect", "--format", "{{ .UID }}", volName})
+ inspectUID.WaitWithDefaultTimeout()
+ Expect(inspectUID.ExitCode()).To(Equal(0))
+ Expect(inspectUID.OutputToString()).To(Equal(uid))
+
+ inspectGID := podmanTest.Podman([]string{"volume", "inspect", "--format", "{{ .GID }}", volName})
+ inspectGID.WaitWithDefaultTimeout()
+ Expect(inspectGID.ExitCode()).To(Equal(0))
+ Expect(inspectGID.OutputToString()).To(Equal(gid))
+ })
})
diff --git a/test/e2e/volume_inspect_test.go b/test/e2e/volume_inspect_test.go
index 0683c6bbf..5015e0535 100644
--- a/test/e2e/volume_inspect_test.go
+++ b/test/e2e/volume_inspect_test.go
@@ -2,6 +2,7 @@ package integration
import (
"os"
+ "strings"
. "github.com/containers/libpod/test/utils"
. "github.com/onsi/ginkgo"
@@ -74,4 +75,16 @@ var _ = Describe("Podman volume inspect", func() {
Expect(session.OutputToStringArray()[0]).To(Equal(volName1))
Expect(session.OutputToStringArray()[1]).To(Equal(volName2))
})
+
+ It("inspect volume finds options", func() {
+ volName := "testvol"
+ session := podmanTest.Podman([]string{"volume", "create", "--opt", "type=tmpfs", volName})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ inspect := podmanTest.Podman([]string{"volume", "inspect", volName})
+ inspect.WaitWithDefaultTimeout()
+ Expect(inspect.ExitCode()).To(Equal(0))
+ Expect(strings.Contains(inspect.OutputToString(), "tmpfs")).To(BeTrue())
+ })
})
diff --git a/test/system/015-help.bats b/test/system/015-help.bats
index a987f04bc..fd4be87b2 100644
--- a/test/system/015-help.bats
+++ b/test/system/015-help.bats
@@ -55,9 +55,11 @@ function check_help() {
# If usage has required arguments, try running without them
if expr "$usage" : '.*\[flags\] [A-Z]' >/dev/null; then
- dprint "podman $@ $cmd (without required args)"
- run_podman 125 "$@" $cmd
- is "$output" "Error:"
+ if [ "$cmd" != "stats"]; then
+ dprint "podman $@ $cmd (without required args)"
+ run_podman 125 "$@" $cmd
+ is "$output" "Error:"
+ fi
fi
count=$(expr $count + 1)