[ 
https://issues.apache.org/jira/browse/SUREFIRE-1992?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Markus Spann updated SUREFIRE-1992:
-----------------------------------
    Description: 
A {{StackTraceWriter}} writes test failures and errors to stderr. The output is 
abbreviated to 78 characters and suffixed by three dots. It is often difficult 
if not impossible to quickly understand the test failure due to this 
abbreviation.

This JUnit test:
{code:java}
class FailingTest {
    @Test
    void throwsRTException() {
        throw new 
RuntimeException("123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.");
    }
} 
{code}
results in following output:
{code:java}
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   FailingTest.throwsRTException:12 Runtime 
123456789.123456789.123456789.1234567...
[INFO] 
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0{code}
The abbreviation is done in class {{SmartStackTraceParser}} (and/or 
{{{}LegacyPojoStackTraceWriter{}}}). Both have:
{code:java}
MAX_LINE_LENGTH = 77{code}
The actual output is 78 characters long ;)

This behavior is true for all errors/failures except:
AssertionError, AssertionFailedError, ComparisonFailure and org.opentest4j.*

Why these should receive special treatment is not obvious.

  was:
A {{StackTraceWriter}} writes test failures and errors to stderr. The output is 
abbreviated to 78 characters and suffixed by three dots. It is often difficult 
if not impossible to quickly understand the test failure due to this 
abbreviation.

This JUnit5 test:
{code:java}
class FailingTest {
    @Test
    void throwsRTException() {
        throw new 
RuntimeException("123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.");
    }
} 
{code}
results in this output:
{code:java}
[INFO] 
[INFO] Results:
[INFO] 
[ERROR] Errors: 
[ERROR]   FailingTest.throwsRTException:12 Runtime 
123456789.123456789.123456789.1234567...
[INFO] 
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0{code}
The abbreviation is done in class {{SmartStackTraceParser}} (and/or 
{{{}LegacyPojoStackTraceWriter{}}}). Both have:
{code:java}
MAX_LINE_LENGTH = 77{code}
The actual output is 78 characters long ;)

This behavior is true for all errors/failures except:
AssertionError, AssertionFailedError, ComparisonFailure and org.opentest4j.*

Why these should receive special treatment is not obvious.


> Increase output length of test errors/failures in summary
> ---------------------------------------------------------
>
>                 Key: SUREFIRE-1992
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1992
>             Project: Maven Surefire
>          Issue Type: Improvement
>            Reporter: Markus Spann
>            Priority: Minor
>
> A {{StackTraceWriter}} writes test failures and errors to stderr. The output 
> is abbreviated to 78 characters and suffixed by three dots. It is often 
> difficult if not impossible to quickly understand the test failure due to 
> this abbreviation.
> This JUnit test:
> {code:java}
> class FailingTest {
>     @Test
>     void throwsRTException() {
>         throw new 
> RuntimeException("123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.");
>     }
> } 
> {code}
> results in following output:
> {code:java}
> [INFO] 
> [INFO] Results:
> [INFO] 
> [ERROR] Errors: 
> [ERROR]   FailingTest.throwsRTException:12 Runtime 
> 123456789.123456789.123456789.1234567...
> [INFO] 
> [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0{code}
> The abbreviation is done in class {{SmartStackTraceParser}} (and/or 
> {{{}LegacyPojoStackTraceWriter{}}}). Both have:
> {code:java}
> MAX_LINE_LENGTH = 77{code}
> The actual output is 78 characters long ;)
> This behavior is true for all errors/failures except:
> AssertionError, AssertionFailedError, ComparisonFailure and org.opentest4j.*
> Why these should receive special treatment is not obvious.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to