diff options
author | Aditya R <arajan@redhat.com> | 2022-02-03 18:40:31 +0530 |
---|---|---|
committer | Aditya R <arajan@redhat.com> | 2022-02-04 21:15:03 +0530 |
commit | 4f77331c9df173c679654921b21cc32143269c8d (patch) | |
tree | 98346affbc594d59adbede30c7f22ba13e3c16a0 /test | |
parent | f2263fade4aef30fd619b648e4d1ca4aaf6bd506 (diff) | |
download | podman-4f77331c9df173c679654921b21cc32143269c8d.tar.gz podman-4f77331c9df173c679654921b21cc32143269c8d.tar.bz2 podman-4f77331c9df173c679654921b21cc32143269c8d.zip |
healthcheck, libpod: Read healthcheck event output from os pipe
It seems we are ignoring output from healthcheck session.
Open a valid pipe to healthcheck session in order read its output.
Use common pipe for both `stdout/stderr` since that was the previous
behviour as well.
Signed-off-by: Aditya R <arajan@redhat.com>
Diffstat (limited to 'test')
-rw-r--r-- | test/e2e/healthcheck_run_test.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/e2e/healthcheck_run_test.go b/test/e2e/healthcheck_run_test.go index c84488145..866edbf0e 100644 --- a/test/e2e/healthcheck_run_test.go +++ b/test/e2e/healthcheck_run_test.go @@ -54,6 +54,28 @@ var _ = Describe("Podman healthcheck run", func() { Expect(hc).Should(Exit(125)) }) + It("podman run healthcheck and logs should contain healthcheck output", func() { + session := podmanTest.Podman([]string{"run", "--name", "test-logs", "-dt", "--health-interval", "1s", "--health-cmd", "echo working", "busybox", "sleep", "3600"}) + session.WaitWithDefaultTimeout() + Expect(session).Should(Exit(0)) + + // Buy a little time to get container running + for i := 0; i < 5; i++ { + hc := podmanTest.Podman([]string{"healthcheck", "run", "test-logs"}) + hc.WaitWithDefaultTimeout() + exitCode := hc.ExitCode() + if exitCode == 0 || i == 4 { + break + } + time.Sleep(1 * time.Second) + } + + hc := podmanTest.Podman([]string{"container", "inspect", "--format", "{{.State.Healthcheck.Log}}", "test-logs"}) + hc.WaitWithDefaultTimeout() + Expect(hc).Should(Exit(0)) + Expect(hc.OutputToString()).To(ContainSubstring("working")) + }) + It("podman healthcheck from image's config (not container config)", func() { // Regression test for #12226: a health check may be defined in // the container or the container-config of an image. |