[gf-emb] tests fail if run in batch but pass individually?
dkonecny Dec 1, 2010 9:09 PMHi,
I'm new to Arquillian so sorry if I'm doing some obvious mistake. I tried all I could and I'm running out of options.
I was able to follow http://blog.eisele.net/2010/11/arquillian-test-in-container-with.html and make arquillian-examples/ejb31-gfembedded run quite quickly without problems. I added some more EJBs into that project from one of your other examples - arquillian/examples/junit - for example TemperatureConverter EJB and its test. (Mainly because arquillian/examples/junit project gives me lots of troubles - so far jbossas 6 remote or embedded never passed.) Now, if I run either TemperatureConverterTestCase or HelloEJBTest they pass. If I execute test on project level then second test always fails with "Virtual server [server] already has a web module [test] loaded at [/test]; therefore web module [test] cannot be loaded at this context path on this virtual server". Do I have to do some cleanup or ... ?
Thanks for your help.
-David
PS: snippets of my logs attached:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.jboss.arquillian.examples.gfembedded.HelloEJBTest
...
2/12/2010 2:42:22 PM com.sun.logging.LogDomains$1 log
INFO: GlassFish Server Open Source Edition 3.1-b23 (java_re-private) startup time : Embedded(433ms) startup services(1490ms) total(1923ms)
...
2/12/2010 2:42:24 PM org.jboss.arquillian.impl.DynamicServiceLoader verifySameImplementation
WARNING: More then one reference to the same implementation was found for org.jboss.arquillian.spi.DeploymentPackager, please verify you classpath
2/12/2010 2:42:24 PM org.jboss.arquillian.impl.DynamicServiceLoader verifySameImplementation
WARNING: More then one reference to the same implementation was found for org.jboss.arquillian.spi.ApplicationArchiveGenerator, please verify you classpath
2/12/2010 2:42:24 PM org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader findExtensionImpl
WARNING: Multiple extension implementations found for org.jboss.shrinkwrap.api.spec.JavaArchive, please verify classpath or add a extensionOverride
2/12/2010 2:42:24 PM org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader findExtensionImpl
WARNING: Multiple extension implementations found for org.jboss.shrinkwrap.api.spec.WebArchive, please verify classpath or add a extensionOverride
2/12/2010 2:42:24 PM org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader findExtensionImpl
WARNING: Multiple extension implementations found for org.jboss.shrinkwrap.glassfish.api.ShrinkwrapReadableArchive, please verify classpath or add a extensionOverride
2/12/2010 2:42:24 PM org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader findExtensionImpl
WARNING: Multiple extension implementations found for org.jboss.shrinkwrap.api.exporter.ZipExporter, please verify classpath or add a extensionOverride
2/12/2010 2:42:24 PM org.jboss.shrinkwrap.impl.base.ServiceExtensionLoader findExtensionImpl
WARNING: Multiple extension implementations found for org.jboss.shrinkwrap.spi.Configurable, please verify classpath or add a extensionOverride
...
2/12/2010 2:42:30 PM com.sun.logging.LogDomains$1 log
INFO: Portable JNDI names for EJB HelloEJB : [java:global/test/HelloEJB, java:global/test/HelloEJB!org.jboss.arquillian.examples.gfembedded.HelloEJB]
...
2/12/2010 2:42:30 PM org.jboss.arquillian.testenricher.cdi.CDIInjectionEnricher injectClass
INFO: BeanManager cannot be located at java:comp/BeanManager. Either you are using an archive with no beans.xml, or the BeanManager has not been bound to that location in JNDI.
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 10.186 sec
Running org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase
2/12/2010 2:42:30 PM org.jboss.arquillian.impl.DynamicServiceLoader verifySameImplementation
WARNING: More then one reference to the same implementation was found for org.jboss.arquillian.spi.DeploymentPackager, please verify you classpath
2/12/2010 2:42:30 PM org.jboss.arquillian.impl.DynamicServiceLoader verifySameImplementation
WARNING: More then one reference to the same implementation was found for org.jboss.arquillian.spi.ApplicationArchiveGenerator, please verify you classpath
classLoader = WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@77a477b7
2/12/2010 2:42:35 PM com.sun.logging.LogDomains$1 log
INFO: Portable JNDI names for EJB TemperatureConverterBean : [java:global/test/TemperatureConverterBean!com.acme.ejb.TemperatureConverter, java:global/test/TemperatureConverterBean]
2/12/2010 2:42:35 PM com.sun.logging.LogDomains$1 log
WARNING: java.lang.Exception: WEB0113: Virtual server [server] already has a web module [test] loaded at [/test]; therefore web module [test] cannot be loaded at this context path on this virtual server.
java.lang.Exception: WEB0113: Virtual server [server] already has a web module [test] loaded at [/test]; therefore web module [test] cannot be loaded at this context path on this virtual server.
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1728)
at com.sun.enterprise.web.WebContainer.loadWebModule(WebContainer.java:1609)
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:100)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:240)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:262)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:425)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:239)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:193)
at org.jboss.arquillian.container.glassfish.embedded_3.GlassFishEmbeddedContainer.deploy(GlassFishEmbeddedContainer.java:164)
at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
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.beforeClass(EventTestRunnerAdaptor.java:96)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:162)
at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:186)
at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:297)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:182)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:127)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
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:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
2/12/2010 2:42:35 PM com.sun.logging.LogDomains$1 log
SEVERE: Exception while invoking class com.sun.enterprise.web.WebApplication start method
java.lang.Exception: java.lang.Exception: WEB0113: Virtual server [server] already has a web module [test] loaded at [/test]; therefore web module [test] cannot be loaded at this context path on this virtual server.
at com.sun.enterprise.web.WebApplication.start(WebApplication.java:127)
at org.glassfish.internal.data.EngineRef.start(EngineRef.java:130)
at org.glassfish.internal.data.ModuleInfo.start(ModuleInfo.java:240)
at org.glassfish.internal.data.ApplicationInfo.start(ApplicationInfo.java:262)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:425)
at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:239)
at org.glassfish.kernel.embedded.EmbeddedDeployerImpl.deploy(EmbeddedDeployerImpl.java:193)
at org.jboss.arquillian.container.glassfish.embedded_3.GlassFishEmbeddedContainer.deploy(GlassFishEmbeddedContainer.java:164)
at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
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.beforeClass(EventTestRunnerAdaptor.java:96)
at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:162)
at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:186)
at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:297)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:182)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:127)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
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:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
2/12/2010 2:42:35 PM com.sun.logging.LogDomains$1 log
SEVERE: Exception while loading the app
classLoader = WebappClassLoader (delegate=true; repositories=WEB-INF/classes/)
SharedSecrets.getJavaNetAccess()=java.net.URLClassLoader$7@77a477b7
2/12/2010 2:42:35 PM com.sun.logging.LogDomains$1 log
SEVERE: Application test not registered
Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 4.859 sec <<< FAILURE!
Results :
Tests in error:
testConvertToCelsius(org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase)
testConvertToFarenheit(org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase)
testIsTransactional(org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase)
Tests run: 4, Failures: 0, Errors: 3, Skipped: 0
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
and log from test failure is consequently that servlet cannot be accessed:
-------------------------------------------------------------------------------
Test set: org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase
-------------------------------------------------------------------------------
Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 4.859 sec <<< FAILURE!
testConvertToCelsius(org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase) Time elapsed: 0.021 sec <<< ERROR!
org.jboss.arquillian.impl.event.FiredEventException: java.lang.IllegalStateException: Error launching test org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase public void org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase.testConvertToCelsius()
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.test(EventTestRunnerAdaptor.java:157)
at org.jboss.arquillian.junit.Arquillian$6.evaluate(Arquillian.java:244)
at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:207)
at org.jboss.arquillian.junit.Arquillian$5$1.evaluate(Arquillian.java:225)
at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:297)
at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:221)
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:163)
at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:186)
at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:297)
at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:182)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:127)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:102)
at org.apache.maven.surefire.Surefire.run(Surefire.java:180)
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:350)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1021)
Caused by: java.lang.IllegalStateException: Error launching test org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase public void org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase.testConvertToCelsius()
at org.jboss.arquillian.protocol.servlet_3.ServletMethodExecutor.invoke(ServletMethodExecutor.java:61)
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)
... 30 more
Caused by: java.lang.IllegalStateException: Error launching test at http://localhost:8181/test/ArquillianServletRunner?outputMode=serializedObject&className=org.jboss.arquillian.examples.gfembedded.TemperatureConverterTestCase&methodName=testConvertToCelsius. Got 403 (Access to the requested resource has been denied)
at org.jboss.arquillian.protocol.servlet_3.ServletMethodExecutor.execute(ServletMethodExecutor.java:103)
at org.jboss.arquillian.protocol.servlet_3.ServletMethodExecutor.invoke(ServletMethodExecutor.java:57)
... 33 more