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

Andreas Gudian commented on SUREFIRE-1077:
------------------------------------------

I'll look into it soon - and the next release shouldn't wait too long either; 
would be about time... ;)

> NPE problem will happen if you set testng status to fail at afterInvocation 
> method
> ----------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-1077
>                 URL: https://jira.codehaus.org/browse/SUREFIRE-1077
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Surefire Plugin
>    Affects Versions: 2.13, 2.14, 2.15, 2.16, 2.17
>         Environment: Maven 3.1.1, TestNG (Try different version), Maven 
> suirefire plugin 2.11~2.17
>            Reporter: tim wu
>            Assignee: Andreas Gudian
>             Fix For: 2.18
>
>         Attachments: target.zip
>
>
> In our test program, we have some soft assert, which require us set the test 
> result to false at afterInovcation (IInvokedMethodListener) method, after we 
> did that, surefire plugin will throw a NPE exception, the stacktrace looks 
> like this:
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.61 sec <<< 
> FAILURE!
> test1(com.surefire.SimpleTest)  Time elapsed: 0.044 sec  <<< FAILURE!
> java.lang.NullPointerException: null
>       at 
> org.apache.maven.surefire.report.SmartStackTraceParser.<init>(SmartStackTraceParser.java:56)
>       at 
> org.apache.maven.surefire.report.PojoStackTraceWriter.smartTrimmedStackTrace(PojoStackTraceWriter.java:60)
>       at 
> org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:328)
>       at 
> org.apache.maven.surefire.booter.ForkingRunListener.encode(ForkingRunListener.java:312)
>       at 
> org.apache.maven.surefire.booter.ForkingRunListener.toString(ForkingRunListener.java:258)
>       at 
> org.apache.maven.surefire.booter.ForkingRunListener.testFailed(ForkingRunListener.java:137)
>       at 
> org.apache.maven.surefire.testng.TestNGReporter.onTestFailure(TestNGReporter.java:105)
>       at org.testng.internal.Invoker.runTestListeners(Invoker.java:1895)
>       at org.testng.internal.Invoker.runTestListeners(Invoker.java:1879)
>       at org.testng.internal.Invoker.invokeMethod(Invoker.java:778)
>       at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
>       at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
>       at 
> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
>       at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
>       at org.testng.TestRunner.privateRun(TestRunner.java:767)
>       at org.testng.TestRunner.run(TestRunner.java:617)
>       at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
>       at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:343)
>       at org.testng.SuiteRunner.privateRun(SuiteRunner.java:305)
>       at org.testng.SuiteRunner.run(SuiteRunner.java:254)
>       at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
>       at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
>       at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
>       at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
>       at org.testng.TestNG.run(TestNG.java:1057)
>       at 
> org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:77)
>       at 
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:126)
>       at 
> org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:110)
>       at 
> org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:117)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
>       at 
> org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray2(ReflectionUtils.java:208)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:158)
>       at 
> org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>       at 
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:95)
> I will attach a simple project to reproduce this problem.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to