[jboss-as7-dev] Arquillian + Embedded + Modular Surefire Plugin

Aslak Knutsen aslak at 4fs.no
Mon Jan 17 17:24:07 EST 2011


It is not suppose to be called on the server side. It sounds like the
TestRunner is not set to run IN_CONTAINER mode, or it's being re
executed on the same Thread as the client ?

-aslak-

On Mon, Jan 17, 2011 at 8:29 PM, Kabir Khan <kabir.khan at jboss.com> wrote:
> I am trying to get the demos that I see working (sar, serviceloader, messaging, jms, jms.client) running again as part of the smoke tests using the forked surefire plugin which loads everything with modular classloading. On the client this works fine, but for IN_CONTAINER tests I am seeing the stack trace at the end.
>
> The basic problem seems to be that Arquillian calls MessagingTestCase.getDeployment() on the client as expected, however it then also calls it on the server once it is deployed which causes this error. Does this really need to happen on the server? Is there a way to disable this?
>
> This then causes ShrinkWrap's ContainerBase to use the TCCL, which is the classloader of the deployment, to search for rg.jboss.as.test.modular.utils.ShrinkWrapUtils which is part of the deployment. URLPackageScanner.scanPackage() finds the url: "vfs:/content/messaging-example.jar/org/jboss/as/test/modular/utils/" which becomes "/content/messaging-example.jar/org/jboss/as/test/modular/utils/" before it is added to the list passed in to handleArchiveByFile(). Since "content/messaging-example.jar/org/jboss/as/test/modular/utils/" does not exist, it all falls over.
>
> org.jboss.arquillian.impl.event.FiredEventException: java.lang.RuntimeException: Could not get Deployment
>        at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:68)
>        at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
>        at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:99)
>        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:165)
>        at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:189)
>        at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:300)
>        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:185)
>        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:128)
>        at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>        at org.junit.runner.JUnitCore.run(JUnitCore.java:136)
>        at org.jboss.arquillian.junit.JUnitTestRunner.execute(JUnitTestRunner.java:69)
>        at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodInternal(JMXTestRunner.java:145)
>        at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodEmbedded(JMXTestRunner.java:114)
>        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 com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
>        at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
>        at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
>        at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
>        at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
>        at javax.management.StandardMBean.invoke(StandardMBean.java:391)
>        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>        at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:288)
>        at $Proxy18.runTestMethodEmbedded(Unknown Source)
>        at org.jboss.arquillian.protocol.jmx.JMXMethodExecutor.invoke(JMXMethodExecutor.java:91)
>        at org.jboss.arquillian.impl.handler.ContainerTestExecuter.callback(ContainerTestExecuter.java:50)
>        at org.jboss.arquillian.impl.handler.ContainerTestExecuter.callback(ContainerTestExecuter.java:40)
>        at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
>        at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
>        at org.jboss.arquillian.impl.EventTestRunnerAdaptor.test(EventTestRunnerAdaptor.java:160)
>        at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:247)
>        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>        at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:210)
>        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>        at org.jboss.arquillian.junit.Arquillian$5$1.evaluate(Arquillian.java:228)
>        at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:300)
>        at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:224)
>        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
>        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>        at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:166)
>        at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:189)
>        at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:300)
>        at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:185)
>        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>        at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:128)
>        at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
>        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:120)
>        at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:103)
>        at org.apache.maven.surefire.Surefire.run(Surefire.java:169)
>        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:339)
>        at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1011)
>        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.jboss.modules.Module.run(Module.java:244)
>        at org.jboss.modules.Main.main(Main.java:178)
> Caused by: java.lang.RuntimeException: Could not get Deployment
>        at org.jboss.arquillian.impl.DeploymentAnnotationArchiveGenerator.generateApplicationArchive(DeploymentAnnotationArchiveGenerator.java:65)
>        at org.jboss.arquillian.impl.ClientDeploymentGenerator.generate(ClientDeploymentGenerator.java:60)
>        at org.jboss.arquillian.impl.handler.ArchiveGenerator.callback(ArchiveGenerator.java:52)
>        at org.jboss.arquillian.impl.handler.ArchiveGenerator.callback(ArchiveGenerator.java:42)
>        at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
>        ... 69 more
> Caused by: java.lang.reflect.InvocationTargetException
>        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.jboss.arquillian.impl.DeploymentAnnotationArchiveGenerator.generateApplicationArchive(DeploymentAnnotationArchiveGenerator.java:57)
>        ... 73 more
> Caused by: java.lang.RuntimeException: Error handling file /content/messaging-example.jar/org/jboss/as/test/modular/utils
>        at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handleArchiveByFile(URLPackageScanner.java:165)
>        at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handle(URLPackageScanner.java:181)
>        at org.jboss.shrinkwrap.impl.base.URLPackageScanner.scanPackage(URLPackageScanner.java:132)
>        at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addPackages(ContainerBase.java:1003)
>        at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addClasses(ContainerBase.java:914)
>        at org.jboss.shrinkwrap.impl.base.container.ContainerBase.addClass(ContainerBase.java:855)
>        at org.jboss.as.test.modular.utils.ShrinkWrapUtils.addClasses(ShrinkWrapUtils.java:147)
>        at org.jboss.as.test.modular.utils.ShrinkWrapUtils.createJavaArchive(ShrinkWrapUtils.java:52)
>        at org.jboss.as.test.embedded.demos.messaging.MessagingTestCase.createDeployment(MessagingTestCase.java:76)
>        ... 78 more
> Caused by: java.util.zip.ZipException: error in opening zip file
>        at java.util.zip.ZipFile.open(Native Method)
>        at java.util.zip.ZipFile.<init>(ZipFile.java:114)
>        at java.util.zip.ZipFile.<init>(ZipFile.java:131)
>        at org.jboss.shrinkwrap.impl.base.URLPackageScanner.handleArchiveByFile(URLPackageScanner.java:149)
>        ... 86 more
>
>




More information about the jboss-as7-dev mailing list