Source:
<code>private SuiteResult(File xmlReport, Element suite, boolean keepLongStdio, @CheckForNull String archiveId) throws DocumentException, IOException { this.archiveId = Util.fixEmptyAndTrim(archiveId); <START> this.file = xmlReport.getAbsolutePath(); <END> final String name = suite.attributeValue("name"); StringBuilder nameBuilder = new StringBuilder(""); if(name==null) { nameBuilder.append('(').append(xmlReport.getName()).append(')'); } else { String pkg = suite.attributeValue("package"); if(pkg != null && pkg.length() > 0) { nameBuilder.append(pkg).append('.'); } nameBuilder.append(name); } this.name = TestObject.safe(nameBuilder.toString()); this.timestamp = suite.attributeValue("timestamp"); this.id = suite.attributeValue("id"); Element ex = suite.element("error"); if(ex!=null) { addCase(new CaseResult(this, suite, "<init>", keepLongStdio, archiveId)); } @SuppressWarnings("unchecked") List<Element> testCases = (List<Element>)suite.elements("testcase"); for (Element e : testCases) { String classname = e.attributeValue("classname"); if (classname == null) { classname = suite.attributeValue("name"); } addCase(new CaseResult(this, e, classname, keepLongStdio, archiveId)); } String stdout = CaseResult.possiblyTrimStdio(cases, keepLongStdio, suite.elementText("system-out")); String stderr = CaseResult.possiblyTrimStdio(cases, keepLongStdio, suite.elementText("system-err")); if (stdout==null && stderr==null) { Matcher m = SUREFIRE_FILENAME.matcher(xmlReport.getName()); if (m.matches()) { File mavenOutputFile = new File(xmlReport.getParentFile(),m.group(1)+"-output.txt"); if (mavenOutputFile.exists()) { try { stdout = CaseResult.possiblyTrimStdio(cases, keepLongStdio, mavenOutputFile); } catch (IOException e) { throw new IOException("Failed to read "+mavenOutputFile,e); } } } } this.stdout = stdout; this.stderr = stderr; }</code><technical_language>Absolute path</technical_language>

Target:
private SuiteResult(File xmlReport, Element suite, boolean keepLongStdio, @CheckForNull String archiveId) throws DocumentException, IOException { this.archiveId = Util.fixEmptyAndTrim(archiveId); this.file = xmlReport.getAbsolutePath(); final String name = suite.attributeValue("name"); StringBuilder nameBuilder = new StringBuilder(""); if(name==null) { nameBuilder.append('(').append(xmlReport.getName()).append(')'); } else { String pkg = suite.attributeValue("package"); if(pkg != null && pkg.length() > 0) { nameBuilder.append(pkg).append('.'); } nameBuilder.append(name); } this.name = TestObject.safe(nameBuilder.toString()); this.timestamp = suite.attributeValue("timestamp"); this.id = suite.attributeValue("id"); Element ex = suite.element("error"); if(ex!=null) { addCase(new CaseResult(this, suite, "<init>", keepLongStdio)); } @SuppressWarnings("unchecked") List<Element> testCases = (List<Element>)suite.elements("testcase"); for (Element e : testCases) { String classname = e.attributeValue("classname"); if (classname == null) { classname = suite.attributeValue("name"); } addCase(new CaseResult(this, e, classname, keepLongStdio)); } String stdout = CaseResult.possiblyTrimStdio(cases, keepLongStdio, suite.elementText("system-out")); String stderr = CaseResult.possiblyTrimStdio(cases, keepLongStdio, suite.elementText("system-err")); if (stdout==null && stderr==null) { Matcher m = SUREFIRE_FILENAME.matcher(xmlReport.getName()); if (m.matches()) { File mavenOutputFile = new File(xmlReport.getParentFile(),m.group(1)+"-output.txt"); if (mavenOutputFile.exists()) { try { stdout = CaseResult.possiblyTrimStdio(cases, keepLongStdio, mavenOutputFile); } catch (IOException e) { throw new IOException("Failed to read "+mavenOutputFile,e); } } } } this.stdout = stdout; this.stderr = stderr; }