Skip to content

Commit f58164a

Browse files
committed
simplify code
Signed-off-by: Olivier Lamy <[email protected]>
1 parent 0a33e5e commit f58164a

File tree

6 files changed

+45
-118
lines changed

6 files changed

+45
-118
lines changed

src/main/java/hudson/tasks/junit/CaseResult.java

Lines changed: 24 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ public class CaseResult extends TestResult implements Comparable<CaseResult> {
8484
private String errorStackTrace;
8585
private String errorDetails;
8686
private Map<String, String> properties;
87-
private List<FlakyFailure> flakyFailures;
88-
private List<RerunFailure> rerunFailures;
87+
private List<Failure> flakyFailures;
88+
private List<Failure> rerunFailures;
8989

9090
@SuppressFBWarnings(value = "SE_TRANSIENT_FIELD_NOT_RESTORED", justification = "Specific method to restore it")
9191
private transient SuiteResult parent;
@@ -275,8 +275,8 @@ public static float clampDuration(float d) {
275275
return Math.min(365.0f * 24 * 60 * 60, Math.max(0.0f, d));
276276
}
277277

278-
private static List<FlakyFailure> parseFlakyFailures(Element testCase) {
279-
List<FlakyFailure> flakyFailures = new ArrayList<>();
278+
private static List<Failure> parseFlakyFailures(Element testCase) {
279+
List<Failure> failures = new ArrayList<>();
280280
List<Element> flakyFailuresElements = testCase.elements("flakyFailure");
281281
if (flakyFailuresElements != null) {
282282
for (Element flakyFailuresElement : flakyFailuresElements) {
@@ -285,14 +285,14 @@ private static List<FlakyFailure> parseFlakyFailures(Element testCase) {
285285
String stackTrace = flakyFailuresElement.elementText("stackTrace");
286286
String stdout = flakyFailuresElement.elementText("system-out");
287287
String stderr = flakyFailuresElement.elementText("system-err");
288-
flakyFailures.add(new FlakyFailure(message, type, stackTrace, stdout, stderr));
288+
failures.add(new Failure(message, type, stackTrace, stdout, stderr));
289289
}
290290
}
291-
return flakyFailures;
291+
return failures;
292292
}
293293

294-
private static List<RerunFailure> parseRerunFailures(Element testCase) {
295-
List<RerunFailure> rerunFailures = new ArrayList<>();
294+
private static List<Failure> parseRerunFailures(Element testCase) {
295+
List<Failure> rerunFailures = new ArrayList<>();
296296
List<Element> rerunFailureElements = testCase.elements("rerunFailure");
297297
if (rerunFailureElements != null) {
298298
for (Element rerunFailureElement : rerunFailureElements) {
@@ -301,7 +301,7 @@ private static List<RerunFailure> parseRerunFailures(Element testCase) {
301301
String stackTrace = rerunFailureElement.elementText("stackTrace");
302302
String stdout = rerunFailureElement.elementText("system-out");
303303
String stderr = rerunFailureElement.elementText("system-err");
304-
rerunFailures.add(new RerunFailure(message, type, stackTrace, stdout, stderr));
304+
rerunFailures.add(new Failure(message, type, stackTrace, stdout, stderr));
305305
}
306306
}
307307
return rerunFailures;
@@ -359,10 +359,10 @@ static CaseResult parse(SuiteResult parent, final XMLStreamReader reader, String
359359
parseProperties(r.properties, reader, context, ver);
360360
break;
361361
case "flakyFailures":
362-
r.flakyFailures = parseFlakyFailures(reader, context, ver);
362+
r.flakyFailures = parseFailures(reader, context, "flakyFailures");
363363
break;
364364
case "rerunFailures":
365-
r.rerunFailures = parseRerunFailures(reader, context, ver);
365+
r.rerunFailures = parseFailures(reader, context, "rerunFailures");
366366
break;
367367
default:
368368
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
@@ -372,98 +372,35 @@ static CaseResult parse(SuiteResult parent, final XMLStreamReader reader, String
372372
return r;
373373
}
374374

375-
static List<FlakyFailure> parseFlakyFailures(final XMLStreamReader reader, String context, String ver)
375+
static List<Failure> parseFailures(final XMLStreamReader reader, String context, String endElement)
376376
throws XMLStreamException {
377-
List<FlakyFailure> flakyFailures = new ArrayList<>();
377+
List<Failure> failures = new ArrayList<>();
378378
while (reader.hasNext()) {
379379
final int event = reader.next();
380-
if (event == XMLStreamReader.END_ELEMENT && reader.getLocalName().equals("flakyFailures")) {
380+
if (event == XMLStreamReader.END_ELEMENT && reader.getLocalName().equals(endElement)) {
381381
break;
382382
}
383383
if (event == XMLStreamReader.START_ELEMENT) {
384384
final String elementName = reader.getLocalName();
385-
switch (elementName) {
386-
case "flakyFailure":
387-
flakyFailures.add(parseFlakyFailure(reader, context, ver));
388-
break;
389-
default:
390-
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
385+
if (elementName.equals("failure")) {
386+
failures.add(parseFailure(reader, context));
387+
} else {
388+
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
391389
}
392390
}
393391
}
394-
return flakyFailures;
392+
return failures;
395393
}
396394

397-
public static FlakyFailure parseFlakyFailure(XMLStreamReader reader, String context, String ver)
398-
throws XMLStreamException {
399-
String message = null;
400-
String type = null;
401-
String stackTrace = null;
402-
String stdout = null;
403-
String stderr = null;
404-
while (reader.hasNext()) {
405-
int event = reader.next();
406-
if (event == XMLStreamReader.END_ELEMENT && "flakyFailure".equals(reader.getLocalName())) {
407-
break;
408-
}
409-
if (event == XMLStreamReader.START_ELEMENT) {
410-
String elementName = reader.getLocalName();
411-
switch (elementName) {
412-
case "message":
413-
message = reader.getElementText();
414-
break;
415-
case "type":
416-
type = reader.getElementText();
417-
break;
418-
case "stackTrace":
419-
stackTrace = reader.getElementText();
420-
break;
421-
case "stdout":
422-
stdout = reader.getElementText();
423-
break;
424-
case "stderr":
425-
stderr = reader.getElementText();
426-
break;
427-
default:
428-
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
429-
}
430-
}
431-
}
432-
return new FlakyFailure(message, type, stackTrace, stdout, stderr);
433-
}
434-
435-
static List<RerunFailure> parseRerunFailures(final XMLStreamReader reader, String context, String ver)
436-
throws XMLStreamException {
437-
List<RerunFailure> rerunFailures = new ArrayList<>();
438-
while (reader.hasNext()) {
439-
final int event = reader.next();
440-
if (event == XMLStreamReader.END_ELEMENT && reader.getLocalName().equals("rerunFailures")) {
441-
break;
442-
}
443-
if (event == XMLStreamReader.START_ELEMENT) {
444-
final String elementName = reader.getLocalName();
445-
switch (elementName) {
446-
case "rerunFailure":
447-
rerunFailures.add(parseRerunFailure(reader, context, ver));
448-
break;
449-
default:
450-
LOGGER.finest(() -> "Unknown field in " + context + ": " + elementName);
451-
}
452-
}
453-
}
454-
return rerunFailures;
455-
}
456-
457-
public static RerunFailure parseRerunFailure(XMLStreamReader reader, String context, String ver)
458-
throws XMLStreamException {
395+
public static Failure parseFailure(XMLStreamReader reader, String context) throws XMLStreamException {
459396
String message = null;
460397
String type = null;
461398
String stackTrace = null;
462399
String stdout = null;
463400
String stderr = null;
464401
while (reader.hasNext()) {
465402
int event = reader.next();
466-
if (event == XMLStreamReader.END_ELEMENT && "rerunFailure".equals(reader.getLocalName())) {
403+
if (event == XMLStreamReader.END_ELEMENT && "failure".equals(reader.getLocalName())) {
467404
break;
468405
}
469406
if (event == XMLStreamReader.START_ELEMENT) {
@@ -489,7 +426,7 @@ public static RerunFailure parseRerunFailure(XMLStreamReader reader, String cont
489426
}
490427
}
491428
}
492-
return new RerunFailure(message, type, stackTrace, stdout, stderr);
429+
return new Failure(message, type, stackTrace, stdout, stderr);
493430
}
494431

495432
static void parseProperties(Map<String, String> r, final XMLStreamReader reader, String context, String ver)
@@ -1206,13 +1143,13 @@ void replaceParent(SuiteResult parent) {
12061143

12071144
@Exported
12081145
@Override
1209-
public List<FlakyFailure> getFlakyFailures() {
1146+
public List<Failure> getFlakyFailures() {
12101147
return flakyFailures == null ? Collections.emptyList() : Collections.unmodifiableList(flakyFailures);
12111148
}
12121149

12131150
@Exported
12141151
@Override
1215-
public List<RerunFailure> getRerunFailures() {
1152+
public List<Failure> getRerunFailures() {
12161153
return rerunFailures == null ? Collections.emptyList() : Collections.unmodifiableList(rerunFailures);
12171154
}
12181155

src/main/java/hudson/tasks/junit/FlakyFailure.java renamed to src/main/java/hudson/tasks/junit/Failure.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@
44
import org.kohsuke.stapler.export.ExportedBean;
55

66
@ExportedBean
7-
public record FlakyFailure(String message, String type, String stackTrace, String stdout, String stderr)
7+
public record Failure(String message, String type, String stackTrace, String stdout, String stderr)
88
implements Serializable {}

src/main/java/hudson/tasks/junit/RerunFailure.java

Lines changed: 0 additions & 8 deletions
This file was deleted.

src/main/java/hudson/tasks/junit/TestResultAction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -427,8 +427,7 @@ public Widget getWidget() {
427427
XSTREAM.alias("result", TestResult.class);
428428
XSTREAM.alias("suite", SuiteResult.class);
429429
XSTREAM.alias("case", CaseResult.class);
430-
XSTREAM.alias("flakyFailure", FlakyFailure.class);
431-
XSTREAM.alias("rerunFailure", RerunFailure.class);
430+
XSTREAM.alias("failure", Failure.class);
432431
XSTREAM.registerConverter(new HeapSpaceStringConverter(), 100);
433432
}
434433
}

src/main/java/hudson/tasks/test/TestResult.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@
2626
import hudson.model.Job;
2727
import hudson.model.Result;
2828
import hudson.model.Run;
29-
import hudson.tasks.junit.FlakyFailure;
30-
import hudson.tasks.junit.RerunFailure;
29+
import hudson.tasks.junit.Failure;
3130
import hudson.tasks.junit.TestAction;
3231
import java.util.Collection;
3332
import java.util.Collections;
@@ -266,11 +265,11 @@ public Map<String, String> getProperties() {
266265
return Collections.emptyMap();
267266
}
268267

269-
public List<FlakyFailure> getFlakyFailures() {
268+
public List<Failure> getFlakyFailures() {
270269
return Collections.emptyList();
271270
}
272271

273-
public List<RerunFailure> getRerunFailures() {
272+
public List<Failure> getRerunFailures() {
274273
return Collections.emptyList();
275274
}
276275

src/test/java/hudson/tasks/junit/TestResultTest.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -442,19 +442,19 @@ void bigResultReadWrite() throws Exception {
442442
TestResult tr = new TestResult();
443443
tr.getSuites().add(sr);
444444

445-
List<FlakyFailure> flakyFailures =
445+
List<Failure> failures =
446446
tr.getSuites().stream().map(SuiteResult::getCases).flatMap(Collection::stream).toList().stream()
447447
.map(CaseResult::getFlakyFailures)
448-
.filter(failures -> !failures.isEmpty())
448+
.filter(flakyFailures -> !flakyFailures.isEmpty())
449449
.flatMap(Collection::stream)
450450
.toList();
451451

452-
assertEquals(2, flakyFailures.size());
453-
assertNotNull(flakyFailures.get(0).message());
454-
assertNotNull(flakyFailures.get(0).type());
455-
assertNotNull(flakyFailures.get(0).stackTrace());
456-
assertNotNull(flakyFailures.get(0).stdout());
457-
assertNotNull(flakyFailures.get(0).stderr());
452+
assertEquals(2, failures.size());
453+
assertNotNull(failures.get(0).message());
454+
assertNotNull(failures.get(0).type());
455+
assertNotNull(failures.get(0).stackTrace());
456+
assertNotNull(failures.get(0).stdout());
457+
assertNotNull(failures.get(0).stderr());
458458

459459
XmlFile f = new XmlFile(TestResultAction.XSTREAM, File.createTempFile("junitResult.xml", null, tmp));
460460
f.write(tr);
@@ -522,16 +522,16 @@ void includeFlakyAndRerun() throws Exception {
522522
.size(),
523523
"Wrong number of flayfailures");
524524

525-
FlakyFailure flakyFailure = flakySuiteResult
525+
Failure failure = flakySuiteResult
526526
.getCase("io.olamy.FlakyTest.testApp")
527527
.getFlakyFailures()
528528
.get(0);
529-
assertNotNull(flakyFailure);
530-
assertEquals("junit.framework.AssertionFailedError", flakyFailure.type());
531-
assertEquals("obvious fail", flakyFailure.message());
532-
assertTrue(flakyFailure.stackTrace().contains("at io.olamy.FlakyTest.testApp(FlakyTest.java:27)"));
533-
assertEquals("this will fail maybe", flakyFailure.stdout().trim());
534-
assertEquals("this will maybe fail", flakyFailure.stderr().trim());
529+
assertNotNull(failure);
530+
assertEquals("junit.framework.AssertionFailedError", failure.type());
531+
assertEquals("obvious fail", failure.message());
532+
assertTrue(failure.stackTrace().contains("at io.olamy.FlakyTest.testApp(FlakyTest.java:27)"));
533+
assertEquals("this will fail maybe", failure.stdout().trim());
534+
assertEquals("this will maybe fail", failure.stderr().trim());
535535

536536
TestResult tr = new TestResult();
537537
tr.getSuites().add(flakySuiteResult);
@@ -577,7 +577,7 @@ void includeFlakyAndRerun() throws Exception {
577577
.size(),
578578
"Wrong number of rerun failures");
579579

580-
RerunFailure rerunFailure = rerunSuite
580+
Failure rerunFailure = rerunSuite
581581
.getCase("io.olamy.AlwaysFailTest.testApp")
582582
.getRerunFailures()
583583
.get(0);

0 commit comments

Comments
 (0)