MAPREDUCE-7459. Fixed TestHistoryViewerPrinter flakiness during string comparison (#6215). Contributed by Rajiv Ramachandran.

Reviewed-by: Inigo Goiri <inigoiri@apache.org>
Signed-off-by: Ayush Saxena <ayushsaxena@apache.org>
This commit is contained in:
rRajivramachandran 2023-11-03 20:53:50 -05:00 committed by GitHub
parent 5b215f23d5
commit d6bb47e5db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -24,6 +24,7 @@
import org.apache.hadoop.mapreduce.JobID; import org.apache.hadoop.mapreduce.JobID;
import org.apache.hadoop.mapreduce.JobStatus; import org.apache.hadoop.mapreduce.JobStatus;
import org.apache.hadoop.mapreduce.TaskType; import org.apache.hadoop.mapreduce.TaskType;
import org.assertj.core.api.Assertions;
import org.junit.AfterClass; import org.junit.AfterClass;
import org.junit.Assert; import org.junit.Assert;
import org.junit.BeforeClass; import org.junit.BeforeClass;
@ -35,7 +36,9 @@
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.PrintStream; import java.io.PrintStream;
import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.TimeZone; import java.util.TimeZone;
import java.util.Locale; import java.util.Locale;
@ -160,6 +163,13 @@ public void testHumanPrinter() throws Exception {
LINE_SEPARATOR, outStr); LINE_SEPARATOR, outStr);
} }
private static void assertEqualLines(String str1, String str2) {
final List<String> linesFromStr1 = Arrays.asList(str1.trim().split("\n"));
final List<String> linesFromStr2 = Arrays.asList(str2.trim().split("\n"));
Assertions.assertThat(linesFromStr1).containsExactlyInAnyOrderElementsOf(linesFromStr2);
}
@Test @Test
public void testHumanPrinterAll() throws Exception { public void testHumanPrinterAll() throws Exception {
JobHistoryParser.JobInfo job = createJobInfo(); JobHistoryParser.JobInfo job = createJobInfo();
@ -168,7 +178,7 @@ public void testHumanPrinterAll() throws Exception {
TimeZone.getTimeZone("GMT")); TimeZone.getTimeZone("GMT"));
String outStr = run(printer); String outStr = run(printer);
if (System.getProperty("java.version").startsWith("1.7")) { if (System.getProperty("java.version").startsWith("1.7")) {
Assert.assertEquals("\n" + assertEqualLines("\n" +
"Hadoop job: job_1317928501754_0001\n" + "Hadoop job: job_1317928501754_0001\n" +
"=====================================\n" + "=====================================\n" +
"User: rkanter\n" + "User: rkanter\n" +
@ -356,7 +366,7 @@ public void testHumanPrinterAll() throws Exception {
"localhost\ttask_1317928501754_0001_m_000002, " + "localhost\ttask_1317928501754_0001_m_000002, " +
LINE_SEPARATOR, outStr); LINE_SEPARATOR, outStr);
} else { } else {
Assert.assertEquals("\n" + assertEqualLines("\n" +
"Hadoop job: job_1317928501754_0001\n" + "Hadoop job: job_1317928501754_0001\n" +
"=====================================\n" + "=====================================\n" +
"User: rkanter\n" + "User: rkanter\n" +