diff options
-rw-r--r-- | test/e2e/libpod_suite_test.go | 12 | ||||
-rw-r--r-- | test/e2e/run_restart_test.go | 14 |
2 files changed, 26 insertions, 0 deletions
diff --git a/test/e2e/libpod_suite_test.go b/test/e2e/libpod_suite_test.go index 10247f428..4d4f2905c 100644 --- a/test/e2e/libpod_suite_test.go +++ b/test/e2e/libpod_suite_test.go @@ -166,6 +166,18 @@ func (p *PodmanTest) Podman(args []string) *PodmanSession { return &PodmanSession{session} } + +//WaitForContainer waits on a started container +func WaitForContainer(p *PodmanTest) bool { + for i := 0; i < 10; i++ { + if p.NumberOfContainers() == 1 { + return true + } + time.Sleep(1 * time.Second) + } + return false +} + // Cleanup cleans up the temporary store func (p *PodmanTest) Cleanup() { // Remove all containers diff --git a/test/e2e/run_restart_test.go b/test/e2e/run_restart_test.go index 8737cf4f8..c55dfa1d3 100644 --- a/test/e2e/run_restart_test.go +++ b/test/e2e/run_restart_test.go @@ -36,4 +36,18 @@ var _ = Describe("Podman run restart containers", func() { session2.WaitWithDefaultTimeout() Expect(session2.ExitCode()).To(Equal(0)) }) + + It("Podman start after signal kill", func() { + session := podmanTest.RunTopContainer("test1") + ok := WaitForContainer(&podmanTest) + Expect(ok).To(BeTrue()) + + killSession := podmanTest.Podman([]string{"kill", "-s", "9", "test1"}) + killSession.WaitWithDefaultTimeout() + Expect(killSession.ExitCode()).To(Equal(0)) + + session2 := podmanTest.Podman([]string{"start", "--attach", "test1"}) + session2.WaitWithDefaultTimeout() + Expect(session2.ExitCode()).To(Equal(0)) + }) }) |