/** {@inheritDoc} */ @Override public void testStopped(final Result result) { LOGGER.info("result is : ---- " + result.getAssert() + " ----"); long cost = System.currentTimeMillis() - currentTestStartTime; ResultItem item = new ResultItem(); item.id = currentTestCase.getId(); item.res = result.getAssert(); item.notes = result.getReason(); item.costInMS = cost; item.spec = currentTestCase.getSpecSection(); item.desc = currentTestCase.getDescription(); String prefix = "" + currentTestCase.getId() + "."; if (result.getAssert() != TestResult.SKIP) { final PatternLayout layout = new PatternLayout(); layout.setConversionPattern("%6r [%-20.20t] %-5p %30.30c (%6L) %x %m%n"); final File remoteFile = new File(reportDir, prefix + "remote.log"); final File localFile = new File(reportDir, prefix + "local.log"); final File resourceFile = new File(reportDir, prefix + "resource.log"); try { remoteAppender.writeToFile(layout, remoteFile); item.remoteLogURI = "file:" + remoteFile.getName(); boolean hasError = remoteAppender.hasErrorLevelEvent(); item.hasErrorLevelLog = Boolean.toString(hasError); localAppender.writeToFile(layout, localFile); item.localLogURI = "file:" + localFile.getName(); resourceAppender.writeToFile(layout, resourceFile); item.resourceLog = filterReturn(resourceAppender); } catch (IOException e) { LOGGER.error(e.getMessage(), e); return; } } reportDoc.add(item); currentTestCase = null; // write to file. final File report = new File(reportDir, reportName); try { LOGGER.info("writing report to: '" + report.getCanonicalPath() + "'"); writeReport(report); } catch (IOException e) { LOGGER.error("error writing the report", e); } }