Uploaded image for project: 'Arquillian'
  1. Arquillian
  2. ARQ-1875

JaCoCo extension only works for simple use cases

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • jacoco_1.0.0.Alpha7
    • Extension - Jacoco
    • None

    Description

      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:

      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" =>

      Unknown macro: {"jboss.deployment.unit."api-webapp.war".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit."api-webapp.war".INSTALL}

      ,
      "JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"api-webapp.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"api-webapp.war\".beanmanager]"]

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

      <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>
      

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            meetoblivion_jira John Ament (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: