[ https://jira.codehaus.org/browse/SUREFIRE-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=346791#comment-346791 ]
Andreas Gudian commented on SUREFIRE-1077: ------------------------------------------ Let's schedule this for a fix in the next release... Shouldn't be too hard... :) > 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 > 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)