diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java index 2e628aca3bdd..3994d8975339 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java +++ b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGConsoleView.java @@ -109,19 +109,20 @@ public class TestNGConsoleView extends BaseTestsOutputConsoleView { if (testNGResults != null) { int exceptionMark = myExceptionalMark == -1 ? 0 : myExceptionalMark; - final String stackTrace = result.getStackTrace(); - if (stackTrace != null && stackTrace.length() > 10) { - exceptionMark = currentTest.getCurrentSize(); - //trim useless crud from stacktrace - String trimmed = trimStackTrace(stackTrace); - List printables = getPrintables(result, trimmed); - for (Printable printable : printables) { - currentTest.addLast(printable); + if (currentTest != null) { + final String stackTrace = result.getStackTrace(); + if (stackTrace != null && stackTrace.length() > 10) { + exceptionMark = currentTest.getCurrentSize(); + //trim useless crud from stacktrace + List printables = getPrintables(result); + for (Printable printable : printables) { + currentTest.addLast(printable); + } + } + final TestProxy failedToStart = testNGResults.getFailedToStart(); + if (failedToStart != null) { + currentTest.addChild(failedToStart); } - } - final TestProxy failedToStart = testNGResults.getFailedToStart(); - if (failedToStart != null) { - currentTest.addChild(failedToStart); } testNGResults.addTestResult(result, exceptionMark); myExceptionalMark = -1; @@ -166,7 +167,8 @@ public class TestNGConsoleView extends BaseTestsOutputConsoleView { return builder.toString(); } - private List getPrintables(final TestResultMessage result, String s) { + static List getPrintables(final TestResultMessage result) { + String s = trimStackTrace(result.getStackTrace()); List printables = new ArrayList(); //figure out if we have a diff we need to hyperlink Matcher matcher = COMPARISION_PATTERN.matcher(s); diff --git a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGResults.java b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGResults.java index a461a5609ea9..0106adca373b 100644 --- a/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGResults.java +++ b/plugins/testng/src/com/theoryinpractice/testng/ui/TestNGResults.java @@ -241,6 +241,13 @@ public class TestNGResults extends TestResultsPanel implements TestFrameworkRunn else { //do not remember testresultmessage: test hierarchy is not set testCase = new TestProxy(result.toDisplayString()); + final String stackTrace = result.getStackTrace(); + if (stackTrace != null) { + final List printables = TestNGConsoleView.getPrintables(result); + for (Printable printable : printables) { + testCase.addLast(printable); + } + } failedToStart = testCase; }