github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/pod_prune_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/containers/libpod/test/utils" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 ) 10 11 var _ = Describe("Podman pod prune", func() { 12 var ( 13 tempdir string 14 err error 15 podmanTest *PodmanTestIntegration 16 ) 17 18 BeforeEach(func() { 19 tempdir, err = CreateTempDirInTempDir() 20 if err != nil { 21 os.Exit(1) 22 } 23 podmanTest = PodmanTestCreate(tempdir) 24 podmanTest.Setup() 25 podmanTest.SeedImages() 26 }) 27 28 AfterEach(func() { 29 podmanTest.CleanupPod() 30 f := CurrentGinkgoTestDescription() 31 processTestResult(f) 32 33 }) 34 35 It("podman pod prune empty pod", func() { 36 _, ec, _ := podmanTest.CreatePod("") 37 Expect(ec).To(Equal(0)) 38 39 result := podmanTest.Podman([]string{"pod", "prune"}) 40 result.WaitWithDefaultTimeout() 41 Expect(result.ExitCode()).To(Equal(0)) 42 }) 43 44 It("podman pod prune doesn't remove a pod with a running container", func() { 45 _, ec, podid := podmanTest.CreatePod("") 46 Expect(ec).To(Equal(0)) 47 48 ec2 := podmanTest.RunTopContainerInPod("", podid) 49 ec2.WaitWithDefaultTimeout() 50 Expect(ec2.ExitCode()).To(Equal(0)) 51 52 result := podmanTest.Podman([]string{"pod", "prune"}) 53 result.WaitWithDefaultTimeout() 54 Expect(result.ExitCode()).To((Equal(0))) 55 56 result = podmanTest.Podman([]string{"ps", "-qa"}) 57 result.WaitWithDefaultTimeout() 58 Expect(len(result.OutputToStringArray())).To(Equal(1)) 59 }) 60 61 It("podman pod prune removes a pod with a stopped container", func() { 62 _, ec, podid := podmanTest.CreatePod("") 63 Expect(ec).To(Equal(0)) 64 65 _, ec2, _ := podmanTest.RunLsContainerInPod("", podid) 66 Expect(ec2).To(Equal(0)) 67 68 result := podmanTest.Podman([]string{"pod", "prune"}) 69 result.WaitWithDefaultTimeout() 70 Expect(result.ExitCode()).To(Equal(0)) 71 72 result = podmanTest.Podman([]string{"ps", "-qa"}) 73 result.WaitWithDefaultTimeout() 74 Expect(len(result.OutputToStringArray())).To(Equal(0)) 75 }) 76 77 It("podman pod prune -f does remove a running container", func() { 78 _, ec, podid := podmanTest.CreatePod("") 79 Expect(ec).To(Equal(0)) 80 81 session := podmanTest.RunTopContainerInPod("", podid) 82 session.WaitWithDefaultTimeout() 83 Expect(session.ExitCode()).To(Equal(0)) 84 85 result := podmanTest.Podman([]string{"pod", "prune", "-f"}) 86 result.WaitWithDefaultTimeout() 87 Expect(result.ExitCode()).To(Equal(0)) 88 89 result = podmanTest.Podman([]string{"ps", "-q"}) 90 result.WaitWithDefaultTimeout() 91 Expect(result.OutputToString()).To(BeEmpty()) 92 }) 93 })