mirror of
https://github.com/containers/podman.git
synced 2025-06-20 17:13:43 +08:00
Stop following logs using timers
This incorporates code from PR #6591 and #6614 but does not use event channels to detect container state and rather uses timers with a defined wait duration before calling t.StopAtEOF() to ensure the last log entry is output before a container exits. The polling interval is set to 250 milliseconds based on polling interval defined in hpcloud/tail here: https://github.com/hpcloud/tail/blob/v1.0.0/watch/polling.go#L117 Co-authored-by: Qi Wang <qiwan@redhat.com> Signed-off-by: jgallucci32 <john.gallucci.iv@gmail.com>
This commit is contained in:
@ -311,4 +311,16 @@ var _ = Describe("Podman logs", func() {
|
||||
logs.WaitWithDefaultTimeout()
|
||||
Expect(logs).To(Not(Exit(0)))
|
||||
})
|
||||
|
||||
It("follow output stopped container", func() {
|
||||
containerName := "logs-f"
|
||||
|
||||
logc := podmanTest.Podman([]string{"run", "--name", containerName, "-d", ALPINE})
|
||||
logc.WaitWithDefaultTimeout()
|
||||
Expect(logc).To(Exit(0))
|
||||
|
||||
results := podmanTest.Podman([]string{"logs", "-f", containerName})
|
||||
results.WaitWithDefaultTimeout()
|
||||
Expect(results).To(Exit(0))
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user