github.com/containers/podman/v5@v5.1.0-rc1/test/e2e/pod_kill_test.go (about) 1 package integration 2 3 import ( 4 . "github.com/containers/podman/v5/test/utils" 5 . "github.com/onsi/ginkgo/v2" 6 . "github.com/onsi/gomega" 7 ) 8 9 var _ = Describe("Podman pod kill", func() { 10 11 It("podman pod kill bogus", func() { 12 session := podmanTest.Podman([]string{"pod", "kill", "foobar"}) 13 session.WaitWithDefaultTimeout() 14 expect := "no pod with name or ID foobar found: no such pod" 15 if IsRemote() { 16 expect = `unable to find pod "foobar": no such pod` 17 } 18 Expect(session).To(ExitWithError(125, expect)) 19 }) 20 21 It("podman pod kill a pod by id", func() { 22 _, ec, podid := podmanTest.CreatePod(nil) 23 Expect(ec).To(Equal(0)) 24 25 session := podmanTest.RunTopContainerInPod("", podid) 26 session.WaitWithDefaultTimeout() 27 Expect(session).Should(ExitCleanly()) 28 29 session = podmanTest.RunTopContainerInPod("", podid) 30 session.WaitWithDefaultTimeout() 31 Expect(session).Should(ExitCleanly()) 32 33 result := podmanTest.Podman([]string{"pod", "kill", podid}) 34 result.WaitWithDefaultTimeout() 35 Expect(result).Should(ExitCleanly()) 36 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 37 }) 38 39 It("podman pod kill a pod by id with TERM", func() { 40 _, ec, podid := podmanTest.CreatePod(nil) 41 Expect(ec).To(Equal(0)) 42 43 session := podmanTest.RunTopContainerInPod("", podid) 44 session.WaitWithDefaultTimeout() 45 Expect(session).Should(ExitCleanly()) 46 47 result := podmanTest.Podman([]string{"pod", "kill", "-s", "9", podid}) 48 result.WaitWithDefaultTimeout() 49 Expect(result).Should(ExitCleanly()) 50 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 51 }) 52 53 It("podman pod kill a pod by name", func() { 54 _, ec, podid := podmanTest.CreatePod(map[string][]string{"--name": {"test1"}}) 55 Expect(ec).To(Equal(0)) 56 57 session := podmanTest.RunTopContainerInPod("", podid) 58 session.WaitWithDefaultTimeout() 59 Expect(session).Should(ExitCleanly()) 60 61 result := podmanTest.Podman([]string{"pod", "kill", "test1"}) 62 result.WaitWithDefaultTimeout() 63 Expect(result).Should(ExitCleanly()) 64 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 65 }) 66 67 It("podman pod kill a pod by id with a bogus signal", func() { 68 _, ec, podid := podmanTest.CreatePod(map[string][]string{"--name": {"test1"}}) 69 Expect(ec).To(Equal(0)) 70 71 session := podmanTest.RunTopContainerInPod("", podid) 72 session.WaitWithDefaultTimeout() 73 Expect(session).Should(ExitCleanly()) 74 75 result := podmanTest.Podman([]string{"pod", "kill", "-s", "bogus", "test1"}) 76 result.WaitWithDefaultTimeout() 77 Expect(result).Should(ExitWithError(125, "invalid signal: bogus")) 78 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 79 }) 80 81 It("podman pod kill latest pod", func() { 82 _, ec, podid := podmanTest.CreatePod(nil) 83 Expect(ec).To(Equal(0)) 84 85 session := podmanTest.RunTopContainerInPod("", podid) 86 session.WaitWithDefaultTimeout() 87 Expect(session).Should(ExitCleanly()) 88 89 _, ec, podid2 := podmanTest.CreatePod(nil) 90 Expect(ec).To(Equal(0)) 91 92 session = podmanTest.RunTopContainerInPod("", podid2) 93 session.WaitWithDefaultTimeout() 94 Expect(session).Should(ExitCleanly()) 95 96 session = podmanTest.RunTopContainerInPod("", podid2) 97 session.WaitWithDefaultTimeout() 98 Expect(session).Should(ExitCleanly()) 99 if !IsRemote() { 100 podid2 = "-l" 101 } 102 result := podmanTest.Podman([]string{"pod", "kill", podid2}) 103 result.WaitWithDefaultTimeout() 104 Expect(result).Should(ExitCleanly()) 105 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 106 }) 107 108 It("podman pod kill all", func() { 109 SkipIfRootlessCgroupsV1("Not supported for rootless + CgroupsV1") 110 _, ec, podid := podmanTest.CreatePod(nil) 111 Expect(ec).To(Equal(0)) 112 113 session := podmanTest.RunTopContainerInPod("", podid) 114 session.WaitWithDefaultTimeout() 115 Expect(session).Should(ExitCleanly()) 116 117 session = podmanTest.RunTopContainerInPod("", podid) 118 session.WaitWithDefaultTimeout() 119 Expect(session).Should(ExitCleanly()) 120 121 _, ec, podid2 := podmanTest.CreatePod(nil) 122 Expect(ec).To(Equal(0)) 123 124 session = podmanTest.RunTopContainerInPod("", podid2) 125 session.WaitWithDefaultTimeout() 126 Expect(session).Should(ExitCleanly()) 127 128 result := podmanTest.Podman([]string{"pod", "kill", "-a"}) 129 result.WaitWithDefaultTimeout() 130 GinkgoWriter.Println(result.OutputToString(), result.ErrorToString()) 131 Expect(result).Should(ExitCleanly()) 132 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 133 }) 134 })