[richfaces-planning-issues] [JBoss JIRA] (RFPL-1467) @Test annotation param dependsOnMethods in Metamer's ftest causes IllegalStateException

Pavol Pitonak (JIRA) jira-events at lists.jboss.org
Mon Oct 22 05:15:03 EDT 2012


     [ https://issues.jboss.org/browse/RFPL-1467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavol Pitonak reassigned RFPL-1467:
-----------------------------------

    Assignee: Jiří Štefek  (was: Pavol Pitonak)


Jiri, please investigate if it is still problem.
                
> @Test annotation param dependsOnMethods in Metamer's ftest causes IllegalStateException
> ---------------------------------------------------------------------------------------
>
>                 Key: RFPL-1467
>                 URL: https://issues.jboss.org/browse/RFPL-1467
>             Project: RichFaces Planning
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: QE
>         Environment: Metamer 4.1.0-snapshot, r.22501
>            Reporter: Ján Jamrich
>            Assignee: Jiří Štefek
>             Fix For: 4.Future
>
>
> When tried set dependsOnMethods param to @Test annotation in Metamer's ftests, get IllegalStateException thrown from MatrixConfigurator.
> There aren't any other methods annotated by @Test with dependsOnMethods param, so its possible that this issue is in Metamer longer time without being discovered.
> By debugging observed that list of methods set to be executed by TestRunner depends on this param. In other word, when set dependsOnMethods param to @Test annotation - this method (on which was this param set to annotation) doesn't appear in list of methods being executed (LinkedList<Method> methods attribute of MatrixConfigurator).
> This attribute is initialized in method 
> public List<IMethodInstance> intercept(List<IMethodInstance> methodInstances, ITestContext context)
> which is called directly from org.testng.TestRunner, which give param List<IMethodInstance> methodInstances depending on dependsOnMethods param set to @Test annotation as well.
> This behavior should be ok, since methods which are not depending on another else method should be executed first.
> But what seems worse is that when run this again - for method anotated by @Test with param dependsOnMethod, then list of methods which going to be executed is empty - do no test method called.
> And in case when all methods except one depends on another method, different exception is result of run testsuite:
> Running TestSuite
> org.apache.maven.surefire.booter.SurefireExecutionException: null; nested exception is java.lang.NullPointerException: null
> java.lang.NullPointerException
> 	at org.richfaces.tests.metamer.ftest.MetamerTestInfo.getConfigurationInfo(MetamerTestInfo.java:50)
> 	at org.richfaces.tests.metamer.ftest.MetamerTestInfo.getConfigurationInfoInParenthesses(MetamerTestInfo.java:77)
> 	at org.richfaces.tests.metamer.ftest.MetamerSeleniumLoggingTestListener.getMessage(MetamerSeleniumLoggingTestListener.java:35)
> 	at org.jboss.test.selenium.listener.SeleniumLoggingTestListener.logStatus(SeleniumLoggingTestListener.java:82)
> 	at org.jboss.test.selenium.listener.SeleniumLoggingTestListener.onTestFailure(SeleniumLoggingTestListener.java:55)
> 	at org.testng.internal.Invoker.runTestListeners(Invoker.java:1634)
> 	at org.testng.internal.Invoker.runTestListeners(Invoker.java:1618)
> 	at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1101)
> 	at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
> 	at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
> 	at org.testng.TestRunner.runWorkers(TestRunner.java:1030)
> 	at org.testng.TestRunner.privateRun(TestRunner.java:709)
> 	at org.testng.TestRunner.run(TestRunner.java:579)
> 	at org.testng.SuiteRunner.runTest(SuiteRunner.java:331)
> 	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:326)
> 	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:288)
> 	at org.testng.SuiteRunner.run(SuiteRunner.java:193)
> 	at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:910)
> 	at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
> 	at org.testng.TestNG.run(TestNG.java:787)
> 	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:62)
> 	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:141)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> So this should be issue related to TestNG itself (current version 5.12.1), tried 5.13, but the same behavior.
> There is stack trace:
> java.lang.IllegalStateException: can't find more configured methods
> 	at org.richfaces.tests.metamer.ftest.MatrixConfigurator.configureMethod(MatrixConfigurator.java:150)
> 	at org.richfaces.tests.metamer.ftest.MatrixConfigurator.beforeInvocation(MatrixConfigurator.java:101)
> 	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:62)
> 	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:141)
> 	at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> 	at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345)
> 	at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009)
> ... Removed 22 stack frames

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



More information about the richfaces-planning-issues mailing list