From feb2b86533803ed7781e7b87e2bc8efae068ac28 Mon Sep 17 00:00:00 2001 From: Peter Wessels Date: Fri, 28 Oct 2022 20:56:59 +0200 Subject: [PATCH 1/6] [SUREFIRE-1887] trim stacktrace up until test class --- .../surefire/report/PojoStackTraceWriter.java | 18 ++++++- .../report/SmartStackTraceParser.java | 47 +++++++++++++++++++ .../report/PojoStackTraceWriterTest.java | 33 +++++++++++++ 3 files changed, 96 insertions(+), 2 deletions(-) diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java index d6d9703abd..8fa06e0e97 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java @@ -55,10 +55,19 @@ public String writeTraceToString() if ( t != null ) { StringWriter w = new StringWriter(); - try ( PrintWriter stackTrace = new PrintWriter( w ) ) + + if ( testClass != null ) + { + return trimmedStackTrace(); + } + else { - t.printStackTrace( stackTrace ); + try ( PrintWriter stackTrace = new PrintWriter( w ) ) + { + t.printStackTrace( stackTrace ); + } } + StringBuffer builder = w.getBuffer(); if ( isMultiLineExceptionMessage( t ) ) { @@ -74,6 +83,11 @@ public String writeTraceToString() return ""; } + public String trimmedStackTrace() + { + return t == null ? "" : new SmartStackTraceParser( testClass, t, testMethod ).getTrimmedStackTrace( ); + } + @Override public String smartTrimmedStackTrace() { diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java index 3770f2bab4..58029ce43b 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java @@ -74,6 +74,15 @@ private static String toSimpleClassName( String className ) return className.substring( i + 1 ); } + public String getTrimmedStackTrace( ) + { + StackTraceFilter filter = new ClassNameStackTraceFilter( testClassName ); + Throwable topmost = findTopmostWithClass( throwable.getTarget(), filter ); + List stackTraceElements = asList( topmost.getStackTrace() ); + String s = causeToString( topmost.getCause(), filter ); + return toTrimmedString( throwable.getTarget(), stackTraceElements, filter ) + s; + } + @SuppressWarnings( "ThrowableResultOfMethodCallIgnored" ) public String getString() { @@ -258,6 +267,44 @@ private static String causeToString( Throwable cause, StackTraceFilter filter ) return resp.toString(); } + private static String toTrimmedString( Throwable t, Iterable elements, StackTraceFilter filter ) + { + StringBuilder result = new StringBuilder(); + if ( t != null ) + { + result.append( t.getClass().getName() ); + String msg = t.getMessage(); + if ( msg != null ) + { + result.append( ": " ); + if ( isMultiLine( msg ) ) + { + // SUREFIRE-986 + result.append( '\n' ); + } + result.append( msg ); + } + result.append( '\n' ); + } + + boolean matched = false; + for ( StackTraceElement element : elements ) + { + if ( filter.matches( element ) ) + { + matched = true; + } + + if ( filter.matches( element ) || !matched ) + { + result.append( "\tat " ) + .append( element ) + .append( '\n' ); + } + } + return result.toString(); + } + private static String toString( Throwable t, Iterable elements, StackTraceFilter filter ) { StringBuilder result = new StringBuilder(); diff --git a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java index 69a3db06d7..9e0a3bdf29 100644 --- a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java +++ b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java @@ -21,6 +21,8 @@ import junit.framework.TestCase; +import static org.assertj.core.api.Assertions.assertThat; + /** * */ @@ -56,6 +58,37 @@ public void testMultiLineMessage() } } + public void testTrimmedStackTrace( ) + { + Throwable throwable = new Exception( "" ); + + try + { + throwExceptionFromTestClass( ); + } + catch ( Throwable t ) + { + throwable = t; + } + PojoStackTraceWriter a = new PojoStackTraceWriter( + "org.apache.maven.surefire.report.PojoStackTraceWriterTest", null, throwable + ); + String result = a.trimmedStackTrace(); + + assertThat( result ).contains( "org.apache.maven.surefire.report.PojoStackTraceWriterTest." + + "throwExceptionFromTestClass(PojoStackTraceWriterTest.java" ); + assertThat( result ).contains( "org.apache.maven.surefire.report.PojoStackTraceWriterTest." + + "testTrimmedStackTrace(PojoStackTraceWriterTest.java" ); + assertThat( result ).hasLineCount( 8 ); + assertThat( result ).contains( "Caused by: java.lang.Exception: Hey ho, hey ho, a throwable we throw!" ); + } + + public void throwExceptionFromTestClass() throws Exception + { + Object call = new RunnableTestClass1().call(); + throw new IllegalStateException( "illegal state", (Throwable) call ); + } + static class ATestClass { static class AnotherTestClass From 5a72761f1b236e4d593c315c77249b560960b83b Mon Sep 17 00:00:00 2001 From: Peter Wessels Date: Sat, 29 Oct 2022 13:23:08 +0200 Subject: [PATCH 2/6] [SUREFIRE-1887] integrate trimmed stacktrace in the current implementation of the trimStackTrace trimStackTrace is implemented as an option. This change integrates the change of this issue in this feature. --- .../surefire/report/PojoStackTraceWriter.java | 91 ++++++------------- .../report/SmartStackTraceParser.java | 17 ++-- .../report/PojoStackTraceWriterTest.java | 2 +- 3 files changed, 39 insertions(+), 71 deletions(-) diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java index 8fa06e0e97..57bab8bcdf 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java @@ -34,48 +34,34 @@ * @author Brett Porter */ public class PojoStackTraceWriter - implements StackTraceWriter -{ + implements StackTraceWriter { private final Throwable t; private final String testClass; private final String testMethod; - public PojoStackTraceWriter( String testClass, String testMethod, Throwable t ) - { + public PojoStackTraceWriter(String testClass, String testMethod, Throwable t) { this.testClass = testClass; this.testMethod = testMethod; this.t = t; } @Override - public String writeTraceToString() - { - if ( t != null ) - { + public String writeTraceToString() { + if (t != null) { StringWriter w = new StringWriter(); - if ( testClass != null ) - { - return trimmedStackTrace(); - } - else - { - try ( PrintWriter stackTrace = new PrintWriter( w ) ) - { - t.printStackTrace( stackTrace ); - } + try (PrintWriter stackTrace = new PrintWriter(w)) { + t.printStackTrace(stackTrace); } StringBuffer builder = w.getBuffer(); - if ( isMultiLineExceptionMessage( t ) ) - { + if (isMultiLineExceptionMessage(t)) { // SUREFIRE-986 String exc = t.getClass().getName() + ": "; - if ( StringUtils.startsWith( builder, exc ) ) - { - builder.insert( exc.length(), '\n' ); + if (StringUtils.startsWith(builder, exc)) { + builder.insert(exc.length(), '\n'); } } return builder.toString(); @@ -83,70 +69,53 @@ public String writeTraceToString() return ""; } - public String trimmedStackTrace() - { - return t == null ? "" : new SmartStackTraceParser( testClass, t, testMethod ).getTrimmedStackTrace( ); - } - @Override - public String smartTrimmedStackTrace() - { - return t == null ? "" : new SmartStackTraceParser( testClass, t, testMethod ).getString(); + public String smartTrimmedStackTrace() { + return t == null ? "" : new SmartStackTraceParser(testClass, t, testMethod).getString(); } @Override - public String writeTrimmedTraceToString() - { - return t == null ? "" : SmartStackTraceParser.stackTraceWithFocusOnClassAsString( t, testClass ); + public String writeTrimmedTraceToString() { + return t == null ? "" : new SmartStackTraceParser(testClass, t, testMethod).getTrimmedStackTrace(); } @Override - public SafeThrowable getThrowable() - { - return t == null ? null : new SafeThrowable( t ); + public SafeThrowable getThrowable() { + return t == null ? null : new SafeThrowable(t); } - private static boolean isMultiLineExceptionMessage( Throwable t ) - { + private static boolean isMultiLineExceptionMessage(Throwable t) { String msg = t.getLocalizedMessage(); - if ( msg != null ) - { + if (msg != null) { int countNewLines = 0; - for ( int i = 0, length = msg.length(); i < length; i++ ) - { - if ( msg.charAt( i ) == '\n' ) - { - if ( ++countNewLines == 2 ) - { + for (int i = 0, length = msg.length(); i < length; i++) { + if (msg.charAt(i) == '\n') { + if (++countNewLines == 2) { break; } } } - return countNewLines > 1 || countNewLines == 1 && !msg.trim().endsWith( "\n" ); + return countNewLines > 1 || countNewLines == 1 && !msg.trim().endsWith("\n"); } return false; } @Override - public boolean equals( Object o ) - { - if ( this == o ) - { + public boolean equals(Object o) { + if (this == o) { return true; } - if ( o == null || getClass() != o.getClass() ) - { + if (o == null || getClass() != o.getClass()) { return false; } - PojoStackTraceWriter that = ( PojoStackTraceWriter ) o; - return Objects.equals( t, that.t ) - && Objects.equals( testClass, that.testClass ) - && Objects.equals( testMethod, that.testMethod ); + PojoStackTraceWriter that = (PojoStackTraceWriter) o; + return Objects.equals(t, that.t) + && Objects.equals(testClass, that.testClass) + && Objects.equals(testMethod, that.testMethod); } @Override - public int hashCode() - { - return Objects.hash( t, testClass, testMethod ); + public int hashCode() { + return Objects.hash(t, testClass, testMethod); } } diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java index 58029ce43b..dee4d7367b 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java @@ -74,15 +74,6 @@ private static String toSimpleClassName( String className ) return className.substring( i + 1 ); } - public String getTrimmedStackTrace( ) - { - StackTraceFilter filter = new ClassNameStackTraceFilter( testClassName ); - Throwable topmost = findTopmostWithClass( throwable.getTarget(), filter ); - List stackTraceElements = asList( topmost.getStackTrace() ); - String s = causeToString( topmost.getCause(), filter ); - return toTrimmedString( throwable.getTarget(), stackTraceElements, filter ) + s; - } - @SuppressWarnings( "ThrowableResultOfMethodCallIgnored" ) public String getString() { @@ -221,6 +212,14 @@ static Throwable findTopmostWithClass( final Throwable t, StackTraceFilter filte return t; } + public String getTrimmedStackTrace( ) { + StackTraceFilter filter = new ClassNameStackTraceFilter( testClassName ); + Throwable topmost = findTopmostWithClass( throwable.getTarget(), filter ); + List stackTraceElements = asList( topmost.getStackTrace() ); + String s = causeToString( topmost.getCause(), filter ); + return toTrimmedString( throwable.getTarget(), stackTraceElements, filter ) + s; + } + public static String stackTraceWithFocusOnClassAsString( Throwable t, String className ) { StackTraceFilter filter = new ClassNameStackTraceFilter( className ); diff --git a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java index 9e0a3bdf29..e16e7a8c27 100644 --- a/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java +++ b/surefire-providers/common-java5/src/test/java/org/apache/maven/surefire/report/PojoStackTraceWriterTest.java @@ -73,7 +73,7 @@ public void testTrimmedStackTrace( ) PojoStackTraceWriter a = new PojoStackTraceWriter( "org.apache.maven.surefire.report.PojoStackTraceWriterTest", null, throwable ); - String result = a.trimmedStackTrace(); + String result = a.writeTrimmedTraceToString(); assertThat( result ).contains( "org.apache.maven.surefire.report.PojoStackTraceWriterTest." + "throwExceptionFromTestClass(PojoStackTraceWriterTest.java" ); From 4d744eba47476a36e664b9ac218e4efa1284383f Mon Sep 17 00:00:00 2001 From: Peter Wessels Date: Sat, 29 Oct 2022 13:41:22 +0200 Subject: [PATCH 3/6] [SUREFIRE-1887] support junit 4 --- .../maven/surefire/common/junit4/JUnit4StackTraceWriter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java index 76a3b61ff2..33b0778ce1 100644 --- a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java +++ b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java @@ -99,11 +99,11 @@ public String writeTrimmedTraceToString() try { Throwable e = junitFailure.getException(); - return stackTraceWithFocusOnClassAsString( e, testClass ); + return new SmartStackTraceParser( testClass, e, null ).getTrimmedStackTrace(); } catch ( Throwable t ) { - return stackTraceWithFocusOnClassAsString( t, testClass ); + return new SmartStackTraceParser( testClass, t, null ).getTrimmedStackTrace(); } } From 6bc5acff2780ad181c41f556c74d2dc525b590ae Mon Sep 17 00:00:00 2001 From: Peter Wessels Date: Sat, 29 Oct 2022 14:17:20 +0200 Subject: [PATCH 4/6] [SUREFIRE-1887] improve test to include extra line to verify that relevant lines are included --- .../api/report/LegacyPojoStackTraceWriterTest.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/surefire-api/src/test/java/org/apache/maven/surefire/api/report/LegacyPojoStackTraceWriterTest.java b/surefire-api/src/test/java/org/apache/maven/surefire/api/report/LegacyPojoStackTraceWriterTest.java index f2c8e85602..da8c07797b 100644 --- a/surefire-api/src/test/java/org/apache/maven/surefire/api/report/LegacyPojoStackTraceWriterTest.java +++ b/surefire-api/src/test/java/org/apache/maven/surefire/api/report/LegacyPojoStackTraceWriterTest.java @@ -34,6 +34,7 @@ public void testWriteTrimmedTraceToString() { String stackTrace = "junit.framework.AssertionFailedError: blah\n" + " at junit.framework.Assert.fail(Assert.java:47)\n" + + " at AnotherClass.execute(AnotherClass.java:60)\n" + " at TestSurefire3.testQuote(TestSurefire3.java:23)\n" + " at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" + " at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\n" @@ -64,7 +65,10 @@ public void testWriteTrimmedTraceToString() MockThrowable t = new MockThrowable( stackTrace ); LegacyPojoStackTraceWriter w = new LegacyPojoStackTraceWriter( "TestSurefire3", "testQuote", t ); String out = w.writeTrimmedTraceToString(); - String expected = "junit.framework.AssertionFailedError: blah\n" + " at junit.framework.Assert.fail(Assert.java:47)\n" + " at TestSurefire3.testQuote(TestSurefire3.java:23)\n"; + String expected = "junit.framework.AssertionFailedError: blah\n" + + " at junit.framework.Assert.fail(Assert.java:47)\n" + + " at AnotherClass.execute(AnotherClass.java:60)\n" + + " at TestSurefire3.testQuote(TestSurefire3.java:23)\n"; assertEquals( expected, out ); } @@ -72,6 +76,7 @@ public void testWriteTrimmedTraceToString() public void testCausedBy() { String stackTrace = "java.lang.RuntimeException: blah\n" + + " at AnotherClass.execute(AnotherClass.java:60)\n" + " at TestSurefire3.testBlah(TestSurefire3.java:45)\n" + " at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n" + " at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\n" @@ -109,6 +114,7 @@ public void testCausedBy() LegacyPojoStackTraceWriter w = new LegacyPojoStackTraceWriter( "TestSurefire3", "testBlah", t ); String out = w.writeTrimmedTraceToString(); String expected = "java.lang.RuntimeException: blah\n" + + " at AnotherClass.execute(AnotherClass.java:60)\n" + " at TestSurefire3.testBlah(TestSurefire3.java:45)\n" + "Caused by: junit.framework.AssertionFailedError: \"\n" + " at junit.framework.Assert.fail(Assert.java:47)\n" From 4a31f0688c2bcf358210d0b480abe4f7d2ccda69 Mon Sep 17 00:00:00 2001 From: Giovanni van der Schelde Date: Sat, 29 Oct 2022 14:48:00 +0200 Subject: [PATCH 5/6] [SUREFIRE-1887] Fix checkstyle --- .../surefire/report/PojoStackTraceWriter.java | 77 ++++++++++++------- .../report/SmartStackTraceParser.java | 3 +- .../common/junit4/JUnit4StackTraceWriter.java | 1 - 3 files changed, 50 insertions(+), 31 deletions(-) diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java index 57bab8bcdf..c4f5561f3f 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java @@ -34,34 +34,41 @@ * @author Brett Porter */ public class PojoStackTraceWriter - implements StackTraceWriter { + implements StackTraceWriter +{ private final Throwable t; private final String testClass; private final String testMethod; - public PojoStackTraceWriter(String testClass, String testMethod, Throwable t) { + public PojoStackTraceWriter( String testClass, String testMethod, Throwable t ) + { this.testClass = testClass; this.testMethod = testMethod; this.t = t; } @Override - public String writeTraceToString() { - if (t != null) { + public String writeTraceToString() + { + if ( t != null ) + { StringWriter w = new StringWriter(); - try (PrintWriter stackTrace = new PrintWriter(w)) { - t.printStackTrace(stackTrace); + try ( PrintWriter stackTrace = new PrintWriter( w ) ) + { + t.printStackTrace( stackTrace ); } StringBuffer builder = w.getBuffer(); - if (isMultiLineExceptionMessage(t)) { + if ( isMultiLineExceptionMessage( t ) ) + { // SUREFIRE-986 String exc = t.getClass().getName() + ": "; - if (StringUtils.startsWith(builder, exc)) { - builder.insert(exc.length(), '\n'); + if ( StringUtils.startsWith( builder, exc ) ) + { + builder.insert( exc.length(), '\n' ); } } return builder.toString(); @@ -70,52 +77,64 @@ public String writeTraceToString() { } @Override - public String smartTrimmedStackTrace() { - return t == null ? "" : new SmartStackTraceParser(testClass, t, testMethod).getString(); + public String smartTrimmedStackTrace() + { + return t == null ? "" : new SmartStackTraceParser( testClass, t, testMethod ).getString(); } @Override - public String writeTrimmedTraceToString() { - return t == null ? "" : new SmartStackTraceParser(testClass, t, testMethod).getTrimmedStackTrace(); + public String writeTrimmedTraceToString() + { + return t == null ? "" : new SmartStackTraceParser( testClass, t, testMethod ).getTrimmedStackTrace(); } @Override - public SafeThrowable getThrowable() { - return t == null ? null : new SafeThrowable(t); + public SafeThrowable getThrowable() + { + return t == null ? null : new SafeThrowable( t ); } - private static boolean isMultiLineExceptionMessage(Throwable t) { + private static boolean isMultiLineExceptionMessage( Throwable t ) + { String msg = t.getLocalizedMessage(); - if (msg != null) { + if ( msg != null ) + { int countNewLines = 0; - for (int i = 0, length = msg.length(); i < length; i++) { - if (msg.charAt(i) == '\n') { - if (++countNewLines == 2) { + for ( int i = 0, length = msg.length(); i < length; i++ ) + { + if ( msg.charAt( i ) == '\n' ) + { + if ( ++countNewLines == 2 ) + { break; } } } - return countNewLines > 1 || countNewLines == 1 && !msg.trim().endsWith("\n"); + return countNewLines > 1 || countNewLines == 1 && !msg.trim().endsWith( "\n" ); } return false; } @Override - public boolean equals(Object o) { - if (this == o) { + public boolean equals( Object o ) + { + if ( this == o ) + { return true; } - if (o == null || getClass() != o.getClass()) { + if ( o == null || getClass() != o.getClass() ) + { return false; } PojoStackTraceWriter that = (PojoStackTraceWriter) o; - return Objects.equals(t, that.t) - && Objects.equals(testClass, that.testClass) - && Objects.equals(testMethod, that.testMethod); + return Objects.equals( t, that.t ) + && Objects.equals( testClass, that.testClass ) + && Objects.equals( testMethod, that.testMethod ); } @Override - public int hashCode() { - return Objects.hash(t, testClass, testMethod); + public int hashCode() + { + return Objects.hash( t, testClass, testMethod ); } } diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java index dee4d7367b..329f80b7b6 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/SmartStackTraceParser.java @@ -212,7 +212,8 @@ static Throwable findTopmostWithClass( final Throwable t, StackTraceFilter filte return t; } - public String getTrimmedStackTrace( ) { + public String getTrimmedStackTrace( ) + { StackTraceFilter filter = new ClassNameStackTraceFilter( testClassName ); Throwable topmost = findTopmostWithClass( throwable.getTarget(), filter ); List stackTraceElements = asList( topmost.getStackTrace() ); diff --git a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java index 33b0778ce1..de04ad2213 100644 --- a/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java +++ b/surefire-providers/common-junit4/src/main/java/org/apache/maven/surefire/common/junit4/JUnit4StackTraceWriter.java @@ -26,7 +26,6 @@ import org.junit.runner.notification.Failure; import static org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil.toClassMethod; -import static org.apache.maven.surefire.report.SmartStackTraceParser.stackTraceWithFocusOnClassAsString; /** * Writes out a specific {@link org.junit.runner.notification.Failure} for From 1dbf299930e0de954f2a693aa9d3f78f8ac279c3 Mon Sep 17 00:00:00 2001 From: Peter Wessels Date: Sat, 29 Oct 2022 14:53:31 +0200 Subject: [PATCH 6/6] [SUREFIRE-1887] undo unnecessary changes --- .../maven/surefire/report/PojoStackTraceWriter.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java index c4f5561f3f..7c4ff6b58c 100644 --- a/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java +++ b/surefire-providers/common-java5/src/main/java/org/apache/maven/surefire/report/PojoStackTraceWriter.java @@ -34,7 +34,7 @@ * @author Brett Porter */ public class PojoStackTraceWriter - implements StackTraceWriter + implements StackTraceWriter { private final Throwable t; @@ -55,12 +55,10 @@ public String writeTraceToString() if ( t != null ) { StringWriter w = new StringWriter(); - try ( PrintWriter stackTrace = new PrintWriter( w ) ) { t.printStackTrace( stackTrace ); } - StringBuffer builder = w.getBuffer(); if ( isMultiLineExceptionMessage( t ) ) { @@ -126,10 +124,10 @@ public boolean equals( Object o ) { return false; } - PojoStackTraceWriter that = (PojoStackTraceWriter) o; + PojoStackTraceWriter that = ( PojoStackTraceWriter ) o; return Objects.equals( t, that.t ) - && Objects.equals( testClass, that.testClass ) - && Objects.equals( testMethod, that.testMethod ); + && Objects.equals( testClass, that.testClass ) + && Objects.equals( testMethod, that.testMethod ); } @Override