maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Gudian (JIRA)" <j...@codehaus.org>
Subject [jira] (SUREFIRE-962) SmartStackTraceParser cannot handle manipulated stack traces gracefully
Date Sat, 23 Feb 2013 00:00:13 GMT

    [ https://jira.codehaus.org/browse/SUREFIRE-962?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=320341#comment-320341
] 

Andreas Gudian commented on SUREFIRE-962:
-----------------------------------------

Thanks for the example! It turned out that it's not the stack trace that was the problem,
but the "display name" of the test description. Usually, it contains the test class name,
in this case it was something different.

I did a quick fix that now returns the not-so-smart localizedMessage of the exception.
                
> SmartStackTraceParser cannot handle manipulated stack traces gracefully
> -----------------------------------------------------------------------
>
>                 Key: SUREFIRE-962
>                 URL: https://jira.codehaus.org/browse/SUREFIRE-962
>             Project: Maven Surefire
>          Issue Type: Bug
>         Environment: 2.13, 2.14-SNAPSHOT
>            Reporter: Sebastian Schuth
>             Fix For: 2.14
>
>
> Following setup:
> cucumber-jvm runs specs using a JUnit Test case.
> In case of an error, surefire seems to try to be smart and parses the stack trace cucumber-jvm
has, well, somewhat manipulated. 
> As far as i can tell, {{SmartStackTraceParser}} is not able to handle manipulated stack
traces gracefully.
> This leads to following maven output:
> {code}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14-SNAPSHOT:test
(default-test) on project customer: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.14-SNAPSHOT:test
failed: There was an error in the forked process
> [ERROR] org.apache.maven.surefire.testset.TestSetFailedException: java.lang.RuntimeException:
java.lang.ClassNotFoundException: Scenario: Destinations get exchanged; nested exception is
java.lang.RuntimeException: java.lang.ClassNotFoundException: Scenario: Destinations get exchanged
> [ERROR] java.lang.RuntimeException: java.lang.ClassNotFoundException: Scenario: Destinations
get exchanged
> [ERROR] at org.apache.maven.surefire.report.SmartStackTraceParser.getClass(SmartStackTraceParser.java:67)
> [ERROR] at org.apache.maven.surefire.report.SmartStackTraceParser.<init>(SmartStackTraceParser.java:53)
> [ERROR] at org.apache.maven.surefire.common.junit4.JUnit4StackTraceWriter.smartTrimmedStackTrace(JUnit4StackTraceWriter.java:72)
> [ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:329)
> [ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:313)
> [ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.toString(ForkingRunListener.java:259)
> [ERROR] at org.apache.maven.surefire.booter.ForkingRunListener.testFailed(ForkingRunListener.java:138)
> [ERROR] at org.apache.maven.surefire.common.junit4.JUnit4RunListener.testFailure(JUnit4RunListener.java:107)
> [ERROR] at org.junit.runner.notification.RunNotifier$4.notifyListener(RunNotifier.java:139)
> [ERROR] at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:61)
> [ERROR] at org.junit.runner.notification.RunNotifier.fireTestFailures(RunNotifier.java:134)
> [ERROR] at org.junit.runner.notification.RunNotifier.fireTestFailure(RunNotifier.java:128)
> [ERROR] at org.junit.internal.runners.model.EachTestNotifier.addFailure(EachTestNotifier.java:23)
> [ERROR] at cucumber.runtime.junit.JUnitReporter.result(JUnitReporter.java:83)
> [ERROR] at cucumber.runtime.Runtime.runStep(Runtime.java:278)
> [ERROR] at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:45)
> [ERROR] at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:40)
> [ERROR] at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:36)
> [ERROR] at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:83)
> [ERROR] at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
> [ERROR] at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
> {code}
> Version 2.12.3 can handle the manipulated stack trace.
> To be clear: i am not really sure if this is an error within surefire or if cucumber-jvm
should just keep its hands off the stack trace it produces, but the behavior of surefire changed
between 2.12 and 2.13, so this may be worth fixing.
> If you are interested in fixing this, i will happily create a project for reproducing
the error. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message