Skip to content

Commit d5f483e

Browse files
authored
Avoid NPE from CaseResult.getName() (#152)
1 parent 3792478 commit d5f483e

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -320,9 +320,9 @@ private String getNameWithEnclosingBlocks(String rawName) {
320320
*/
321321
@Exported(visibility=999)
322322
public @Override String getName() {
323-
if (testName.isEmpty()) {
324-
return "(?)";
325-
}
323+
if (StringUtils.isEmpty(testName)) {
324+
return "(?)";
325+
}
326326
return testName;
327327
}
328328

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -271,6 +271,14 @@ public boolean perform(AbstractBuild<?, ?> build, Launcher launcher, BuildListen
271271
return rule.assertBuildStatus(Result.UNSTABLE, p.scheduleBuild2(0).get());
272272
}
273273

274+
@Test
275+
public void emptyName() throws Exception {
276+
FreeStyleProject p = rule.createFreeStyleProject();
277+
rule.jenkins.getWorkspaceFor(p).child("x.xml").write("<testsuite><testcase classname=''></testcase></testsuite>", null);
278+
p.getPublishersList().add(new JUnitResultArchiver("x.xml"));
279+
rule.buildAndAssertSuccess(p);
280+
}
281+
274282
private String composeXPath(String[] fields) throws Exception {
275283
StringBuilder tmp = new StringBuilder(100);
276284
for ( String f : fields ) {

0 commit comments

Comments
 (0)