2 Replies Latest reply on Jul 12, 2012 12:13 PM by cmcmillen1

    Warp + Jacoco = NullPointerException

    cmcmillen1

      It seems there is a problem with running Warp tests if arquillian-jacoco is on the classpath.

       

      When WarpFilter fires the AfterSuite event, the writeCoverageData observer in arquillian-jacoco is executing which ultimately leads to a NPE coming from servlet protocol.  The full stacktrace is attached.

       

      You can reproduce by simply adding the following dependencies to the pom for warp in arquillian-showcase and then running the BasicJSFUnitTestCase.

       

      {code:xml}

      <dependency>

          <groupId>org.jboss.arquillian.extension</groupId>

          <artifactId>arquillian-jacoco</artifactId>

          <version>1.0.0.Alpha3</version>

          <scope>test</scope>

      </dependency>

      <dependency>

          <groupId>org.jacoco</groupId>

          <artifactId>org.jacoco.core</artifactId>

          <version>0.5.7.201204190339</version>

          <scope>test</scope>

      </dependency>

      {code}

       

      Removing these dependencies isn't really an option because I have other arquillian tests not using Warp that I want code coverage on.  I tried using alternative annotated with @Specializes thinking I could basically disable the observer in arquillian-jacoco simply by including a different beans.xml in the deployment of my Warp tests.  This however fails with "WELD-000047 Specializing bean must extend another bean" which I'm thinking is due to https://issues.jboss.org/browse/WELD-1113.

       

      Any ideas for getting this to work?