diff options
author | Brent Baude <bbaude@redhat.com> | 2020-05-07 16:35:48 -0500 |
---|---|---|
committer | Brent Baude <bbaude@redhat.com> | 2020-05-08 09:05:37 -0500 |
commit | 20407a2f1fadb1488caac1560dfdd56facff4153 (patch) | |
tree | e6c1e9fb94b09bc54caaa631e858b11cfab31464 /test/e2e | |
parent | a4c607cc71ea5c3a4d4898a84b19cdd236ae90bd (diff) | |
download | podman-20407a2f1fadb1488caac1560dfdd56facff4153.tar.gz podman-20407a2f1fadb1488caac1560dfdd56facff4153.tar.bz2 podman-20407a2f1fadb1488caac1560dfdd56facff4153.zip |
fix pod stats flake
it appears that the pod stats flake can be attributed to the fact that the container being run is not fully running when the stats call is made. because the stats call is in format of json, it fails when nil
Signed-off-by: Brent Baude <bbaude@redhat.com>
Diffstat (limited to 'test/e2e')
-rw-r--r-- | test/e2e/stats_test.go | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/test/e2e/stats_test.go b/test/e2e/stats_test.go index 762417a17..d3af44891 100644 --- a/test/e2e/stats_test.go +++ b/test/e2e/stats_test.go @@ -5,6 +5,7 @@ package integration import ( "fmt" "os" + "time" "github.com/containers/libpod/pkg/cgroups" . "github.com/containers/libpod/test/utils" @@ -87,13 +88,24 @@ var _ = Describe("Podman stats", func() { }) It("podman stats with json output", func() { + var found bool session := podmanTest.RunTopContainer("") session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) - session = podmanTest.Podman([]string{"stats", "--all", "--no-stream", "--format", "json"}) - session.WaitWithDefaultTimeout() - Expect(session.ExitCode()).To(Equal(0)) - Expect(session.IsJSONOutputValid()).To(BeTrue()) + for i := 0; i < 5; i++ { + ps := podmanTest.Podman([]string{"ps", "-q"}) + ps.WaitWithDefaultTimeout() + if len(ps.OutputToStringArray()) == 1 { + found = true + break + } + time.Sleep(time.Second) + } + Expect(found).To(BeTrue()) + stats := podmanTest.Podman([]string{"stats", "--all", "--no-stream", "--format", "json"}) + stats.WaitWithDefaultTimeout() + Expect(stats.ExitCode()).To(Equal(0)) + Expect(stats.IsJSONOutputValid()).To(BeTrue()) }) It("podman stats on a container with no net ns", func() { |