[arquillian-issues] [JBoss JIRA] (ARQ-1931) Arquillian jacoco extension throws NullpointerException when using 'createFromZipFile'

Johan van Kampen (JIRA) issues at jboss.org
Wed Mar 4 09:20:49 EST 2015


    [ https://issues.jboss.org/browse/ARQ-1931?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13046222#comment-13046222 ] 

Johan van Kampen commented on ARQ-1931:
---------------------------------------

I attached a simplified project with which you can reproduce the issue.

Running mvn clean package will result in a NullPointer.

> Arquillian jacoco extension throws NullpointerException when using 'createFromZipFile'
> --------------------------------------------------------------------------------------
>
>                 Key: ARQ-1931
>                 URL: https://issues.jboss.org/browse/ARQ-1931
>             Project: Arquillian
>          Issue Type: Bug
>          Components: Extension - Jacoco
>            Reporter: Johan van Kampen
>         Attachments: dri.zip
>
>
> I use the code below which results in a NullpointerException :
> @Deployment
> public static EnterpriseArchive createEARArchive() {
>  
>   EnterpriseArchive ear = ShrinkWrap.createFromZipFile(EnterpriseArchive.class, new File("../dri.ear/target/dri.ear-1.0-SNAPSHOT.ear"));
>   ear.addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
>    return  ear;
>  
> }
>  
> Full stacktrace
> java.lang.NullPointerException: null
>   at org.jboss.arquillian.extension.jacoco.client.ApplicationArchiveInstrumenter.processArchive(ApplicationArchiveInstrumenter.java:52)
>   at org.jboss.arquillian.extension.jacoco.client.ApplicationArchiveInstrumenter.processArchive(ApplicationArchiveInstrumenter.java:68)
>   at org.jboss.arquillian.extension.jacoco.client.ApplicationArchiveInstrumenter.process(ApplicationArchiveInstrumenter.java:74)
>   at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.applyApplicationProcessors(DeploymentGenerator.java:223)
>   at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.buildTestableDeployments(DeploymentGenerator.java:172)
>   at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.createTestableDeployments(DeploymentGenerator.java:148)
>   at org.jboss.arquillian.container.test.impl.client.deployment.DeploymentGenerator.generateDeployment(DeploymentGenerator.java:85)
>   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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>   at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
>   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
>   at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:67)
>   at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:100)
>   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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>   at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99)
>   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81)
>   at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:84)
>   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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>   at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:65)
>   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.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:94)
>   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88)
>   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:145)
>   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:116)
>   at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:80)
>   at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:190)
>   at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:345)
>   at org.jboss.arquillian.junit.Arquillian.access$200(Arquillian.java:49)
>   at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:207)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>   at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:155)
>   at org.junit.runners.Suite.runChild(Suite.java:127)
>   at org.junit.runners.Suite.runChild(Suite.java:26)
>   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>   at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>   at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:264)
>   at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
>   at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:124)
>   at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200)
>   at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153)
>   at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103
>  
>  
> Using the configuration below, everything works fine. However, this is a relative simple application. I have several much more complex applications for which I would prefer the first configuration.  :
> @Deployment
> public static Archive<?> createTestArchive() {
>  
>   File[] libs = Maven.resolver()
>   .loadPomFromFile("pom.xml").resolve("omnimap:services","h2:utils")
>   .withTransitivity().as(File.class);
>  
>   WebArchive war =
>   ShrinkWrap.create(WebArchive.class, "test.war")
>   .addPackage(DossierRelatieIndexService.class.getPackage())
>   .addPackage(Dossier.class.getPackage())
>   .addPackage(Constanten.class.getPackage())
>   .addAsWebInfResource(EmptyAsset.INSTANCE, "beans.xml");
>  
>   war.addAsLibrary(new File("../dri.ejb/target/dri.ejb-1.0-SNAPSHOT.jar"));
>   war.addAsLibraries(libs).as(JavaArchive.class);
>  
>    return war;
> }



--
This message was sent by Atlassian JIRA
(v6.3.11#6341)


More information about the arquillian-issues mailing list