github.com/containers/libpod@v1.9.4-0.20220419124438-4284fd425507/test/e2e/kill_test.go (about) 1 package integration 2 3 import ( 4 "os" 5 6 . "github.com/containers/libpod/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 podmanTest.SeedImages() 26 }) 27 28 AfterEach(func() { 29 podmanTest.Cleanup() 30 f := CurrentGinkgoTestDescription() 31 processTestResult(f) 32 33 }) 34 35 It("podman kill bogus container", func() { 36 session := podmanTest.Podman([]string{"kill", "foobar"}) 37 session.WaitWithDefaultTimeout() 38 Expect(session).To(ExitWithError()) 39 }) 40 41 It("podman container kill a running container by id", func() { 42 session := podmanTest.RunTopContainer("") 43 session.WaitWithDefaultTimeout() 44 Expect(session.ExitCode()).To(Equal(0)) 45 cid := session.OutputToString() 46 47 result := podmanTest.Podman([]string{"container", "kill", cid}) 48 result.WaitWithDefaultTimeout() 49 50 Expect(result.ExitCode()).To(Equal(0)) 51 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 52 }) 53 54 It("podman kill a running container by id", func() { 55 session := podmanTest.RunTopContainer("") 56 session.WaitWithDefaultTimeout() 57 Expect(session.ExitCode()).To(Equal(0)) 58 cid := session.OutputToString() 59 60 result := podmanTest.Podman([]string{"kill", cid}) 61 result.WaitWithDefaultTimeout() 62 63 Expect(result.ExitCode()).To(Equal(0)) 64 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 65 }) 66 67 It("podman kill a running container by id with TERM", func() { 68 session := podmanTest.RunTopContainer("") 69 session.WaitWithDefaultTimeout() 70 Expect(session.ExitCode()).To(Equal(0)) 71 cid := session.OutputToString() 72 73 result := podmanTest.Podman([]string{"kill", "-s", "9", cid}) 74 result.WaitWithDefaultTimeout() 75 Expect(result.ExitCode()).To(Equal(0)) 76 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 77 }) 78 79 It("podman kill a running container by name", func() { 80 session := podmanTest.RunTopContainer("test1") 81 session.WaitWithDefaultTimeout() 82 Expect(session.ExitCode()).To(Equal(0)) 83 84 result := podmanTest.Podman([]string{"kill", "-s", "9", "test1"}) 85 result.WaitWithDefaultTimeout() 86 Expect(result.ExitCode()).To(Equal(0)) 87 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 88 }) 89 90 It("podman kill a running container by id with a bogus signal", func() { 91 session := podmanTest.RunTopContainer("") 92 session.WaitWithDefaultTimeout() 93 Expect(session.ExitCode()).To(Equal(0)) 94 cid := session.OutputToString() 95 96 result := podmanTest.Podman([]string{"kill", "-s", "foobar", cid}) 97 result.WaitWithDefaultTimeout() 98 Expect(result.ExitCode()).To(Equal(125)) 99 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(1)) 100 }) 101 102 It("podman kill latest container", func() { 103 session := podmanTest.RunTopContainer("") 104 session.WaitWithDefaultTimeout() 105 Expect(session.ExitCode()).To(Equal(0)) 106 107 result := podmanTest.Podman([]string{"kill", "-l"}) 108 result.WaitWithDefaultTimeout() 109 Expect(result.ExitCode()).To(Equal(0)) 110 Expect(podmanTest.NumberOfContainersRunning()).To(Equal(0)) 111 }) 112 })