This is an automated email from the ASF dual-hosted git repository. slfan1989 pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push: new 6ff352f3d0e HADOOP-19438. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-resourceestimator. (#7548) 6ff352f3d0e is described below commit 6ff352f3d0e682770296598874d21a82a3cffb66 Author: slfan1989 <55643692+slfan1...@users.noreply.github.com> AuthorDate: Tue Apr 1 09:18:02 2025 +0800 HADOOP-19438. [JDK17] Upgrade JUnit from 4 to 5 in hadoop-resourceestimator. (#7548) * HADOOP-19438. Upgrade JUnit from 4 to 5 in hadoop-resourceestimator. Co-authored-by: Chris Nauroth <cnaur...@apache.org> Co-authored-by: Hualong Zhang <hualon...@hotmail.com> Reviewed-by: Chris Nauroth <cnaur...@apache.org> Reviewed-by: Hualong Zhang <hualon...@hotmail.com> Signed-off-by: Shilun Fan <slfan1...@apache.org> --- .../common/api/TestResourceSkyline.java | 47 +-- .../serialization/TestHistorySkylineSerDe.java | 37 +-- .../common/serialization/TestResourceSerDe.java | 23 +- .../serialization/TestResourceSkylineSerDe.java | 32 +- .../service/TestResourceEstimatorService.java | 42 +-- .../skylinestore/impl/TestInMemoryStore.java | 3 +- .../skylinestore/impl/TestSkylineStore.java | 330 +++++++++++---------- .../solver/impl/TestLpSolver.java | 4 +- .../resourceestimator/solver/impl/TestSolver.java | 35 ++- .../translator/api/TestJobMetaData.java | 41 +-- .../translator/impl/TestNativeParser.java | 43 +-- .../translator/impl/TestRmParser.java | 72 +++-- 12 files changed, 387 insertions(+), 322 deletions(-) diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/api/TestResourceSkyline.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/api/TestResourceSkyline.java index 65e1c34adc9..a58f50b8c63 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/api/TestResourceSkyline.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/api/TestResourceSkyline.java @@ -20,16 +20,18 @@ package org.apache.hadoop.resourceestimator.common.api; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + import java.util.TreeMap; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationInterval; import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * Test {@link ResourceSkyline} class. @@ -45,7 +47,8 @@ public class TestResourceSkyline { private TreeMap<Long, Resource> resourceOverTime; private RLESparseResourceAllocation skylineList; - @Before public final void setup() { + @BeforeEach + public final void setup() { resourceOverTime = new TreeMap<>(); skylineList = new RLESparseResourceAllocation(resourceOverTime, new DefaultResourceCalculator()); @@ -54,40 +57,40 @@ public class TestResourceSkyline { } @Test public final void testGetJobId() { - Assert.assertNull(resourceSkyline); + assertNull(resourceSkyline); ReservationInterval riAdd = new ReservationInterval(0, 10); skylineList.addInterval(riAdd, resource1); riAdd = new ReservationInterval(10, 20); skylineList.addInterval(riAdd, resource1); resourceSkyline = new ResourceSkyline("1", 1024.5, 0, 20, resource1, skylineList); - Assert.assertEquals("1", resourceSkyline.getJobId()); + assertEquals("1", resourceSkyline.getJobId()); } @Test public final void testGetJobSubmissionTime() { - Assert.assertNull(resourceSkyline); + assertNull(resourceSkyline); ReservationInterval riAdd = new ReservationInterval(0, 10); skylineList.addInterval(riAdd, resource1); riAdd = new ReservationInterval(10, 20); skylineList.addInterval(riAdd, resource1); resourceSkyline = new ResourceSkyline("1", 1024.5, 0, 20, resource1, skylineList); - Assert.assertEquals(0, resourceSkyline.getJobSubmissionTime()); + assertEquals(0, resourceSkyline.getJobSubmissionTime()); } @Test public final void testGetJobFinishTime() { - Assert.assertNull(resourceSkyline); + assertNull(resourceSkyline); ReservationInterval riAdd = new ReservationInterval(0, 10); skylineList.addInterval(riAdd, resource1); riAdd = new ReservationInterval(10, 20); skylineList.addInterval(riAdd, resource1); resourceSkyline = new ResourceSkyline("1", 1024.5, 0, 20, resource1, skylineList); - Assert.assertEquals(20, resourceSkyline.getJobFinishTime()); + assertEquals(20, resourceSkyline.getJobFinishTime()); } @Test public final void testGetKthResource() { - Assert.assertNull(resourceSkyline); + assertNull(resourceSkyline); ReservationInterval riAdd = new ReservationInterval(10, 20); skylineList.addInterval(riAdd, resource1); riAdd = new ReservationInterval(20, 30); @@ -97,27 +100,27 @@ public class TestResourceSkyline { final RLESparseResourceAllocation skylineList2 = resourceSkyline.getSkylineList(); for (int i = 10; i < 20; i++) { - Assert.assertEquals(resource1.getMemorySize(), + assertEquals(resource1.getMemorySize(), skylineList2.getCapacityAtTime(i).getMemorySize()); - Assert.assertEquals(resource1.getVirtualCores(), + assertEquals(resource1.getVirtualCores(), skylineList2.getCapacityAtTime(i).getVirtualCores()); } for (int i = 20; i < 30; i++) { - Assert.assertEquals(resource2.getMemorySize(), + assertEquals(resource2.getMemorySize(), skylineList2.getCapacityAtTime(i).getMemorySize()); - Assert.assertEquals(resource2.getVirtualCores(), + assertEquals(resource2.getVirtualCores(), skylineList2.getCapacityAtTime(i).getVirtualCores()); } // test if resourceSkyline automatically extends the skyline with // zero-resource at both ends - Assert.assertEquals(0, skylineList2.getCapacityAtTime(9).getMemorySize()); - Assert.assertEquals(0, skylineList2.getCapacityAtTime(9).getVirtualCores()); - Assert.assertEquals(0, skylineList2.getCapacityAtTime(30).getMemorySize()); - Assert - .assertEquals(0, skylineList2.getCapacityAtTime(30).getVirtualCores()); + assertEquals(0, skylineList2.getCapacityAtTime(9).getMemorySize()); + assertEquals(0, skylineList2.getCapacityAtTime(9).getVirtualCores()); + assertEquals(0, skylineList2.getCapacityAtTime(30).getMemorySize()); + assertEquals(0, skylineList2.getCapacityAtTime(30).getVirtualCores()); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { resourceSkyline = null; resource1 = null; resource2 = null; diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestHistorySkylineSerDe.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestHistorySkylineSerDe.java index 62743aad914..4892e24f5e6 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestHistorySkylineSerDe.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestHistorySkylineSerDe.java @@ -20,6 +20,9 @@ package org.apache.hadoop.resourceestimator.common.serialization; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNotNull; + import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -32,10 +35,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationInterval; import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -56,7 +58,8 @@ public class TestHistorySkylineSerDe { private TreeMap<Long, Resource> resourceOverTime; private RLESparseResourceAllocation skylineList; - @Before public final void setup() { + @BeforeEach + public final void setup() { resourceOverTime = new TreeMap<>(); skylineList = new RLESparseResourceAllocation(resourceOverTime, new DefaultResourceCalculator()); @@ -93,36 +96,36 @@ public class TestHistorySkylineSerDe { // check if the recurrenceId is correct List<ResourceSkyline> resourceSkylineList = historySkylineDe.get(recurrenceId); - Assert.assertNotNull(resourceSkylineList); - Assert.assertEquals(1, resourceSkylineList.size()); + assertNotNull(resourceSkylineList); + assertEquals(1, resourceSkylineList.size()); // check if the resourceSkyline is correct ResourceSkyline resourceSkylineDe = resourceSkylineList.get(0); - Assert - .assertEquals(resourceSkylineDe.getJobId(), resourceSkyline.getJobId()); - Assert.assertEquals(resourceSkylineDe.getJobInputDataSize(), + assertEquals(resourceSkylineDe.getJobId(), resourceSkyline.getJobId()); + assertEquals(resourceSkylineDe.getJobInputDataSize(), resourceSkyline.getJobInputDataSize(), 0); - Assert.assertEquals(resourceSkylineDe.getJobSubmissionTime(), + assertEquals(resourceSkylineDe.getJobSubmissionTime(), resourceSkyline.getJobSubmissionTime()); - Assert.assertEquals(resourceSkylineDe.getJobFinishTime(), + assertEquals(resourceSkylineDe.getJobFinishTime(), resourceSkyline.getJobFinishTime()); - Assert.assertEquals(resourceSkylineDe.getContainerSpec().getMemorySize(), + assertEquals(resourceSkylineDe.getContainerSpec().getMemorySize(), resourceSkyline.getContainerSpec().getMemorySize()); - Assert.assertEquals(resourceSkylineDe.getContainerSpec().getVirtualCores(), + assertEquals(resourceSkylineDe.getContainerSpec().getVirtualCores(), resourceSkyline.getContainerSpec().getVirtualCores()); final RLESparseResourceAllocation skylineList2 = resourceSkyline.getSkylineList(); final RLESparseResourceAllocation skylineListDe = resourceSkylineDe.getSkylineList(); for (int i = 0; i < 20; i++) { - Assert.assertEquals(skylineList2.getCapacityAtTime(i).getMemorySize(), + assertEquals(skylineList2.getCapacityAtTime(i).getMemorySize(), skylineListDe.getCapacityAtTime(i).getMemorySize()); - Assert.assertEquals(skylineList2.getCapacityAtTime(i).getVirtualCores(), + assertEquals(skylineList2.getCapacityAtTime(i).getVirtualCores(), skylineListDe.getCapacityAtTime(i).getVirtualCores()); } } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { gson = null; resourceSkyline = null; resourceOverTime.clear(); diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSerDe.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSerDe.java index 8749e598f79..fb9d8c2eb91 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSerDe.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSerDe.java @@ -20,11 +20,12 @@ package org.apache.hadoop.resourceestimator.common.serialization; +import static org.junit.jupiter.api.Assertions.assertEquals; + import org.apache.hadoop.yarn.api.records.Resource; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -41,23 +42,25 @@ public class TestResourceSerDe { private Resource resource; - @Before public final void setup() { + @BeforeEach + public final void setup() { resource = Resource.newInstance(1024 * 100, 100); gson = new GsonBuilder() .registerTypeAdapter(Resource.class, new ResourceSerDe()).create(); } - @Test public final void testSerialization() { + @Test + public final void testSerialization() { final String json = gson.toJson(resource, new TypeToken<Resource>() { }.getType()); final Resource resourceDe = gson.fromJson(json, new TypeToken<Resource>() { }.getType()); - Assert.assertEquals(resource.getMemorySize(), resourceDe.getMemorySize()); - Assert - .assertEquals(resource.getVirtualCores(), resourceDe.getVirtualCores()); + assertEquals(resource.getMemorySize(), resourceDe.getMemorySize()); + assertEquals(resource.getVirtualCores(), resourceDe.getVirtualCores()); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { resource = null; gson = null; } diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSkylineSerDe.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSkylineSerDe.java index 859ea1e06f0..011dc828c89 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSkylineSerDe.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/common/serialization/TestResourceSkylineSerDe.java @@ -20,6 +20,8 @@ package org.apache.hadoop.resourceestimator.common.serialization; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.util.TreeMap; import org.apache.hadoop.resourceestimator.common.api.ResourceSkyline; @@ -27,10 +29,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationInterval; import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -51,7 +52,8 @@ public class TestResourceSkylineSerDe { private TreeMap<Long, Resource> resourceOverTime; private RLESparseResourceAllocation skylineList; - @Before public final void setup() { + @BeforeEach + public final void setup() { resourceOverTime = new TreeMap<>(); skylineList = new RLESparseResourceAllocation(resourceOverTime, new DefaultResourceCalculator()); @@ -76,31 +78,31 @@ public class TestResourceSkylineSerDe { final ResourceSkyline resourceSkylineDe = gson.fromJson(json, new TypeToken<ResourceSkyline>() { }.getType()); - Assert - .assertEquals(resourceSkylineDe.getJobId(), resourceSkyline.getJobId()); - Assert.assertEquals(resourceSkylineDe.getJobInputDataSize(), + assertEquals(resourceSkylineDe.getJobId(), resourceSkyline.getJobId()); + assertEquals(resourceSkylineDe.getJobInputDataSize(), resourceSkyline.getJobInputDataSize(), 0); - Assert.assertEquals(resourceSkylineDe.getJobSubmissionTime(), + assertEquals(resourceSkylineDe.getJobSubmissionTime(), resourceSkyline.getJobSubmissionTime()); - Assert.assertEquals(resourceSkylineDe.getJobFinishTime(), + assertEquals(resourceSkylineDe.getJobFinishTime(), resourceSkyline.getJobFinishTime()); - Assert.assertEquals(resourceSkylineDe.getContainerSpec().getMemorySize(), + assertEquals(resourceSkylineDe.getContainerSpec().getMemorySize(), resourceSkyline.getContainerSpec().getMemorySize()); - Assert.assertEquals(resourceSkylineDe.getContainerSpec().getVirtualCores(), + assertEquals(resourceSkylineDe.getContainerSpec().getVirtualCores(), resourceSkyline.getContainerSpec().getVirtualCores()); final RLESparseResourceAllocation skylineList2 = resourceSkyline.getSkylineList(); final RLESparseResourceAllocation skylineListDe = resourceSkylineDe.getSkylineList(); for (int i = 0; i < 20; i++) { - Assert.assertEquals(skylineList2.getCapacityAtTime(i).getMemorySize(), + assertEquals(skylineList2.getCapacityAtTime(i).getMemorySize(), skylineListDe.getCapacityAtTime(i).getMemorySize()); - Assert.assertEquals(skylineList2.getCapacityAtTime(i).getVirtualCores(), + assertEquals(skylineList2.getCapacityAtTime(i).getVirtualCores(), skylineListDe.getCapacityAtTime(i).getVirtualCores()); } } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { gson = null; resourceSkyline = null; resourceOverTime.clear(); diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/service/TestResourceEstimatorService.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/service/TestResourceEstimatorService.java index ee50b458153..32d1bcc3380 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/service/TestResourceEstimatorService.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/service/TestResourceEstimatorService.java @@ -37,8 +37,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationInterval; import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator; -import org.junit.Assert; -import org.junit.Test; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -81,6 +82,7 @@ protected Application configure() { return config; } + @BeforeEach @Override public void setUp() throws Exception { super.setUp(); @@ -88,24 +90,24 @@ public void setUp() throws Exception { private void compareResourceSkyline(final ResourceSkyline skyline1, final ResourceSkyline skyline2) { - Assert.assertEquals(skyline1.getJobId(), skyline2.getJobId()); - Assert.assertEquals(skyline1.getJobInputDataSize(), + Assertions.assertEquals(skyline1.getJobId(), skyline2.getJobId()); + Assertions.assertEquals(skyline1.getJobInputDataSize(), skyline2.getJobInputDataSize(), 0); - Assert.assertEquals(skyline1.getJobSubmissionTime(), + Assertions.assertEquals(skyline1.getJobSubmissionTime(), skyline2.getJobSubmissionTime()); - Assert + Assertions .assertEquals(skyline1.getJobFinishTime(), skyline2.getJobFinishTime()); - Assert.assertEquals(skyline1.getContainerSpec().getMemorySize(), + Assertions.assertEquals(skyline1.getContainerSpec().getMemorySize(), skyline2.getContainerSpec().getMemorySize()); - Assert.assertEquals(skyline1.getContainerSpec().getVirtualCores(), + Assertions.assertEquals(skyline1.getContainerSpec().getVirtualCores(), skyline2.getContainerSpec().getVirtualCores()); final RLESparseResourceAllocation skylineList1 = skyline1.getSkylineList(); final RLESparseResourceAllocation skylineList2 = skyline2.getSkylineList(); for (int i = (int) skylineList1.getEarliestStartTime(); i < skylineList1.getLatestNonNullTime(); i++) { - Assert.assertEquals(skylineList1.getCapacityAtTime(i).getMemorySize(), + Assertions.assertEquals(skylineList1.getCapacityAtTime(i).getMemorySize(), skylineList2.getCapacityAtTime(i).getMemorySize()); - Assert.assertEquals(skylineList1.getCapacityAtTime(i).getVirtualCores(), + Assertions.assertEquals(skylineList1.getCapacityAtTime(i).getVirtualCores(), skylineList2.getCapacityAtTime(i).getVirtualCores()); } } @@ -172,7 +174,7 @@ private void checkResult(final String jobId, case "tpch_q12_0": { final RecurrenceId recurrenceId = new RecurrenceId("tpch_q12", "tpch_q12_0"); - Assert.assertEquals(1, jobHistory.get(recurrenceId).size()); + Assertions.assertEquals(1, jobHistory.get(recurrenceId).size()); ResourceSkyline skylineReceive = jobHistory.get(recurrenceId).get(0); compareResourceSkyline(skylineReceive, getSkyline1()); break; @@ -180,7 +182,7 @@ private void checkResult(final String jobId, case "tpch_q12_1": { final RecurrenceId recurrenceId = new RecurrenceId("tpch_q12", "tpch_q12_1"); - Assert.assertEquals(1, jobHistory.get(recurrenceId).size()); + Assertions.assertEquals(1, jobHistory.get(recurrenceId).size()); ResourceSkyline skylineReceive = jobHistory.get(recurrenceId).get(0); compareResourceSkyline(skylineReceive, getSkyline2()); break; @@ -195,7 +197,7 @@ private void compareRLESparseResourceAllocation( final RLESparseResourceAllocation rle2) { for (int i = (int) rle1.getEarliestStartTime(); i < rle1.getLatestNonNullTime(); i++) { - Assert.assertEquals(rle1.getCapacityAtTime(i), rle2.getCapacityAtTime(i)); + Assertions.assertEquals(rle1.getCapacityAtTime(i), rle2.getCapacityAtTime(i)); } } @@ -217,20 +219,20 @@ public void testGetPrediction() { // then, try to get estimated resource allocation from skyline store webResource = target().path(getEstimatedSkylineCommand); response = webResource.request().get(String.class); - Assert.assertEquals("null", response); + Assertions.assertEquals("null", response); // then, we call estimator module to make the prediction webResource = target().path(makeEstimationCommand); response = webResource.request().get(String.class); RLESparseResourceAllocation skylineList = gson.fromJson(response, new TypeToken<RLESparseResourceAllocation>() { }.getType()); - Assert.assertEquals(1, + Assertions.assertEquals(1, skylineList.getCapacityAtTime(0).getMemorySize() / containerMemAlloc); - Assert.assertEquals(1058, + Assertions.assertEquals(1058, skylineList.getCapacityAtTime(10).getMemorySize() / containerMemAlloc); - Assert.assertEquals(2538, + Assertions.assertEquals(2538, skylineList.getCapacityAtTime(15).getMemorySize() / containerMemAlloc); - Assert.assertEquals(2484, + Assertions.assertEquals(2484, skylineList.getCapacityAtTime(20).getMemorySize() / containerMemAlloc); // then, we get estimated resource allocation for tpch_q12 webResource = target().path(getEstimatedSkylineCommand); @@ -256,9 +258,9 @@ public void testGetPrediction() { new TypeToken<Map<RecurrenceId, List<ResourceSkyline>>>() { }.getType()); // jobHistory should only have info for tpch_q12_0 - Assert.assertEquals(1, jobHistory.size()); + Assertions.assertEquals(1, jobHistory.size()); final String pipelineId = ((RecurrenceId) jobHistory.keySet().toArray()[0]).getRunId(); - Assert.assertEquals("tpch_q12_0", pipelineId); + Assertions.assertEquals("tpch_q12_0", pipelineId); } } diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestInMemoryStore.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestInMemoryStore.java index 4aefab4f268..3629740b139 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestInMemoryStore.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestInMemoryStore.java @@ -26,7 +26,8 @@ * Test {@link InMemoryStore} class. */ public class TestInMemoryStore extends TestSkylineStore { - @Override public final SkylineStore createSkylineStore() { + @Override + public final SkylineStore createSkylineStore() { return new InMemoryStore(); } } diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestSkylineStore.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestSkylineStore.java index e333e3ff263..3f4a58b9fd7 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestSkylineStore.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/skylinestore/impl/TestSkylineStore.java @@ -20,6 +20,12 @@ package org.apache.hadoop.resourceestimator.skylinestore.impl; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; + import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -40,10 +46,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; import org.apache.hadoop.yarn.server.resourcemanager.reservation.ReservationInterval; import org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * Test {@link SkylineStore} class. @@ -61,7 +66,8 @@ public abstract class TestSkylineStore { protected abstract SkylineStore createSkylineStore(); - @Before public final void setup() { + @BeforeEach + public final void setup() { skylineStore = createSkylineStore(); resourceOverTime = new TreeMap<>(); resource = Resource.newInstance(1024 * 100, 100); @@ -69,18 +75,17 @@ public abstract class TestSkylineStore { private void compare(final ResourceSkyline skyline1, final ResourceSkyline skyline2) { - Assert.assertEquals(skyline1.getJobId(), skyline2.getJobId()); - Assert.assertEquals(skyline1.getJobInputDataSize(), + assertEquals(skyline1.getJobId(), skyline2.getJobId()); + assertEquals(skyline1.getJobInputDataSize(), skyline2.getJobInputDataSize(), 0); - Assert.assertEquals(skyline1.getJobSubmissionTime(), + assertEquals(skyline1.getJobSubmissionTime(), skyline2.getJobSubmissionTime()); - Assert - .assertEquals(skyline1.getJobFinishTime(), skyline2.getJobFinishTime()); - Assert.assertEquals(skyline1.getContainerSpec().getMemorySize(), + assertEquals(skyline1.getJobFinishTime(), skyline2.getJobFinishTime()); + assertEquals(skyline1.getContainerSpec().getMemorySize(), skyline2.getContainerSpec().getMemorySize()); - Assert.assertEquals(skyline1.getContainerSpec().getVirtualCores(), + assertEquals(skyline1.getContainerSpec().getVirtualCores(), skyline2.getContainerSpec().getVirtualCores()); - Assert.assertEquals(true, + assertEquals(true, skyline2.getSkylineList().equals(skyline1.getSkylineList())); } @@ -91,7 +96,7 @@ private void addToStore(final RecurrenceId recurrenceId, skylineStore.addHistory(recurrenceId, resourceSkylines); final List<ResourceSkyline> resourceSkylinesGet = skylineStore.getHistory(recurrenceId).get(recurrenceId); - Assert.assertTrue(resourceSkylinesGet.contains(resourceSkyline)); + assertTrue(resourceSkylinesGet.contains(resourceSkyline)); } private ResourceSkyline getSkyline(final int n) { @@ -130,31 +135,31 @@ private ResourceSkyline getSkyline(final int n) { // test getHistory {pipelineId, runId} Map<RecurrenceId, List<ResourceSkyline>> jobHistory = skylineStore.getHistory(recurrenceId1); - Assert.assertEquals(1, jobHistory.size()); + assertEquals(1, jobHistory.size()); for (final Map.Entry<RecurrenceId, List<ResourceSkyline>> entry : jobHistory .entrySet()) { - Assert.assertEquals(recurrenceId1, entry.getKey()); + assertEquals(recurrenceId1, entry.getKey()); final List<ResourceSkyline> getSkylines = entry.getValue(); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } // test getHistory {pipelineId, *} RecurrenceId recurrenceIdTest = new RecurrenceId("FraudDetection", "*"); jobHistory = skylineStore.getHistory(recurrenceIdTest); - Assert.assertEquals(2, jobHistory.size()); + assertEquals(2, jobHistory.size()); for (final Map.Entry<RecurrenceId, List<ResourceSkyline>> entry : jobHistory .entrySet()) { - Assert.assertEquals(recurrenceId1.getPipelineId(), + assertEquals(recurrenceId1.getPipelineId(), entry.getKey().getPipelineId()); final List<ResourceSkyline> getSkylines = entry.getValue(); if (entry.getKey().getRunId().equals("17/06/20 00:00:00")) { - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } else { - Assert.assertEquals(entry.getKey().getRunId(), "17/06/21 00:00:00"); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(entry.getKey().getRunId(), "17/06/21 00:00:00"); + assertEquals(2, getSkylines.size()); compare(resourceSkyline3, getSkylines.get(0)); compare(resourceSkyline4, getSkylines.get(1)); } @@ -162,26 +167,26 @@ private ResourceSkyline getSkyline(final int n) { // test getHistory {*, runId} recurrenceIdTest = new RecurrenceId("*", "some random runId"); jobHistory = skylineStore.getHistory(recurrenceIdTest); - Assert.assertEquals(3, jobHistory.size()); + assertEquals(3, jobHistory.size()); for (final Map.Entry<RecurrenceId, List<ResourceSkyline>> entry : jobHistory .entrySet()) { if (entry.getKey().getPipelineId().equals("FraudDetection")) { final List<ResourceSkyline> getSkylines = entry.getValue(); if (entry.getKey().getRunId().equals("17/06/20 00:00:00")) { - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } else { - Assert.assertEquals(entry.getKey().getRunId(), "17/06/21 00:00:00"); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(entry.getKey().getRunId(), "17/06/21 00:00:00"); + assertEquals(2, getSkylines.size()); compare(resourceSkyline3, getSkylines.get(0)); compare(resourceSkyline4, getSkylines.get(1)); } } else { - Assert.assertEquals("Random", entry.getKey().getPipelineId()); - Assert.assertEquals(entry.getKey().getRunId(), "17/06/20 00:00:00"); + assertEquals("Random", entry.getKey().getPipelineId()); + assertEquals(entry.getKey().getRunId(), "17/06/20 00:00:00"); final List<ResourceSkyline> getSkylines = entry.getValue(); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } @@ -189,7 +194,7 @@ private ResourceSkyline getSkyline(final int n) { // test getHistory with wrong RecurrenceId recurrenceIdTest = new RecurrenceId("some random pipelineId", "some random runId"); - Assert.assertNull(skylineStore.getHistory(recurrenceIdTest)); + assertNull(skylineStore.getHistory(recurrenceIdTest)); } @Test public final void testGetEstimation() throws SkylineStoreException { @@ -206,41 +211,45 @@ private ResourceSkyline getSkyline(final int n) { final RLESparseResourceAllocation estimation = skylineStore.getEstimation("FraudDetection"); for (int i = 0; i < 50; i++) { - Assert.assertEquals(skylineList2.getCapacityAtTime(i), + assertEquals(skylineList2.getCapacityAtTime(i), estimation.getCapacityAtTime(i)); } } - @Test(expected = NullRecurrenceIdException.class) + @Test public final void testGetNullRecurrenceId() throws SkylineStoreException { - // addHistory first recurring pipeline - final RecurrenceId recurrenceId1 = + assertThrows(NullRecurrenceIdException.class, () -> { + final RecurrenceId recurrenceId1 = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - addToStore(recurrenceId1, resourceSkyline1); - final ResourceSkyline resourceSkyline2 = getSkyline(2); - addToStore(recurrenceId1, resourceSkyline2); - final RecurrenceId recurrenceId2 = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + addToStore(recurrenceId1, resourceSkyline1); + final ResourceSkyline resourceSkyline2 = getSkyline(2); + addToStore(recurrenceId1, resourceSkyline2); + final RecurrenceId recurrenceId2 = new RecurrenceId("FraudDetection", "17/06/21 00:00:00"); - final ResourceSkyline resourceSkyline3 = getSkyline(3); - addToStore(recurrenceId2, resourceSkyline3); - final ResourceSkyline resourceSkyline4 = getSkyline(4); - addToStore(recurrenceId2, resourceSkyline4); - // addHistory second recurring pipeline - final RecurrenceId recurrenceId3 = + final ResourceSkyline resourceSkyline3 = getSkyline(3); + addToStore(recurrenceId2, resourceSkyline3); + final ResourceSkyline resourceSkyline4 = getSkyline(4); + addToStore(recurrenceId2, resourceSkyline4); + final RecurrenceId recurrenceId3 = new RecurrenceId("Random", "17/06/20 00:00:00"); - addToStore(recurrenceId3, resourceSkyline1); - addToStore(recurrenceId3, resourceSkyline2); - // try to getHistory with null recurringId - skylineStore.getHistory(null); - } + addToStore(recurrenceId3, resourceSkyline1); + addToStore(recurrenceId3, resourceSkyline2); + skylineStore.getHistory(null); + }); + - @Test(expected = NullPipelineIdException.class) +// try to getHistory with null recurringId +} + + @Test public final void testGetNullPipelineIdException() throws SkylineStoreException { - skylineStore.getEstimation(null); - } + assertThrows(NullPipelineIdException.class, () -> { + skylineStore.getEstimation(null); + }); + } @Test public final void testAddNormal() throws SkylineStoreException { // addHistory resource skylines to the in-memory store @@ -258,74 +267,84 @@ public final void testGetNullPipelineIdException() // query the in-memory store final Map<RecurrenceId, List<ResourceSkyline>> jobHistory = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(1, jobHistory.size()); + assertEquals(1, jobHistory.size()); for (final Map.Entry<RecurrenceId, List<ResourceSkyline>> entry : jobHistory .entrySet()) { - Assert.assertEquals(recurrenceId, entry.getKey()); + assertEquals(recurrenceId, entry.getKey()); final List<ResourceSkyline> getSkylines = entry.getValue(); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } } - @Test(expected = NullRecurrenceIdException.class) + @Test public final void testAddNullRecurrenceId() throws SkylineStoreException { - // recurrenceId is null - final RecurrenceId recurrenceIdNull = null; - final ArrayList<ResourceSkyline> resourceSkylines = + assertThrows(NullRecurrenceIdException.class, () -> { + final RecurrenceId recurrenceIdNull = null; + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - skylineStore.addHistory(recurrenceIdNull, resourceSkylines); - } + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + skylineStore.addHistory(recurrenceIdNull, resourceSkylines); + }); - @Test(expected = NullResourceSkylineException.class) +} + + @Test public final void testAddNullResourceSkyline() throws SkylineStoreException { - final RecurrenceId recurrenceId = + assertThrows(NullResourceSkylineException.class, () -> { + final RecurrenceId recurrenceId = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ArrayList<ResourceSkyline> resourceSkylines = + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - // resourceSkylines is null - skylineStore.addHistory(recurrenceId, null); - } + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + skylineStore.addHistory(recurrenceId, null); + }); + // resourceSkylines is null +} - @Test(expected = DuplicateRecurrenceIdException.class) + @Test public final void testAddDuplicateRecurrenceId() throws SkylineStoreException { - final RecurrenceId recurrenceId = + assertThrows(DuplicateRecurrenceIdException.class, () -> { + final RecurrenceId recurrenceId = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ArrayList<ResourceSkyline> resourceSkylines = + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - // trying to addHistory duplicate resource skylines - skylineStore.addHistory(recurrenceId, resourceSkylines); - skylineStore.addHistory(recurrenceId, resourceSkylines); - } + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + skylineStore.addHistory(recurrenceId, resourceSkylines); + skylineStore.addHistory(recurrenceId, resourceSkylines); + }); - @Test(expected = NullPipelineIdException.class) +} + + @Test public final void testAddNullPipelineIdException() throws SkylineStoreException { - final RLESparseResourceAllocation skylineList2 = + assertThrows(NullPipelineIdException.class, () -> { + final RLESparseResourceAllocation skylineList2 = new RLESparseResourceAllocation(resourceOverTime, new DefaultResourceCalculator()); - for (int i = 0; i < 5; i++) { + for (int i = 0; i < 5; i++) { riAdd = new ReservationInterval(i * 10, (i + 1) * 10); skylineList2.addInterval(riAdd, resource); } - skylineStore.addEstimation(null, skylineList2); - } + skylineStore.addEstimation(null, skylineList2); + }); + } - @Test(expected = NullRLESparseResourceAllocationException.class) + @Test public final void testAddNullRLESparseResourceAllocationExceptionException() throws SkylineStoreException { - skylineStore.addEstimation("FraudDetection", null); - } + assertThrows(NullRLESparseResourceAllocationException.class, () -> { + skylineStore.addEstimation("FraudDetection", null); + }); + } @Test public final void testDeleteNormal() throws SkylineStoreException { // addHistory first recurring pipeline @@ -339,29 +358,33 @@ public final void testAddNullRLESparseResourceAllocationExceptionException() skylineStore.deleteHistory(recurrenceId1); } - @Test(expected = NullRecurrenceIdException.class) + @Test public final void testDeleteNullRecurrenceId() throws SkylineStoreException { - final RecurrenceId recurrenceId1 = + assertThrows(NullRecurrenceIdException.class, () -> { + final RecurrenceId recurrenceId1 = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - addToStore(recurrenceId1, resourceSkyline1); - // try to deleteHistory with null recurringId - skylineStore.deleteHistory(null); - } + final ResourceSkyline resourceSkyline1 = getSkyline(1); + addToStore(recurrenceId1, resourceSkyline1); + skylineStore.deleteHistory(null); + }); + // try to deleteHistory with null recurringId +} - @Test(expected = RecurrenceIdNotFoundException.class) + @Test public final void testDeleteRecurrenceIdNotFound() throws SkylineStoreException { - final RecurrenceId recurrenceId1 = + assertThrows(RecurrenceIdNotFoundException.class, () -> { + final RecurrenceId recurrenceId1 = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - addToStore(recurrenceId1, resourceSkyline1); - final RecurrenceId recurrenceIdInvalid = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + addToStore(recurrenceId1, resourceSkyline1); + final RecurrenceId recurrenceIdInvalid = new RecurrenceId("Some random pipelineId", "Some random runId"); - // try to deleteHistory non-existing recurringId - skylineStore.deleteHistory(recurrenceIdInvalid); - } + skylineStore.deleteHistory(recurrenceIdInvalid); + }); + // try to deleteHistory non-existing recurringId +} @Test public final void testUpdateNormal() throws SkylineStoreException { // addHistory first recurring pipeline @@ -378,82 +401,91 @@ public final void testDeleteRecurrenceIdNotFound() // query the in-memory store final Map<RecurrenceId, List<ResourceSkyline>> jobHistory = skylineStore.getHistory(recurrenceId1); - Assert.assertEquals(1, jobHistory.size()); + assertEquals(1, jobHistory.size()); for (final Map.Entry<RecurrenceId, List<ResourceSkyline>> entry : jobHistory .entrySet()) { - Assert.assertEquals(recurrenceId1, entry.getKey()); + assertEquals(recurrenceId1, entry.getKey()); final List<ResourceSkyline> getSkylines = entry.getValue(); - Assert.assertEquals(2, getSkylines.size()); + assertEquals(2, getSkylines.size()); compare(resourceSkyline1, getSkylines.get(0)); compare(resourceSkyline2, getSkylines.get(1)); } } - @Test(expected = NullRecurrenceIdException.class) + @Test public final void testUpdateNullRecurrenceId() throws SkylineStoreException { - final ArrayList<ResourceSkyline> resourceSkylines = + assertThrows(NullRecurrenceIdException.class, () -> { + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - final ArrayList<ResourceSkyline> resourceSkylinesInvalid = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + final ArrayList<ResourceSkyline> resourceSkylinesInvalid = new ArrayList<ResourceSkyline>(); - resourceSkylinesInvalid.add(null); - // try to updateHistory with null recurringId - skylineStore.updateHistory(null, resourceSkylines); - } + resourceSkylinesInvalid.add(null); + skylineStore.updateHistory(null, resourceSkylines); + }); + // try to updateHistory with null recurringId +} - @Test(expected = NullResourceSkylineException.class) + @Test public final void testUpdateNullResourceSkyline() throws SkylineStoreException { - final RecurrenceId recurrenceId = + assertThrows(NullResourceSkylineException.class, () -> { + final RecurrenceId recurrenceId = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ArrayList<ResourceSkyline> resourceSkylines = + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - final ArrayList<ResourceSkyline> resourceSkylinesInvalid = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + final ArrayList<ResourceSkyline> resourceSkylinesInvalid = new ArrayList<ResourceSkyline>(); - resourceSkylinesInvalid.add(null); - // try to updateHistory with null resourceSkylines - skylineStore.addHistory(recurrenceId, resourceSkylines); - skylineStore.updateHistory(recurrenceId, null); - } + resourceSkylinesInvalid.add(null); + skylineStore.addHistory(recurrenceId, resourceSkylines); + skylineStore.updateHistory(recurrenceId, null); + }); + +} - @Test(expected = EmptyResourceSkylineException.class) + @Test public final void testUpdateEmptyRecurrenceId() throws SkylineStoreException { - final RecurrenceId recurrenceId = + assertThrows(EmptyResourceSkylineException.class, () -> { + final RecurrenceId recurrenceId = new RecurrenceId("FraudDetection", "17/06/20 00:00:00"); - final ArrayList<ResourceSkyline> resourceSkylines = + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - final ArrayList<ResourceSkyline> resourceSkylinesInvalid = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + final ArrayList<ResourceSkyline> resourceSkylinesInvalid = new ArrayList<ResourceSkyline>(); - resourceSkylinesInvalid.add(null); - skylineStore.addHistory(recurrenceId, resourceSkylines); - // try to updateHistory with empty resourceSkyline - skylineStore.updateHistory(recurrenceId, resourceSkylinesInvalid); - } + resourceSkylinesInvalid.add(null); + skylineStore.addHistory(recurrenceId, resourceSkylines); + skylineStore.updateHistory(recurrenceId, resourceSkylinesInvalid); + }); + // try to updateHistory with empty resourceSkyline +} - @Test(expected = RecurrenceIdNotFoundException.class) + @Test public final void testUpdateRecurrenceIdNotFound() throws SkylineStoreException { - final ArrayList<ResourceSkyline> resourceSkylines = + assertThrows(RecurrenceIdNotFoundException.class, () -> { + final ArrayList<ResourceSkyline> resourceSkylines = new ArrayList<ResourceSkyline>(); - final ResourceSkyline resourceSkyline1 = getSkyline(1); - resourceSkylines.add(resourceSkyline1); - final RecurrenceId recurrenceIdInvalid = + final ResourceSkyline resourceSkyline1 = getSkyline(1); + resourceSkylines.add(resourceSkyline1); + final RecurrenceId recurrenceIdInvalid = new RecurrenceId("Some random pipelineId", "Some random runId"); - final ArrayList<ResourceSkyline> resourceSkylinesInvalid = + final ArrayList<ResourceSkyline> resourceSkylinesInvalid = new ArrayList<ResourceSkyline>(); - resourceSkylinesInvalid.add(null); - // try to updateHistory with non-existing recurringId - skylineStore.updateHistory(recurrenceIdInvalid, resourceSkylines); - } + resourceSkylinesInvalid.add(null); + skylineStore.updateHistory(recurrenceIdInvalid, resourceSkylines); + }); + // try to updateHistory with non-existing recurringId +} - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { skylineStore = null; resourceOverTime.clear(); resourceOverTime = null; diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestLpSolver.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestLpSolver.java index 1bce63466a5..11c20f62337 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestLpSolver.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestLpSolver.java @@ -33,7 +33,7 @@ import org.apache.hadoop.resourceestimator.translator.exceptions.DataFieldNotFoundException; import org.apache.hadoop.resourceestimator.translator.impl.BaseLogParser; import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; -import org.junit.Test; +import org.junit.jupiter.api.Test; import java.io.BufferedReader; import java.io.FileInputStream; @@ -46,7 +46,7 @@ import java.util.List; import java.util.Map; -import static org.junit.Assert.assertEquals; +import static org.junit.jupiter.api.Assertions.assertEquals; /** * This LPSolver class will make resource estimation using Linear Programming diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestSolver.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestSolver.java index 11df6cde4c9..566dbf024b2 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestSolver.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/solver/impl/TestSolver.java @@ -20,6 +20,8 @@ package org.apache.hadoop.resourceestimator.solver.impl; +import static org.junit.jupiter.api.Assertions.assertThrows; + import java.io.IOException; import java.util.HashMap; import java.util.List; @@ -32,9 +34,9 @@ import org.apache.hadoop.resourceestimator.solver.api.Solver; import org.apache.hadoop.resourceestimator.solver.exceptions.InvalidInputException; import org.apache.hadoop.resourceestimator.solver.exceptions.SolverException; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * This LPSolver class will make resource estimation using Linear Programming @@ -45,28 +47,33 @@ public abstract class TestSolver { protected abstract Solver createSolver() throws ResourceEstimatorException; - @Before public void setup() + @BeforeEach + public void setup() throws SolverException, IOException, SkylineStoreException, ResourceEstimatorException { solver = createSolver(); } - @Test(expected = InvalidInputException.class) public void testNullJobHistory() + @Test + public void testNullJobHistory() throws SolverException, SkylineStoreException { + assertThrows(InvalidInputException.class, () -> { + solver.solve(null); + }); // try to solve with null jobHistory - solver.solve(null); } - @Test(expected = InvalidInputException.class) - public void testEmptyJobHistory() - throws SolverException, SkylineStoreException { - Map<RecurrenceId, List<ResourceSkyline>> jobHistoryInvalid = - new HashMap<RecurrenceId, List<ResourceSkyline>>(); - // try to solve with emty jobHistory - solver.solve(jobHistoryInvalid); + @Test + public void testEmptyJobHistory() throws SolverException, SkylineStoreException { + // try to solve with empty jobHistory + assertThrows(InvalidInputException.class, () -> { + Map<RecurrenceId, List<ResourceSkyline>> jobHistoryInvalid = new HashMap<RecurrenceId, List<ResourceSkyline>>(); + solver.solve(jobHistoryInvalid); + }); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { solver.close(); solver = null; } diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/api/TestJobMetaData.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/api/TestJobMetaData.java index 69ba48058a1..24f821061b1 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/api/TestJobMetaData.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/api/TestJobMetaData.java @@ -20,16 +20,17 @@ package org.apache.hadoop.resourceestimator.translator.api; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.text.ParseException; import org.apache.hadoop.resourceestimator.common.api.RecurrenceId; import org.apache.hadoop.resourceestimator.translator.impl.LogParserUtil; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * Test JobMetaData. @@ -43,7 +44,8 @@ public class TestJobMetaData { private JobMetaData jobMetaData; private RecurrenceId recurrenceId; - @Before public final void setup() throws ParseException { + @BeforeEach + public final void setup() throws ParseException { recurrenceId = new RecurrenceId("Fraud Detection", "17/07/16 16:27:25"); jobMetaData = new JobMetaData( logParserUtil.stringToUnixTimestamp("17/07/16 16:27:25")); @@ -68,27 +70,27 @@ public class TestJobMetaData { final Resource containerAlloc = jobMetaData.getResourceSkyline().getContainerSpec(); final Resource containerAlloc2 = Resource.newInstance(1, 1); - Assert.assertEquals(containerAlloc.getMemorySize(), + assertEquals(containerAlloc.getMemorySize(), containerAlloc2.getMemorySize()); - Assert.assertEquals(containerAlloc.getVirtualCores(), + assertEquals(containerAlloc.getVirtualCores(), containerAlloc2.getVirtualCores()); } @Test public final void testGetJobSize() { - Assert.assertEquals(jobMetaData.getResourceSkyline().getJobInputDataSize(), + assertEquals(jobMetaData.getResourceSkyline().getJobInputDataSize(), 1024.5, 0); } @Test public final void testGetRecurrenceeId() { final RecurrenceId recurrenceIdTest = new RecurrenceId("Fraud Detection", "17/07/16 16:27:25"); - Assert.assertEquals(recurrenceIdTest, jobMetaData.getRecurrenceId()); + assertEquals(recurrenceIdTest, jobMetaData.getRecurrenceId()); } @Test public final void testStringToUnixTimestamp() throws ParseException { final long submissionTime = logParserUtil.stringToUnixTimestamp("17/07/16 16:27:25"); - Assert.assertEquals(jobMetaData.getResourceSkyline().getJobSubmissionTime(), + assertEquals(jobMetaData.getResourceSkyline().getJobSubmissionTime(), submissionTime); } @@ -99,22 +101,22 @@ public class TestJobMetaData { jobMetaData.getResourceSkyline().getContainerSpec().getVirtualCores(); int k; for (k = 0; k < 5; k++) { - Assert.assertEquals(0, + assertEquals(0, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } for (k = 5; k < 15; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } for (k = 15; k < 605; k++) { - Assert.assertEquals(2, + assertEquals(2, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } for (k = 605; k < 615; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } - Assert.assertEquals(0, + assertEquals(0, skylineList.getCapacityAtTime(615).getVirtualCores() / containerCPU); } @@ -144,18 +146,19 @@ public class TestJobMetaData { jobMetaData.getResourceSkyline().getContainerSpec().getVirtualCores(); int k; for (k = 0; k < 5; k++) { - Assert.assertEquals(0, + assertEquals(0, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } for (k = 5; k < 605; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineList.getCapacityAtTime(k).getVirtualCores() / containerCPU); } - Assert.assertEquals(0, + assertEquals(0, skylineList.getCapacityAtTime(605).getVirtualCores() / containerCPU); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { jobMetaData = null; recurrenceId = null; logParserUtil = null; diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestNativeParser.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestNativeParser.java index f399bf944b6..a3dece41e33 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestNativeParser.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestNativeParser.java @@ -20,6 +20,8 @@ package org.apache.hadoop.resourceestimator.translator.impl; +import static org.junit.jupiter.api.Assertions.assertEquals; + import java.io.IOException; import java.text.ParseException; import java.util.List; @@ -36,10 +38,9 @@ import org.apache.hadoop.resourceestimator.translator.api.LogParser; import org.apache.hadoop.resourceestimator.translator.exceptions.DataFieldNotFoundException; import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * This sample parser will parse the sample log and extract the resource @@ -49,7 +50,8 @@ public class TestNativeParser { private LogParserUtil logParserUtil = new LogParserUtil(); private SkylineStore skylineStore; - @Before public final void setup() throws ResourceEstimatorException { + @BeforeEach + public final void setup() throws ResourceEstimatorException { skylineStore = new InMemoryStore(); final LogParser nativeParser = new BaseLogParser(); Configuration config = new Configuration(); @@ -73,42 +75,41 @@ private void parseFile(final String logFile) new RecurrenceId("tpch_q12", "tpch_q12_0"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(1, jobSkylineLists.size()); + assertEquals(1, jobSkylineLists.size()); final List<ResourceSkyline> jobHistory = jobSkylineLists.get(recurrenceId); - Assert.assertEquals(1, jobHistory.size()); + assertEquals(1, jobHistory.size()); final ResourceSkyline resourceSkyline = jobHistory.get(0); - Assert.assertEquals(0, resourceSkyline.getJobInputDataSize(), 0); - Assert.assertEquals("tpch_q12_0", resourceSkyline.getJobId()); - Assert.assertEquals(0, resourceSkyline.getJobSubmissionTime()); - Assert.assertEquals(25, resourceSkyline.getJobFinishTime()); - Assert - .assertEquals(1024, resourceSkyline.getContainerSpec().getMemorySize()); - Assert - .assertEquals(1, resourceSkyline.getContainerSpec().getVirtualCores()); + assertEquals(0, resourceSkyline.getJobInputDataSize(), 0); + assertEquals("tpch_q12_0", resourceSkyline.getJobId()); + assertEquals(0, resourceSkyline.getJobSubmissionTime()); + assertEquals(25, resourceSkyline.getJobFinishTime()); + assertEquals(1024, resourceSkyline.getContainerSpec().getMemorySize()); + assertEquals(1, resourceSkyline.getContainerSpec().getVirtualCores()); final RLESparseResourceAllocation skylineLists = resourceSkyline.getSkylineList(); int k; for (k = 0; k < 10; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineLists.getCapacityAtTime(k).getMemorySize() / 1024); } for (k = 10; k < 15; k++) { - Assert.assertEquals(1074, + assertEquals(1074, skylineLists.getCapacityAtTime(k).getMemorySize() / 1024); } for (k = 15; k < 20; k++) { - Assert.assertEquals(2538, + assertEquals(2538, skylineLists.getCapacityAtTime(k).getMemorySize() / 1024); } for (k = 20; k < 25; k++) { - Assert.assertEquals(2468, + assertEquals(2468, skylineLists.getCapacityAtTime(k).getMemorySize() / 1024); } - Assert.assertEquals(0, + assertEquals(0, skylineLists.getCapacityAtTime(25).getMemorySize() / 1024); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { skylineStore = null; logParserUtil = null; } diff --git a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestRmParser.java b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestRmParser.java index 4a39ed7cf40..5c6aafa90d2 100644 --- a/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestRmParser.java +++ b/hadoop-tools/hadoop-resourceestimator/src/test/java/org/apache/hadoop/resourceestimator/translator/impl/TestRmParser.java @@ -20,6 +20,10 @@ package org.apache.hadoop.resourceestimator.translator.impl; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; +import static org.junit.jupiter.api.Assertions.assertThrows; + import java.io.IOException; import java.text.ParseException; import java.util.List; @@ -37,10 +41,9 @@ import org.apache.hadoop.resourceestimator.translator.exceptions.DataFieldNotFoundException; import org.apache.hadoop.yarn.api.records.Resource; import org.apache.hadoop.yarn.server.resourcemanager.reservation.RLESparseResourceAllocation; -import org.junit.After; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; /** * This sample parser will parse the sample log and extract the resource @@ -50,7 +53,8 @@ public class TestRmParser { private LogParserUtil logParserUtil = new LogParserUtil(); private SkylineStore skylineStore; - @Before public final void setup() throws ResourceEstimatorException { + @BeforeEach + public final void setup() throws ResourceEstimatorException { skylineStore = new InMemoryStore(); final LogParser rmParser = new BaseLogParser(); Configuration config = new Configuration(); @@ -68,7 +72,8 @@ private void parseFile(final String logFile) logParserUtil.parseLog(logFile); } - @Test public final void testParse() + @Test + public final void testParse() throws SkylineStoreException, IOException, ParseException, ResourceEstimatorException, DataFieldNotFoundException { final String logFile = "src/test/resources/trace/rmLog.txt"; @@ -76,50 +81,52 @@ private void parseFile(final String logFile) final RecurrenceId recurrenceId = new RecurrenceId("FraudDetection", "1"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(1, jobSkylineLists.size()); + assertEquals(1, jobSkylineLists.size()); final List<ResourceSkyline> jobHistory = jobSkylineLists.get(recurrenceId); - Assert.assertEquals(1, jobHistory.size()); + assertEquals(1, jobHistory.size()); final ResourceSkyline resourceSkyline = jobHistory.get(0); - Assert.assertEquals(0, resourceSkyline.getJobInputDataSize(), 0); - Assert.assertEquals("application_1497832133857_0330", + assertEquals(0, resourceSkyline.getJobInputDataSize(), 0); + assertEquals("application_1497832133857_0330", resourceSkyline.getJobId()); - Assert.assertEquals( + assertEquals( logParserUtil.stringToUnixTimestamp("06/21/2017 16:10:13"), resourceSkyline.getJobSubmissionTime()); - Assert.assertEquals( + assertEquals( logParserUtil.stringToUnixTimestamp("06/21/2017 16:18:35"), resourceSkyline.getJobFinishTime()); final Resource resource = Resource.newInstance(1800, 1); - Assert.assertEquals(resource.getMemorySize(), + assertEquals(resource.getMemorySize(), resourceSkyline.getContainerSpec().getMemorySize()); - Assert.assertEquals(resource.getVirtualCores(), + assertEquals(resource.getVirtualCores(), resourceSkyline.getContainerSpec().getVirtualCores()); final RLESparseResourceAllocation skylineLists = resourceSkyline.getSkylineList(); int k; for (k = 0; k < 142; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineLists.getCapacityAtTime(k).getMemorySize() / resource .getMemorySize()); } for (k = 142; k < 345; k++) { - Assert.assertEquals(2, + assertEquals(2, skylineLists.getCapacityAtTime(k).getMemorySize() / resource .getMemorySize()); } for (k = 345; k < 502; k++) { - Assert.assertEquals(1, + assertEquals(1, skylineLists.getCapacityAtTime(k).getMemorySize() / resource .getMemorySize()); } } - @Test(expected = ParseException.class) + @Test public final void testInvalidDateFormat() throws ParseException { - logParserUtil.stringToUnixTimestamp("2017.07.16 16:37:45"); - } + assertThrows(ParseException.class, () -> { + logParserUtil.stringToUnixTimestamp("2017.07.16 16:37:45"); + }); + } @Test public final void testDuplicateJobSubmissionTime() throws SkylineStoreException, IOException, ParseException, @@ -129,7 +136,7 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "1"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals( + assertEquals( logParserUtil.stringToUnixTimestamp("06/21/2017 16:10:23"), jobSkylineLists.get(recurrenceId).get(0).getJobSubmissionTime()); } @@ -140,7 +147,7 @@ public final void testInvalidDateFormat() final String logFile = "src/test/resources/trace/invalidLog2.txt"; parseFile(logFile); final RecurrenceId recurrenceId = new RecurrenceId("Test", "2"); - Assert.assertNull(skylineStore.getHistory(recurrenceId)); + assertNull(skylineStore.getHistory(recurrenceId)); } @Test public final void testJobIdNotFoundInContainerAlloc() @@ -151,7 +158,7 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "3"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(0, + assertEquals(0, jobSkylineLists.get(recurrenceId).get(0).getSkylineList() .getCumulative().size()); } @@ -164,7 +171,7 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "4"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(0, + assertEquals(0, jobSkylineLists.get(recurrenceId).get(0).getSkylineList() .getCumulative().size()); } @@ -177,7 +184,7 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "5"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals( + assertEquals( logParserUtil.stringToUnixTimestamp("06/21/2017 16:10:13"), jobSkylineLists.get(recurrenceId).get(0).getJobSubmissionTime()); } @@ -188,7 +195,7 @@ public final void testInvalidDateFormat() final String logFile = "src/test/resources/trace/invalidLog6.txt"; parseFile(logFile); final RecurrenceId recurrenceId = new RecurrenceId("Test", "6"); - Assert.assertNull(skylineStore.getHistory(recurrenceId)); + assertNull(skylineStore.getHistory(recurrenceId)); } @Test public final void testRecurrenceIdNotFoundInJobFinish() @@ -197,7 +204,7 @@ public final void testInvalidDateFormat() final String logFile = "src/test/resources/trace/invalidLog7.txt"; parseFile(logFile); final RecurrenceId recurrenceId = new RecurrenceId("Test", "7"); - Assert.assertNull(skylineStore.getHistory(recurrenceId)); + assertNull(skylineStore.getHistory(recurrenceId)); } @Test public final void testJobIdNotFoundInResourceSpec() @@ -208,10 +215,10 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "8"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(1024, + assertEquals(1024, jobSkylineLists.get(recurrenceId).get(0).getContainerSpec() .getMemorySize()); - Assert.assertEquals(1, + assertEquals(1, jobSkylineLists.get(recurrenceId).get(0).getContainerSpec() .getVirtualCores()); } @@ -224,15 +231,16 @@ public final void testInvalidDateFormat() final RecurrenceId recurrenceId = new RecurrenceId("Test", "9"); final Map<RecurrenceId, List<ResourceSkyline>> jobSkylineLists = skylineStore.getHistory(recurrenceId); - Assert.assertEquals(1024, + assertEquals(1024, jobSkylineLists.get(recurrenceId).get(0).getContainerSpec() .getMemorySize()); - Assert.assertEquals(1, + assertEquals(1, jobSkylineLists.get(recurrenceId).get(0).getContainerSpec() .getVirtualCores()); } - @After public final void cleanUp() { + @AfterEach + public final void cleanUp() { skylineStore = null; logParserUtil = null; } --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org