diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TestCompareResourceCalculators.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TestCompareResourceCalculators.java index 9c8173839c0c9..038de4ca446cd 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TestCompareResourceCalculators.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/test/java/org/apache/hadoop/yarn/server/nodemanager/containermanager/linux/resources/TestCompareResourceCalculators.java @@ -25,7 +25,10 @@ import org.apache.hadoop.yarn.server.nodemanager.Context; import org.apache.hadoop.yarn.util.ProcfsBasedProcessTree; import org.apache.hadoop.yarn.util.ResourceCalculatorProcessTree; -import org.junit.*; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; @@ -33,6 +36,8 @@ import java.util.Random; import static org.mockito.Mockito.mock; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.junit.jupiter.api.Assumptions.assumeTrue; /** * Functional test for CGroupsResourceCalculator to compare two resource @@ -46,9 +51,9 @@ public class TestCompareResourceCalculators { private String cgroupMemory = null; public static final long SHMEM_KB = 100 * 1024; - @Before + @BeforeEach public void setup() throws IOException, YarnException { - Assume.assumeTrue(SystemUtils.IS_OS_LINUX); + assumeTrue(SystemUtils.IS_OS_LINUX); YarnConfiguration conf = new YarnConfiguration(); conf.set(YarnConfiguration.NM_LINUX_CONTAINER_CGROUPS_HIERARCHY, @@ -64,13 +69,11 @@ public void setup() throws IOException, YarnException { } catch (ResourceHandlerException e) { throw new YarnException("Cannot access cgroups", e); } - Assume.assumeNotNull(module); - Assume.assumeNotNull( - ResourceHandlerModule.getCGroupsHandler() - .getControllerPath(CGroupsHandler.CGroupController.CPU)); - Assume.assumeNotNull( - ResourceHandlerModule.getCGroupsHandler() - .getControllerPath(CGroupsHandler.CGroupController.MEMORY)); + assumeTrue(module != null); + assumeTrue(ResourceHandlerModule.getCGroupsHandler() + .getControllerPath(CGroupsHandler.CGroupController.CPU) != null); + assumeTrue(ResourceHandlerModule.getCGroupsHandler() + .getControllerPath(CGroupsHandler.CGroupController.MEMORY) != null); Random random = new Random(System.currentTimeMillis()); cgroup = Long.toString(random.nextLong()); @@ -80,14 +83,14 @@ public void setup() throws IOException, YarnException { .getPathForCGroup(CGroupsHandler.CGroupController.MEMORY, cgroup); } - @After + @AfterEach public void tearDown() throws YarnException { stopTestProcess(); } // Ignored in automated tests due to flakiness by design - @Ignore + @Disabled @Test public void testCompareResults() throws YarnException, InterruptedException, IOException { @@ -118,20 +121,20 @@ private void ensureCleanedUp( long pmem1 = metric1.getRssMemorySize(0); long pmem2 = metric2.getRssMemorySize(0); System.out.println(pmem1 + " " + pmem2); - Assert.assertTrue("pmem should be invalid " + pmem1 + " " + pmem2, - pmem1 == ResourceCalculatorProcessTree.UNAVAILABLE && - pmem2 == ResourceCalculatorProcessTree.UNAVAILABLE); + assertTrue(pmem1 == ResourceCalculatorProcessTree.UNAVAILABLE && + pmem2 == ResourceCalculatorProcessTree.UNAVAILABLE, + "pmem should be invalid " + pmem1 + " " + pmem2); long vmem1 = metric1.getRssMemorySize(0); long vmem2 = metric2.getRssMemorySize(0); System.out.println(vmem1 + " " + vmem2); - Assert.assertTrue("vmem Error outside range " + vmem1 + " " + vmem2, - vmem1 == ResourceCalculatorProcessTree.UNAVAILABLE && - vmem2 == ResourceCalculatorProcessTree.UNAVAILABLE); + assertTrue(vmem1 == ResourceCalculatorProcessTree.UNAVAILABLE && + vmem2 == ResourceCalculatorProcessTree.UNAVAILABLE, + "vmem Error outside range " + vmem1 + " " + vmem2); float cpu1 = metric1.getCpuUsagePercent(); float cpu2 = metric2.getCpuUsagePercent(); // TODO ProcfsBasedProcessTree may report negative on process exit - Assert.assertTrue("CPU% Error outside range " + cpu1 + " " + cpu2, - cpu1 == 0 && cpu2 == 0); + assertTrue(cpu1 == 0 && cpu2 == 0, + "CPU% Error outside range " + cpu1 + " " + cpu2); } private void compareMetrics( @@ -145,22 +148,22 @@ private void compareMetrics( // can report a small amount after process stop // This is not an issue since the cgroup is deleted System.out.println(pmem1 + " " + (pmem2 - SHMEM_KB * 1024)); - Assert.assertTrue("pmem Error outside range " + pmem1 + " " + pmem2, - Math.abs(pmem1 - (pmem2 - SHMEM_KB * 1024)) < 5000000); + assertTrue(Math.abs(pmem1 - (pmem2 - SHMEM_KB * 1024)) < 5000000, + "pmem Error outside range " + pmem1 + " " + pmem2); long vmem1 = metric1.getRssMemorySize(0); long vmem2 = metric2.getRssMemorySize(0); System.out.println(vmem1 + " " + (vmem2 - SHMEM_KB * 1024)); // TODO The calculation is different and cgroup // can report a small amount after process stop // This is not an issue since the cgroup is deleted - Assert.assertTrue("vmem Error outside range " + vmem1 + " " + vmem2, - Math.abs(vmem1 - (vmem2 - SHMEM_KB * 1024)) < 5000000); + assertTrue(Math.abs(vmem1 - (vmem2 - SHMEM_KB * 1024)) < 5000000, + "vmem Error outside range " + vmem1 + " " + vmem2); float cpu1 = metric1.getCpuUsagePercent(); float cpu2 = metric2.getCpuUsagePercent(); if (cpu1 > 0) { // TODO ProcfsBasedProcessTree may report negative on process exit - Assert.assertTrue("CPU% Error outside range " + cpu1 + " " + cpu2, - Math.abs(cpu2 - cpu1) < 10); + assertTrue(Math.abs(cpu2 - cpu1) < 10, + "CPU% Error outside range " + cpu1 + " " + cpu2); } }