diff options
Diffstat (limited to 'test/e2e')
-rw-r--r-- | test/e2e/pod_prune_test.go | 78 | ||||
-rw-r--r-- | test/e2e/restart_test.go | 2 | ||||
-rw-r--r-- | test/e2e/stop_test.go | 78 |
3 files changed, 155 insertions, 3 deletions
diff --git a/test/e2e/pod_prune_test.go b/test/e2e/pod_prune_test.go new file mode 100644 index 000000000..c20f602ad --- /dev/null +++ b/test/e2e/pod_prune_test.go @@ -0,0 +1,78 @@ +// +build !remoteclient + +package integration + +import ( + "os" + + . "github.com/containers/libpod/test/utils" + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +var _ = Describe("Podman pod prune", func() { + var ( + tempdir string + err error + podmanTest *PodmanTestIntegration + ) + + BeforeEach(func() { + tempdir, err = CreateTempDirInTempDir() + if err != nil { + os.Exit(1) + } + podmanTest = PodmanTestCreate(tempdir) + podmanTest.Setup() + podmanTest.RestoreAllArtifacts() + }) + + AfterEach(func() { + podmanTest.CleanupPod() + f := CurrentGinkgoTestDescription() + processTestResult(f) + + }) + + It("podman pod prune empty pod", func() { + _, ec, _ := podmanTest.CreatePod("") + Expect(ec).To(Equal(0)) + + result := podmanTest.Podman([]string{"pod", "prune"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + }) + + It("podman pod prune doesn't remove a pod with a container", func() { + _, ec, podid := podmanTest.CreatePod("") + Expect(ec).To(Equal(0)) + + _, ec2, _ := podmanTest.RunLsContainerInPod("", podid) + Expect(ec2).To(Equal(0)) + + result := podmanTest.Podman([]string{"pod", "prune"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(125)) + + result = podmanTest.Podman([]string{"ps", "-qa"}) + result.WaitWithDefaultTimeout() + Expect(len(result.OutputToStringArray())).To(Equal(1)) + }) + + It("podman pod prune -f does remove a running container", func() { + _, ec, podid := podmanTest.CreatePod("") + Expect(ec).To(Equal(0)) + + session := podmanTest.RunTopContainerInPod("", podid) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + + result := podmanTest.Podman([]string{"pod", "prune", "-f"}) + result.WaitWithDefaultTimeout() + Expect(result.ExitCode()).To(Equal(0)) + + result = podmanTest.Podman([]string{"ps", "-q"}) + result.WaitWithDefaultTimeout() + Expect(result.OutputToString()).To(BeEmpty()) + }) +}) diff --git a/test/e2e/restart_test.go b/test/e2e/restart_test.go index 1daf63a0e..7a9a466d8 100644 --- a/test/e2e/restart_test.go +++ b/test/e2e/restart_test.go @@ -1,5 +1,3 @@ -// +build !remoteclient - package integration import ( diff --git a/test/e2e/stop_test.go b/test/e2e/stop_test.go index 97c9287b9..717eea441 100644 --- a/test/e2e/stop_test.go +++ b/test/e2e/stop_test.go @@ -4,6 +4,7 @@ package integration import ( "os" + "strings" . "github.com/containers/libpod/test/utils" . "github.com/onsi/ginkgo" @@ -48,6 +49,11 @@ var _ = Describe("Podman stop", func() { session = podmanTest.Podman([]string{"stop", cid}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop container by name", func() { @@ -57,15 +63,25 @@ var _ = Describe("Podman stop", func() { session = podmanTest.Podman([]string{"stop", "test1"}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) - It("podman stop container by name", func() { + It("podman container stop by name", func() { session := podmanTest.RunTopContainer("test1") session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) session = podmanTest.Podman([]string{"container", "stop", "test1"}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop stopped container", func() { @@ -80,6 +96,11 @@ var _ = Describe("Podman stop", func() { session3 := podmanTest.Podman([]string{"stop", "test1"}) session3.WaitWithDefaultTimeout() Expect(session3.ExitCode()).To(Equal(0)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop all containers -t", func() { @@ -105,6 +126,11 @@ var _ = Describe("Podman stop", func() { Expect(output).To(ContainSubstring(cid1)) Expect(output).To(ContainSubstring(cid2)) Expect(output).To(ContainSubstring(cid3)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop container --time", func() { @@ -118,6 +144,11 @@ var _ = Describe("Podman stop", func() { Expect(session.ExitCode()).To(Equal(0)) output := session.OutputToString() Expect(output).To(ContainSubstring(cid1)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop container --timeout", func() { @@ -131,6 +162,11 @@ var _ = Describe("Podman stop", func() { Expect(session.ExitCode()).To(Equal(0)) output := session.OutputToString() Expect(output).To(ContainSubstring(cid1)) + + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) It("podman stop latest containers", func() { @@ -140,5 +176,45 @@ var _ = Describe("Podman stop", func() { session = podmanTest.Podman([]string{"stop", "-l", "-t", "1"}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) }) + + It("podman stop all containers with one stopped", func() { + session := podmanTest.RunTopContainer("test1") + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + session2 := podmanTest.RunTopContainer("test2") + session2.WaitWithDefaultTimeout() + Expect(session2.ExitCode()).To(Equal(0)) + session3 := podmanTest.Podman([]string{"stop", "-l", "-t", "1"}) + session3.WaitWithDefaultTimeout() + Expect(session3.ExitCode()).To(Equal(0)) + session4 := podmanTest.Podman([]string{"stop", "-a", "-t", "1"}) + session4.WaitWithDefaultTimeout() + Expect(session4.ExitCode()).To(Equal(0)) + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) + }) + + It("podman stop all containers with one created", func() { + session := podmanTest.RunTopContainer("test1") + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + session2 := podmanTest.Podman([]string{"create", ALPINE, "/bin/sh"}) + session2.WaitWithDefaultTimeout() + Expect(session2.ExitCode()).To(Equal(0)) + session3 := podmanTest.Podman([]string{"stop", "-a", "-t", "1"}) + session3.WaitWithDefaultTimeout() + Expect(session3.ExitCode()).To(Equal(0)) + finalCtrs := podmanTest.Podman([]string{"ps", "-q"}) + finalCtrs.WaitWithDefaultTimeout() + Expect(finalCtrs.ExitCode()).To(Equal(0)) + Expect(strings.TrimSpace(finalCtrs.OutputToString())).To(Equal("")) + }) + }) |