sleep does not catch SIGTERM

As Matt pointed out, when running sleep in a container, the clean up was taking a
full ten seconds to stop container because sleep does not catch SIGTERM which is
the default podman stop signal and it had to wait for SIGKILL.  Changing sleep to
top should result in better test times.

Signed-off-by: baude <bbaude@redhat.com>

Closes: #492
Approved by: rhatdan
This commit is contained in:
baude
2018-03-14 15:17:05 -05:00
committed by Atomic Bot
parent b85b217f55
commit ff091cf731
10 changed files with 42 additions and 42 deletions

View File

@ -45,11 +45,11 @@ var _ = Describe("Podman attach", func() {
}) })
It("podman attach to multiple containers", func() { It("podman attach to multiple containers", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.RunSleepContainer("test2") session = podmanTest.RunTopContainer("test2")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -41,7 +41,7 @@ var _ = Describe("Podman exec", func() {
}) })
It("podman exec simple command", func() { It("podman exec simple command", func() {
setup := podmanTest.RunSleepContainer("test1") setup := podmanTest.RunTopContainer("test1")
setup.WaitWithDefaultTimeout() setup.WaitWithDefaultTimeout()
Expect(setup.ExitCode()).To(Equal(0)) Expect(setup.ExitCode()).To(Equal(0))
@ -51,7 +51,7 @@ var _ = Describe("Podman exec", func() {
}) })
It("podman exec simple command using latest", func() { It("podman exec simple command using latest", func() {
setup := podmanTest.RunSleepContainer("test1") setup := podmanTest.RunTopContainer("test1")
setup.WaitWithDefaultTimeout() setup.WaitWithDefaultTimeout()
Expect(setup.ExitCode()).To(Equal(0)) Expect(setup.ExitCode()).To(Equal(0))

View File

@ -35,7 +35,7 @@ var _ = Describe("Podman kill", func() {
}) })
It("podman kill a running container by id", func() { It("podman kill a running container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -48,7 +48,7 @@ var _ = Describe("Podman kill", func() {
}) })
It("podman kill a running container by id with TERM", func() { It("podman kill a running container by id with TERM", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -60,7 +60,7 @@ var _ = Describe("Podman kill", func() {
}) })
It("podman kill a running container by name", func() { It("podman kill a running container by name", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -71,7 +71,7 @@ var _ = Describe("Podman kill", func() {
}) })
It("podman kill a running container by id with a bogus signal", func() { It("podman kill a running container by id with a bogus signal", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -83,7 +83,7 @@ var _ = Describe("Podman kill", func() {
}) })
It("podman kill latest container", func() { It("podman kill latest container", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -363,14 +363,14 @@ func (p *PodmanTest) RestoreAllArtifacts() error {
return nil return nil
} }
//RunSleepContainer runs a simple container in the background that //RunTopContainer runs a simple container in the background that
// sleeps. If the name passed != "", it will have a name // runs top. If the name passed != "", it will have a name
func (p *PodmanTest) RunSleepContainer(name string) *PodmanSession { func (p *PodmanTest) RunTopContainer(name string) *PodmanSession {
var podmanArgs = []string{"run"} var podmanArgs = []string{"run"}
if name != "" { if name != "" {
podmanArgs = append(podmanArgs, "--name", name) podmanArgs = append(podmanArgs, "--name", name)
} }
podmanArgs = append(podmanArgs, "-d", ALPINE, "sleep", "90") podmanArgs = append(podmanArgs, "-d", ALPINE, "top")
return p.Podman(podmanArgs) return p.Podman(podmanArgs)
} }

View File

@ -58,7 +58,7 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman pause a running container by id", func() { It("podman pause a running container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -75,7 +75,7 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman unpause a running container by id", func() { It("podman unpause a running container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -89,7 +89,7 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman remove a paused container by id", func() { It("podman remove a paused container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -130,7 +130,7 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman stop a paused container by id", func() { It("podman stop a paused container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -167,7 +167,7 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman pause a running container by name", func() { It("podman pause a running container by name", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -183,11 +183,11 @@ var _ = Describe("Podman pause", func() {
}) })
It("podman pause a running container by id and another by name", func() { It("podman pause a running container by id and another by name", func() {
session1 := podmanTest.RunSleepContainer("test1") session1 := podmanTest.RunTopContainer("test1")
session1.WaitWithDefaultTimeout() session1.WaitWithDefaultTimeout()
Expect(session1.ExitCode()).To(Equal(0)) Expect(session1.ExitCode()).To(Equal(0))
session2 := podmanTest.RunSleepContainer("") session2 := podmanTest.RunTopContainer("")
session2.WaitWithDefaultTimeout() session2.WaitWithDefaultTimeout()
Expect(session2.ExitCode()).To(Equal(0)) Expect(session2.ExitCode()).To(Equal(0))
cid2 := session2.OutputToString() cid2 := session2.OutputToString()

View File

@ -37,7 +37,7 @@ var _ = Describe("Podman ps", func() {
}) })
It("podman ps default", func() { It("podman ps default", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
@ -164,7 +164,7 @@ var _ = Describe("Podman ps", func() {
}) })
It("podman ps id filter flag", func() { It("podman ps id filter flag", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
fullCid := session.OutputToString() fullCid := session.OutputToString()

View File

@ -38,7 +38,7 @@ var _ = Describe("Podman rm", func() {
}) })
It("podman rm refuse to remove a running container", func() { It("podman rm refuse to remove a running container", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -60,7 +60,7 @@ var _ = Describe("Podman rm", func() {
}) })
It("podman rm created container", func() { It("podman rm created container", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -97,7 +97,7 @@ var _ = Describe("Podman rm", func() {
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.RunSleepContainer("") session = podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))

View File

@ -39,8 +39,8 @@ var _ = Describe("Podman stats", func() {
Expect(session.ExitCode()).To(Equal(125)) Expect(session.ExitCode()).To(Equal(125))
}) })
It("podman on a running container", func() { It("podman stats on a running container", func() {
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"}) session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -49,8 +49,8 @@ var _ = Describe("Podman stats", func() {
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
}) })
It("podman on a running container no id", func() { It("podman stats on a running container no id", func() {
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"}) session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stats", "--no-stream"}) session = podmanTest.Podman([]string{"stats", "--no-stream"})
@ -59,7 +59,7 @@ var _ = Describe("Podman stats", func() {
}) })
It("podman stats on all containers", func() { It("podman stats on all containers", func() {
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"}) session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stats", "--no-stream", "-a"}) session = podmanTest.Podman([]string{"stats", "--no-stream", "-a"})
@ -68,7 +68,7 @@ var _ = Describe("Podman stats", func() {
}) })
It("podman stats only output cids", func() { It("podman stats only output cids", func() {
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"}) session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "\"{{.Container}}\""}) session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "\"{{.Container}}\""})
@ -77,7 +77,7 @@ var _ = Describe("Podman stats", func() {
}) })
It("podman stats with json output", func() { It("podman stats with json output", func() {
session := podmanTest.Podman([]string{"run", "-d", "-t", ALPINE, "sleep", "99"}) session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "json"}) session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "json"})

View File

@ -34,7 +34,7 @@ var _ = Describe("Podman stop", func() {
}) })
It("podman stop container by id", func() { It("podman stop container by id", func() {
session := podmanTest.RunSleepContainer("") session := podmanTest.RunTopContainer("")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid := session.OutputToString() cid := session.OutputToString()
@ -44,7 +44,7 @@ var _ = Describe("Podman stop", func() {
}) })
It("podman stop container by name", func() { It("podman stop container by name", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stop", "test1"}) session = podmanTest.Podman([]string{"stop", "test1"})
@ -53,17 +53,17 @@ var _ = Describe("Podman stop", func() {
}) })
It("podman stop all containers", func() { It("podman stop all containers", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid1 := session.OutputToString() cid1 := session.OutputToString()
session = podmanTest.RunSleepContainer("test2") session = podmanTest.RunTopContainer("test2")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid2 := session.OutputToString() cid2 := session.OutputToString()
session = podmanTest.RunSleepContainer("test3") session = podmanTest.RunTopContainer("test3")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
cid3 := session.OutputToString() cid3 := session.OutputToString()
@ -78,7 +78,7 @@ var _ = Describe("Podman stop", func() {
}) })
It("podman stop latest containers", func() { It("podman stop latest containers", func() {
session := podmanTest.RunSleepContainer("test1") session := podmanTest.RunTopContainer("test1")
session.WaitWithDefaultTimeout() session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0)) Expect(session.ExitCode()).To(Equal(0))
session = podmanTest.Podman([]string{"stop", "-l", "-t", "1"}) session = podmanTest.Podman([]string{"stop", "-l", "-t", "1"})

View File

@ -71,10 +71,10 @@ var _ = Describe("Podman top", func() {
}) })
It("podman top on container invalid options", func() { It("podman top on container invalid options", func() {
sleep := podmanTest.RunSleepContainer("") top := podmanTest.RunTopContainer("")
sleep.WaitWithDefaultTimeout() top.WaitWithDefaultTimeout()
Expect(sleep.ExitCode()).To(Equal(0)) Expect(top.ExitCode()).To(Equal(0))
cid := sleep.OutputToString() cid := top.OutputToString()
result := podmanTest.Podman([]string{"top", cid, "-o time"}) result := podmanTest.Podman([]string{"top", cid, "-o time"})
result.WaitWithDefaultTimeout() result.WaitWithDefaultTimeout()