github.com/AbhinandanKurakure/podman/v3@v3.4.10/test/e2e/pod_kill_test.go (about) 1 package integration 2 3 import ( 4 "fmt" 5 "os" 6 7 . "github.com/containers/podman/v3/test/utils" 8 . "github.com/onsi/ginkgo" 9 . "github.com/onsi/gomega" 10 . "github.com/onsi/gomega/gexec" 11 ) 12 13 var _ = Describe("Podman pod kill", func() { 14 var ( 15 tempdir string 16 err error 17 podmanTest *PodmanTestIntegration 18 ) 19 20 BeforeEach(func() { 21 tempdir, err = CreateTempDirInTempDir() 22 if err != nil { 23 os.Exit(1) 24 } 25 podmanTest = PodmanTestCreate(tempdir) 26 podmanTest.Setup() 27 podmanTest.SeedImages() 28 }) 29 30 AfterEach(func() { 31 podmanTest.Cleanup() 32 f := CurrentGinkgoTestDescription() 33 processTestResult(f) 34 35 }) 36 37 It("podman pod kill bogus", func() { 38 session := podmanTest.Podman([]string{"pod", "kill", "foobar"}) 39 session.WaitWithDefaultTimeout() 40 Expect(session).To(ExitWithError()) 41 }) 42 43 It("podman pod kill a pod by id", func() { 44 _, ec, podid := podmanTest.CreatePod(nil) 45 Expect(ec).To(Equal(0)) 46 47 session := podmanTest.RunTopContainerInPod("", podid) 48 session.WaitWithDefaultTimeout() 49 Expect(session).Should(Exit(0)) 50 51 session = podmanTest.RunTopContainerInPod("", podid) 52 session.WaitWithDefaultTimeout() 53 Expect(session).Should(Exit(0)) 54 55 result := podmanTest.Podman([]string{"pod", "kill", podid}) 56 result.WaitWithDefaultTimeout() 57 Expect(result).Should(Exit(0)) 58 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 59 }) 60 61 It("podman pod kill a pod by id with TERM", func() { 62 _, ec, podid := podmanTest.CreatePod(nil) 63 Expect(ec).To(Equal(0)) 64 65 session := podmanTest.RunTopContainerInPod("", podid) 66 session.WaitWithDefaultTimeout() 67 Expect(session).Should(Exit(0)) 68 69 result := podmanTest.Podman([]string{"pod", "kill", "-s", "9", podid}) 70 result.WaitWithDefaultTimeout() 71 Expect(result).Should(Exit(0)) 72 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 73 }) 74 75 It("podman pod kill a pod by name", func() { 76 _, ec, podid := podmanTest.CreatePod(map[string][]string{"--name": {"test1"}}) 77 Expect(ec).To(Equal(0)) 78 79 session := podmanTest.RunTopContainerInPod("", podid) 80 session.WaitWithDefaultTimeout() 81 Expect(session).Should(Exit(0)) 82 83 result := podmanTest.Podman([]string{"pod", "kill", "test1"}) 84 result.WaitWithDefaultTimeout() 85 Expect(result).Should(Exit(0)) 86 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 87 }) 88 89 It("podman pod kill a pod by id with a bogus signal", func() { 90 _, ec, podid := podmanTest.CreatePod(map[string][]string{"--name": {"test1"}}) 91 Expect(ec).To(Equal(0)) 92 93 session := podmanTest.RunTopContainerInPod("", podid) 94 session.WaitWithDefaultTimeout() 95 Expect(session).Should(Exit(0)) 96 97 result := podmanTest.Podman([]string{"pod", "kill", "-s", "bogus", "test1"}) 98 result.WaitWithDefaultTimeout() 99 Expect(result).Should(Exit(125)) 100 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 101 }) 102 103 It("podman pod kill latest pod", func() { 104 _, ec, podid := podmanTest.CreatePod(nil) 105 Expect(ec).To(Equal(0)) 106 107 session := podmanTest.RunTopContainerInPod("", podid) 108 session.WaitWithDefaultTimeout() 109 Expect(session).Should(Exit(0)) 110 111 _, ec, podid2 := podmanTest.CreatePod(nil) 112 Expect(ec).To(Equal(0)) 113 114 session = podmanTest.RunTopContainerInPod("", podid2) 115 session.WaitWithDefaultTimeout() 116 Expect(session).Should(Exit(0)) 117 118 session = podmanTest.RunTopContainerInPod("", podid2) 119 session.WaitWithDefaultTimeout() 120 Expect(session).Should(Exit(0)) 121 if !IsRemote() { 122 podid2 = "-l" 123 } 124 result := podmanTest.Podman([]string{"pod", "kill", podid2}) 125 result.WaitWithDefaultTimeout() 126 Expect(result).Should(Exit(0)) 127 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 128 }) 129 130 It("podman pod kill all", func() { 131 SkipIfRootlessCgroupsV1("Not supported for rootless + CGroupsV1") 132 _, ec, podid := podmanTest.CreatePod(nil) 133 Expect(ec).To(Equal(0)) 134 135 session := podmanTest.RunTopContainerInPod("", podid) 136 session.WaitWithDefaultTimeout() 137 Expect(session).Should(Exit(0)) 138 139 session = podmanTest.RunTopContainerInPod("", podid) 140 session.WaitWithDefaultTimeout() 141 Expect(session).Should(Exit(0)) 142 143 _, ec, podid2 := podmanTest.CreatePod(nil) 144 Expect(ec).To(Equal(0)) 145 146 session = podmanTest.RunTopContainerInPod("", podid2) 147 session.WaitWithDefaultTimeout() 148 Expect(session).Should(Exit(0)) 149 150 result := podmanTest.Podman([]string{"pod", "kill", "-a"}) 151 result.WaitWithDefaultTimeout() 152 fmt.Println(result.OutputToString(), result.ErrorToString()) 153 Expect(result).Should(Exit(0)) 154 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 155 }) 156 })