summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2020-11-17 14:00:09 +0100
committerGitHub <noreply@github.com>2020-11-17 14:00:09 +0100
commit42ec4cf87f8d0a84301594a4fc5cf05f0a10bd7f (patch)
tree44cdc92a9a1789f957f2dc177dfcd90f4138eb96 /test
parent7d067afac716927b26c452d4d75478b9f13abd62 (diff)
parent39bf07694c5716cce3cb7e25c6d01b441b6b4e01 (diff)
downloadpodman-42ec4cf87f8d0a84301594a4fc5cf05f0a10bd7f.tar.gz
podman-42ec4cf87f8d0a84301594a4fc5cf05f0a10bd7f.tar.bz2
podman-42ec4cf87f8d0a84301594a4fc5cf05f0a10bd7f.zip
Merge pull request #8290 from vrothberg/fix-8265
use container cgroups path
Diffstat (limited to 'test')
-rw-r--r--test/e2e/stats_test.go41
1 files changed, 41 insertions, 0 deletions
diff --git a/test/e2e/stats_test.go b/test/e2e/stats_test.go
index c8f5efa9d..5e8a7a3d0 100644
--- a/test/e2e/stats_test.go
+++ b/test/e2e/stats_test.go
@@ -5,6 +5,7 @@ package integration
import (
"fmt"
"os"
+ "strconv"
"time"
. "github.com/containers/podman/v2/test/utils"
@@ -126,4 +127,44 @@ var _ = Describe("Podman stats", func() {
session.WaitWithDefaultTimeout()
Expect(session.ExitCode()).To(Equal(0))
})
+
+ // Regression test for #8265
+ It("podman stats with custom memory limits", func() {
+ // Run thre containers. One with a memory limit. Make sure
+ // that the limits are different and the limited one has a
+ // lower limit.
+ ctrNoLimit0 := "no-limit-0"
+ ctrNoLimit1 := "no-limit-1"
+ ctrWithLimit := "with-limit"
+
+ session := podmanTest.Podman([]string{"run", "-d", "--name", ctrNoLimit0, ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ session = podmanTest.Podman([]string{"run", "-d", "--name", ctrNoLimit1, ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ session = podmanTest.Podman([]string{"run", "-d", "--name", ctrWithLimit, "--memory", "50m", ALPINE, "top"})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ session = podmanTest.Podman([]string{"stats", "--no-stream", "--format", "{{.MemLimit}}", ctrNoLimit0, ctrNoLimit1, ctrWithLimit})
+ session.WaitWithDefaultTimeout()
+ Expect(session.ExitCode()).To(Equal(0))
+
+ // We have three containers. The unlimited ones need to have
+ // the same limit, the limited one a lower one.
+ limits := session.OutputToStringArray()
+ Expect(len(limits)).To(BeNumerically("==", 3))
+ Expect(limits[0]).To(Equal(limits[1]))
+ Expect(limits[0]).ToNot(Equal(limits[2]))
+
+ defaultLimit, err := strconv.Atoi(limits[0])
+ Expect(err).To(BeNil())
+ customLimit, err := strconv.Atoi(limits[2])
+ Expect(err).To(BeNil())
+
+ Expect(customLimit).To(BeNumerically("<", defaultLimit))
+ })
})