< prev index next >

test/jdk/jdk/internal/platform/docker/TestDockerMemoryMetrics.java

Print this page
@  rev 57586 : Review changes
|
o  rev 57585 : 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
|  Reviewed-by: bobv
~
o  rev 56863 : 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
|  Reviewed-by: bobv
~

*** 19,28 **** --- 19,29 ---- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions. */ + import jdk.internal.platform.Metrics; import jdk.test.lib.Utils; import jdk.test.lib.containers.docker.Common; import jdk.test.lib.containers.docker.DockerRunOptions; import jdk.test.lib.containers.docker.DockerTestUtils; import jdk.test.lib.process.OutputAnalyzer;
*** 56,69 **** --- 57,81 ---- testMemoryLimit("1g"); testMemoryAndSwapLimit("200m", "1g"); testMemoryAndSwapLimit("100m", "200m"); + Metrics m = Metrics.systemMetrics(); + // kernel memory, '--kernel-memory' switch, and OOM killer, + // '--oom-kill-disable' switch, tests not supported by cgroupv2 + // runtimes + if (m != null) { + if ("cgroupv1".equals(m.getProvider())) { testKernelMemoryLimit("100m"); testKernelMemoryLimit("1g"); testOomKillFlag("100m", false); + } else { + System.out.println("kernel memory tests and OOM Kill flag tests not " + + "possible with cgroupv2."); + } + } testOomKillFlag("100m", true); testMemoryFailCount("64m"); testMemorySoftLimit("500m","200m");
*** 131,145 **** if (oa.getStderr().contains("kernel memory accounting disabled")) { System.out.println("Kernel memory accounting disabled, " + "skipping the test case"); return; } - if (oa.getStderr().contains("cannot set kernel memory with cgroupv2")) { - System.out.println("Kernel memory settings not possible with cgroupv2, " + - "skipping the test case"); - return; - } oa.shouldHaveExitValue(0).shouldContain("TEST PASSED!!!"); } private static void testOomKillFlag(String value, boolean oomKillFlag) throws Exception { --- 143,152 ----
*** 153,168 **** } opts.addJavaOpts("-cp", "/test-classes/") .addJavaOpts("--add-exports", "java.base/jdk.internal.platform=ALL-UNNAMED") .addClassOptions("memory", value, oomKillFlag + ""); OutputAnalyzer oa = DockerTestUtils.dockerRunJava(opts); - if (oa.getStderr().contains("cannot disable OOM killer with cgroupv2")) { - System.out.println("Disabling OOM killer not possible with cgroupv2, " + - "skipping the test case"); - return; - } - oa.shouldHaveExitValue(0).shouldContain("TEST PASSED!!!"); } private static void testMemorySoftLimit(String mem, String softLimit) throws Exception { Common.logNewTestCase("testMemorySoftLimit, memory = " + mem + ", soft limit = " + softLimit); --- 160,169 ----
< prev index next >