summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2011-12-01 10:23:44 -0600
committerEndi S. Dewata <edewata@redhat.com>2011-12-05 19:41:23 +0000
commit8bcaa20e72e97b9392cc65bd3428a93170720b77 (patch)
tree558efab5bf357a4b26d1d36dce621333005e29a3
parent343a8af9f302fbdcc183db88676e5a281641208f (diff)
downloadpki-8bcaa20e72e97b9392cc65bd3428a93170720b77.tar.gz
pki-8bcaa20e72e97b9392cc65bd3428a93170720b77.tar.xz
pki-8bcaa20e72e97b9392cc65bd3428a93170720b77.zip
Fixed stack trace in test report.
The report generator has been fixed to show the stack trace from the test source code. Ticket #36
-rw-r--r--pki/base/common/test/com/netscape/test/TestListener.java23
1 files changed, 19 insertions, 4 deletions
diff --git a/pki/base/common/test/com/netscape/test/TestListener.java b/pki/base/common/test/com/netscape/test/TestListener.java
index 1322f414..af6c9bf7 100644
--- a/pki/base/common/test/com/netscape/test/TestListener.java
+++ b/pki/base/common/test/com/netscape/test/TestListener.java
@@ -23,7 +23,6 @@ import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import org.junit.runner.notification.RunListener;
-import org.w3c.dom.CDATASection;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
@@ -217,15 +216,31 @@ public class TestListener extends RunListener {
testCaseElement.appendChild(failureElement);
Description description = failure.getDescription();
- String exceptionName = failure.getException().getClass().getName();
+ Throwable exception = failure.getException();
+ String exceptionName = exception.getClass().getName();
failureElement.setAttribute("message", failure.getMessage());
failureElement.setAttribute("type", exceptionName);
Text messageElement = document.createTextNode(
- exceptionName + ": " +failure.getMessage() + "\n\tat " +
- description.getClassName() + "." + description.getMethodName() + "()"
+ exceptionName + ": " +failure.getMessage() + "\n"
);
+
+ // print stack trace
+ for (StackTraceElement element : exception.getStackTrace()) {
+ if (!element.getClassName().equals(description.getClassName())) continue;
+
+ String source = "Unknown Source";
+ if (element.getFileName() != null && element.getLineNumber() >= 0) {
+ source = element.getFileName() + ":" + element.getLineNumber();
+ }
+
+ messageElement.appendData("\tat " +
+ element.getClassName() + "." + element.getMethodName() +
+ "(" + source + ")\n"
+ );
+ }
+
failureElement.appendChild(messageElement);
failureCount++;