[arquillian-issues] [JBoss JIRA] (ARQ-1875) JaCoCo extension only works for simple use cases

John Ament (JIRA) issues at jboss.org
Sat Nov 1 13:40:35 EDT 2014


John Ament created ARQ-1875:
-------------------------------

             Summary: JaCoCo extension only works for simple use cases
                 Key: ARQ-1875
                 URL: https://issues.jboss.org/browse/ARQ-1875
             Project: Arquillian
          Issue Type: Bug
          Components: Extension - Jacoco
    Affects Versions: jacoco_1.0.0.Alpha7
            Reporter: John Ament


In  JaCoCo Alpha 7, the tests pass on the build, however the extension itself only works if you have a very small use case.  If you have a more robust test that uses database connections, external modules, you get ASM conflicts.

Here's an example output: 

{quote}
Caused by: java.lang.NoSuchMethodException: org.objectweb.asm.MethodWriter.visitLabel(org.objectweb.asm.Label)
	at java.lang.Class.getMethod(Class.java:1773) [rt.jar:1.8.0_20]
	at org.apache.cxf.common.util.ReflectionInvokationHandler.invoke(ReflectionInvokationHandler.java:85)
	... 28 more

13:34:21,040 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "api-webapp.war")]) - failure description: {
    "JBAS014671: Failed services" => {"jboss.deployment.unit.\"api-webapp.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"stratas-webapp.war\".INSTALL: JBAS018733: Failed to process phase INSTALL of deployment \"api-webapp.war\"
    Caused by: javax.xml.ws.WebServiceException: java.lang.reflect.UndeclaredThrowableException
    Caused by: java.lang.reflect.UndeclaredThrowableException
    Caused by: java.lang.NoSuchMethodException: org.objectweb.asm.MethodWriter.visitLabel(org.objectweb.asm.Label)"},
    "JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"api-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"api-webapp.war\".beanmanager]"]
{quote}

My jboss-deployment-structure.xml looks like this:

{code}
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
	<!-- based on https://docs.jboss.org/author/display/AS71/Class+Loading+in+AS7 -->
	<deployment>
        <exclusions>
            <module name="org.jboss.resteasy.resteasy-jackson2-provider"/>
        </exclusions>
		<dependencies>
            <module name="com.private" services="import"/>
            <module name="org.bouncycastle" services="import"/>
            <module name="org.picketlink" services="import"/>
            <module name="org.apache.james.mime4j" services="import"/>
            <module name="org.hibernate.validator" services="import"/>
            <module name="org.hibernate.validator.cdi" services="import"/>
            <module name="org.hibernate" services="import"/>
            <module name="org.javassist" services="import"/>
            <module name="org.apache.commons.http" services="import"/>
            <module name="org.apache.commons.email" services="import"/>
            <module name="org.apache.commons.lang" services="import"/>
            <module name="org.apache.commons.codec" services="import"/>
            <module name="org.apache.commons.io" services="import"/>
            <module name="org.apache.xerces" services="import"/>
            <module name="org.apache.tika" services="import"/>
            <module name="org.json" services="import"/>
            <module name="org.apache.velocity" services="import"/>
            <module name="org.apache.httpcomponents" services="import"/>
            <module name="org.apache.log4j" services="import"/>
            <module name="org.jboss.logmanager" services="import"/>
            <module name="com.google.guava" services="import"/>
            <module name="org.codehaus.jackson.jackson-mapper-asl" services="import"/>
            <module name="org.codehaus.jackson.jackson-jaxrs" services="import"/>
            <module name="org.bouncycastle.bcpg" services="import"/>
            <module name="org.jboss.resteasy.resteasy-jackson-provider" services="import"/>
            <module name="org.jboss.resteasy.resteasy-multipart-provider" services="import"/>
            <module name="org.quartzscheduler" services="import"/>
            <module name="org.joda.time" services="import"/>
            <module name="org.codehaus.jackson.jackson-core-asl" services="import" />
            <!-- cxf required otherwise WS annotations will be silently ignored -->
            <module name="org.apache.cxf" services="import"/>
            <module name="org.apache.cxf.impl" services="import"/>
            <module name="org.picketlink"/>
            <module name="org.picketbox"/>
            <module name="javax.security.auth.message.api" />
            <module name="javax.security.jacc.api" />
            <module name="org.apache.ws.security"/>
            <module name="org.elasticsearch" services="import" meta-inf="import"/>
            <module name="org.camunda"/>
		</dependencies>
	</deployment>
</jboss-deployment-structure>
{code}

Some of these are custom modules, usually just wrapping open source libraries.  There's one private one I hid, but it doesn't have any ASM.  It seems like hibernate's the culprit here.



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the arquillian-issues mailing list