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  })