github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/e2e/kill_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 kill", func() { 12 var ( 13 tempdir string 14 err error 15 podmanTest *PodmanTestIntegration 16 ) 17 18 BeforeEach(func() { 19 tempdir, err = CreateTempDirInTempDir() 20 if err != nil { 21 os.Exit(1) 22 } 23 podmanTest = PodmanTestCreate(tempdir) 24 podmanTest.Setup() 25 }) 26 27 AfterEach(func() { 28 podmanTest.Cleanup() 29 f := CurrentGinkgoTestDescription() 30 processTestResult(f) 31 32 }) 33 34 It("podman kill bogus container", func() { 35 session := podmanTest.Podman([]string{"kill", "foobar"}) 36 session.WaitWithDefaultTimeout() 37 Expect(session).To(ExitWithError()) 38 }) 39 40 It("podman container kill a running container by id", func() { 41 session := podmanTest.RunTopContainer("") 42 session.WaitWithDefaultTimeout() 43 Expect(session.ExitCode()).To(Equal(0)) 44 cid := session.OutputToString() 45 46 result := podmanTest.Podman([]string{"container", "kill", cid}) 47 result.WaitWithDefaultTimeout() 48 49 Expect(result.ExitCode()).To(Equal(0)) 50 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 51 }) 52 53 It("podman kill a running container by id", func() { 54 session := podmanTest.RunTopContainer("") 55 session.WaitWithDefaultTimeout() 56 Expect(session.ExitCode()).To(Equal(0)) 57 cid := session.OutputToString() 58 59 result := podmanTest.Podman([]string{"kill", cid}) 60 result.WaitWithDefaultTimeout() 61 62 Expect(result.ExitCode()).To(Equal(0)) 63 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 64 }) 65 66 It("podman kill a running container by id with TERM", func() { 67 session := podmanTest.RunTopContainer("") 68 session.WaitWithDefaultTimeout() 69 Expect(session.ExitCode()).To(Equal(0)) 70 cid := session.OutputToString() 71 72 result := podmanTest.Podman([]string{"kill", "-s", "9", cid}) 73 result.WaitWithDefaultTimeout() 74 Expect(result.ExitCode()).To(Equal(0)) 75 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 76 }) 77 78 It("podman kill a running container by name", func() { 79 session := podmanTest.RunTopContainer("test1") 80 session.WaitWithDefaultTimeout() 81 Expect(session.ExitCode()).To(Equal(0)) 82 83 result := podmanTest.Podman([]string{"kill", "-s", "9", "test1"}) 84 result.WaitWithDefaultTimeout() 85 Expect(result.ExitCode()).To(Equal(0)) 86 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 87 }) 88 89 It("podman kill a running container by id with a bogus signal", func() { 90 session := podmanTest.RunTopContainer("") 91 session.WaitWithDefaultTimeout() 92 Expect(session.ExitCode()).To(Equal(0)) 93 cid := session.OutputToString() 94 95 result := podmanTest.Podman([]string{"kill", "-s", "foobar", cid}) 96 result.WaitWithDefaultTimeout() 97 Expect(result.ExitCode()).To(Equal(125)) 98 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 99 }) 100 101 It("podman kill latest container", func() { 102 session := podmanTest.RunTopContainer("test1") 103 session.WaitWithDefaultTimeout() 104 Expect(session.ExitCode()).To(Equal(0)) 105 106 cid := "-l" 107 if IsRemote() { 108 cid = "test1" 109 } 110 result := podmanTest.Podman([]string{"kill", cid}) 111 result.WaitWithDefaultTimeout() 112 Expect(result.ExitCode()).To(Equal(0)) 113 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 114 }) 115 })