github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/pod_kill_test.go (about) 1 package integration 2 3 import ( 4 "fmt" 5 "os" 6 7 . "github.com/containers/podman/v2/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.Cleanup() 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 if !IsRemote() { 121 podid2 = "-l" 122 } 123 result := podmanTest.Podman([]string{"pod", "kill", podid2}) 124 result.WaitWithDefaultTimeout() 125 Expect(result.ExitCode()).To(Equal(0)) 126 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 127 }) 128 129 It("podman pod kill all", func() { 130 _, ec, podid := podmanTest.CreatePod("") 131 Expect(ec).To(Equal(0)) 132 133 session := podmanTest.RunTopContainerInPod("", podid) 134 session.WaitWithDefaultTimeout() 135 Expect(session.ExitCode()).To(Equal(0)) 136 137 session = podmanTest.RunTopContainerInPod("", podid) 138 session.WaitWithDefaultTimeout() 139 Expect(session.ExitCode()).To(Equal(0)) 140 141 _, ec, podid2 := podmanTest.CreatePod("") 142 Expect(ec).To(Equal(0)) 143 144 session = podmanTest.RunTopContainerInPod("", podid2) 145 session.WaitWithDefaultTimeout() 146 Expect(session.ExitCode()).To(Equal(0)) 147 148 result := podmanTest.Podman([]string{"pod", "kill", "-a"}) 149 result.WaitWithDefaultTimeout() 150 fmt.Println(result.OutputToString(), result.ErrorToString()) 151 Expect(result.ExitCode()).To(Equal(0)) 152 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 153 }) 154 })