github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/pod_pause_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/containers/podman/v2/test/utils" 7 . "github.com/onsi/ginkgo" 8 . "github.com/onsi/gomega" 9 ) 10 11 var _ = Describe("Podman pod pause", func() { 12 var ( 13 tempdir string 14 err error 15 podmanTest *PodmanTestIntegration 16 ) 17 18 pausedState := "paused" 19 20 BeforeEach(func() { 21 SkipIfRootlessCgroupsV1("Pause is not supported in cgroups v1") 22 tempdir, err = CreateTempDirInTempDir() 23 if err != nil { 24 os.Exit(1) 25 } 26 podmanTest = PodmanTestCreate(tempdir) 27 podmanTest.Setup() 28 podmanTest.SeedImages() 29 }) 30 31 AfterEach(func() { 32 podmanTest.Cleanup() 33 f := CurrentGinkgoTestDescription() 34 processTestResult(f) 35 36 }) 37 38 It("podman pod pause bogus pod", func() { 39 session := podmanTest.Podman([]string{"pod", "pause", "foobar"}) 40 session.WaitWithDefaultTimeout() 41 Expect(session).To(ExitWithError()) 42 }) 43 44 It("podman unpause bogus pod", func() { 45 session := podmanTest.Podman([]string{"pod", "unpause", "foobar"}) 46 session.WaitWithDefaultTimeout() 47 Expect(session).To(ExitWithError()) 48 }) 49 50 It("podman pod pause a created pod by id", func() { 51 _, ec, podid := podmanTest.CreatePod("") 52 Expect(ec).To(Equal(0)) 53 54 result := podmanTest.Podman([]string{"pod", "pause", podid}) 55 result.WaitWithDefaultTimeout() 56 Expect(result.ExitCode()).To(Equal(0)) 57 }) 58 59 It("podman pod pause a running pod by id", func() { 60 _, ec, podid := podmanTest.CreatePod("") 61 Expect(ec).To(Equal(0)) 62 63 session := podmanTest.RunTopContainerInPod("", podid) 64 session.WaitWithDefaultTimeout() 65 Expect(session.ExitCode()).To(Equal(0)) 66 67 result := podmanTest.Podman([]string{"pod", "pause", podid}) 68 result.WaitWithDefaultTimeout() 69 70 Expect(result.ExitCode()).To(Equal(0)) 71 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 72 Expect(podmanTest.GetContainerStatus()).To(ContainSubstring(pausedState)) 73 74 result = podmanTest.Podman([]string{"pod", "unpause", podid}) 75 result.WaitWithDefaultTimeout() 76 77 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 78 }) 79 80 It("podman unpause a running pod by id", func() { 81 _, ec, podid := podmanTest.CreatePod("") 82 Expect(ec).To(Equal(0)) 83 84 session := podmanTest.RunTopContainerInPod("", podid) 85 session.WaitWithDefaultTimeout() 86 Expect(session.ExitCode()).To(Equal(0)) 87 88 result := podmanTest.Podman([]string{"pod", "unpause", podid}) 89 result.WaitWithDefaultTimeout() 90 91 Expect(result.ExitCode()).To(Equal(0)) 92 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 93 }) 94 95 It("podman pod pause a running pod by name", func() { 96 _, ec, _ := podmanTest.CreatePod("test1") 97 Expect(ec).To(Equal(0)) 98 99 session := podmanTest.RunTopContainerInPod("", "test1") 100 session.WaitWithDefaultTimeout() 101 Expect(session.ExitCode()).To(Equal(0)) 102 103 result := podmanTest.Podman([]string{"pod", "pause", "test1"}) 104 result.WaitWithDefaultTimeout() 105 106 Expect(result.ExitCode()).To(Equal(0)) 107 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 108 Expect(podmanTest.GetContainerStatus()).To(Equal(pausedState)) 109 110 result = podmanTest.Podman([]string{"pod", "unpause", "test1"}) 111 result.WaitWithDefaultTimeout() 112 Expect(result.ExitCode()).To(Equal(0)) 113 }) 114 })