aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2021-02-12 11:56:01 -0500
committerGitHub <noreply@github.com>2021-02-12 11:56:01 -0500
commit4373f102b5a126ee159267a96f1edef1e4a353be (patch)
tree2410dc356ad730af1235900af751797bc7a5732b /test
parentddd8a1799dfc1621da39f672a47e9984ebec0e2f (diff)
parentf74a195e5e90f7bae51fc160c168c0233835ef08 (diff)
downloadpodman-4373f102b5a126ee159267a96f1edef1e4a353be.tar.gz
podman-4373f102b5a126ee159267a96f1edef1e4a353be.tar.bz2
podman-4373f102b5a126ee159267a96f1edef1e4a353be.zip
Merge pull request #9332 from giuseppe/cgroup-split-v1-backport-to-3.0
[3.0] utils: takes the longest path on cgroup v1
Diffstat (limited to 'test')
-rw-r--r--test/e2e/common_test.go7
-rw-r--r--test/e2e/run_test.go31
2 files changed, 38 insertions, 0 deletions
diff --git a/test/e2e/common_test.go b/test/e2e/common_test.go
index a870117d9..8a452f340 100644
--- a/test/e2e/common_test.go
+++ b/test/e2e/common_test.go
@@ -600,6 +600,13 @@ func SkipIfNotRootless(reason string) {
}
}
+func SkipIfNotSystemd(manager, reason string) {
+ checkReason(reason)
+ if manager != "systemd" {
+ ginkgo.Skip("[notSystemd]: " + reason)
+ }
+}
+
func SkipIfNotFedora() {
info := GetHostDistributionInfo()
if info.Distribution != "fedora" {
diff --git a/test/e2e/run_test.go b/test/e2e/run_test.go
index 19060ecdc..7d367cccf 100644
--- a/test/e2e/run_test.go
+++ b/test/e2e/run_test.go
@@ -1185,6 +1185,37 @@ USER mail`
Expect(found).To(BeTrue())
})
+ It("podman run with cgroups=split", func() {
+ SkipIfNotSystemd(podmanTest.CgroupManager, "do not test --cgroups=split if not running on systemd")
+ SkipIfRootlessCgroupsV1("Disable cgroups not supported on cgroupv1 for rootless users")
+ SkipIfRemote("--cgroups=split cannot be used in remote mode")
+
+ container := podmanTest.Podman([]string{"run", "--rm", "--cgroups=split", ALPINE, "cat", "/proc/self/cgroup"})
+ container.WaitWithDefaultTimeout()
+ Expect(container.ExitCode()).To(Equal(0))
+ lines := container.OutputToStringArray()
+
+ cgroup := ""
+ for _, line := range lines {
+ parts := strings.SplitN(line, ":", 3)
+ if !CGROUPSV2 {
+ // ignore unified on cgroup v1
+ // both runc and crun do not set it.
+ if parts[1] == "" {
+ continue
+ }
+ }
+ if parts[2] == "/" {
+ continue
+ }
+ if cgroup == "" {
+ cgroup = parts[2]
+ continue
+ }
+ Expect(cgroup).To(Equal(parts[2]))
+ }
+ })
+
It("podman run with cgroups=disabled runs without cgroups", func() {
SkipIfRootless("FIXME: I believe this should work but need to fix this test")
SkipIfRootlessCgroupsV1("Disable cgroups not supported on cgroupv1 for rootless users")