]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-2792 Add default exclusions for JaCoCo
authorEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 11 Nov 2011 11:21:30 +0000 (15:21 +0400)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 11 Nov 2011 12:11:01 +0000 (16:11 +0400)
plugins/sonar-jacoco-plugin/src/main/java/org/sonar/plugins/jacoco/JacocoConfiguration.java
plugins/sonar-jacoco-plugin/src/test/java/org/sonar/plugins/jacoco/JaCoCoMavenPluginHandlerTest.java
plugins/sonar-jacoco-plugin/src/test/java/org/sonar/plugins/jacoco/JacocoConfigurationTest.java

index b0bb0e8bb6e257e33b2a268adb92522b099fd80e..d34579343a8f0ef5c5d6dec99f6baed832a9d68c 100644 (file)
@@ -49,6 +49,7 @@ import org.sonar.api.config.Settings;
     @Property(
         key = JacocoConfiguration.EXCLUDES_PROPERTY,
         name = "Excludes",
+        defaultValue = JacocoConfiguration.EXCLUDES_DEFAULT_VALUE,
         description = "A list of class names that should be excluded from execution analysis." +
             " The list entries are separated by a colon (:) and may use wildcard characters (* and ?)." +
             " Except for performance optimization or technical corner cases this option is normally not required.",
@@ -93,6 +94,15 @@ public class JacocoConfiguration implements BatchExtension {
   public static final String IT_REPORT_PATH_DEFAULT_VALUE = "";
   public static final String INCLUDES_PROPERTY = "sonar.jacoco.includes";
   public static final String EXCLUDES_PROPERTY = "sonar.jacoco.excludes";
+
+  /**
+   * Hibernate uses Javassist to modify entity classes and without exclusion of such classes from JaCoCo exception might be thrown:
+   * <pre>
+   * Javassist Enhancement failed: org.sonar.api.profiles.Alert
+   * java.lang.VerifyError: (class: org/sonar/api/profiles/Alert_$$_javassist_3, method: <clinit> signature: ()V) Illegal local variable number
+   * </pre>
+   */
+  public static final String EXCLUDES_DEFAULT_VALUE = "*_javassist_*";
   public static final String EXCLCLASSLOADER_PROPERTY = "sonar.jacoco.exclclassloader";
   public static final String ANT_TARGETS_PROPERTY = "sonar.jacoco.antTargets";
   public static final String ANT_TARGETS_DEFAULT_VALUE = "";
index da4d93ef83c95acc3375d01d3eec02797d345971..a4f3fb368cb68b5c1293ac462fdaebb70598d0fd 100644 (file)
@@ -72,7 +72,7 @@ public class JaCoCoMavenPluginHandlerTest {
     handler.configure(project, plugin);
 
     verify(configuration).getJvmArgument();
-    assertThat(plugin.getParameter("argLine"), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec"));
+    assertThat(plugin.getParameter("argLine"), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec,excludes=*_javassist_*"));
     assertThat(plugin.getParameter("testFailureIgnore"), is("true"));
   }
 
@@ -84,7 +84,7 @@ public class JaCoCoMavenPluginHandlerTest {
     handler.configure(project, plugin);
 
     verify(configuration).getJvmArgument();
-    assertThat(plugin.getParameter("argLine"), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec -esa"));
+    assertThat(plugin.getParameter("argLine"), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec,excludes=*_javassist_* -esa"));
     assertThat(plugin.getParameter("testFailureIgnore"), is("true"));
   }
 
index 212a3a30edba02457c40bd9a2749586434e0f614..70dd2dea60adb5ff02058c9704d226cdac3073c9 100644 (file)
@@ -51,7 +51,7 @@ public class JacocoConfigurationTest {
   @Test
   public void defaults() {
     assertThat(jacocoConfiguration.getReportPath(), is("target/jacoco.exec"));
-    assertThat(jacocoConfiguration.getJvmArgument(), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec"));
+    assertThat(jacocoConfiguration.getJvmArgument(), is("-javaagent:jacocoagent.jar=destfile=target/jacoco.exec,excludes=*_javassist_*"));
 
     assertThat(jacocoConfiguration.getItReportPath(), nullValue());
 
@@ -79,7 +79,7 @@ public class JacocoConfigurationTest {
     configuration.setProperty(JacocoConfiguration.REPORT_PATH_PROPERTY, "jacoco.exec");
 
     assertThat(jacocoConfiguration.getReportPath(), is("jacoco.exec"));
-    assertThat(jacocoConfiguration.getJvmArgument(), is("-javaagent:jacocoagent.jar=destfile=jacoco.exec"));
+    assertThat(jacocoConfiguration.getJvmArgument(), is("-javaagent:jacocoagent.jar=destfile=jacoco.exec,excludes=*_javassist_*"));
   }
 
   @Test