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