summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2011-01-24 19:06:38 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2011-01-24 19:25:01 +0100
commit878cec92f8e39fd46628a83bba970293129de710 (patch)
tree8234845025634f6e8d589fc1ef5df79f4bb4fe12 /plugins
parenteb9462d6002daf7f01f8fe627b4517c065bdb5af (diff)
downloadsonarqube-878cec92f8e39fd46628a83bba970293129de710.tar.gz
sonarqube-878cec92f8e39fd46628a83bba970293129de710.zip
SONAR-791 When the source directory is not exactly the java package root, Sonar should stop the analysis
Diffstat (limited to 'plugins')
-rw-r--r--plugins/sonar-core-gwt/src/main/java/org/sonar/plugins/core/testdetailsviewer/TestsViewerDefinition.java6
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java1
-rw-r--r--plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java3
-rw-r--r--plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/JavaSourceImporter.java (renamed from plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/JavaSourceImporter.java)21
-rw-r--r--plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidPlugin.java38
-rw-r--r--plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidSensor.java32
-rw-r--r--plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/Lcom4BlocksBridge.java15
-rw-r--r--plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java (renamed from plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/JavaSourceImporterTest.java)27
-rw-r--r--plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java49
9 files changed, 95 insertions, 97 deletions
diff --git a/plugins/sonar-core-gwt/src/main/java/org/sonar/plugins/core/testdetailsviewer/TestsViewerDefinition.java b/plugins/sonar-core-gwt/src/main/java/org/sonar/plugins/core/testdetailsviewer/TestsViewerDefinition.java
index 0cca72a7d7b..98bc53a0437 100644
--- a/plugins/sonar-core-gwt/src/main/java/org/sonar/plugins/core/testdetailsviewer/TestsViewerDefinition.java
+++ b/plugins/sonar-core-gwt/src/main/java/org/sonar/plugins/core/testdetailsviewer/TestsViewerDefinition.java
@@ -20,13 +20,13 @@
package org.sonar.plugins.core.testdetailsviewer;
import org.sonar.api.measures.CoreMetrics;
-import org.sonar.api.resources.Resource;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.web.*;
import org.sonar.plugins.core.testdetailsviewer.client.TestsViewer;
-@ResourceQualifier(Resource.QUALIFIER_UNIT_TEST_CLASS)
+@ResourceQualifier(Qualifiers.UNIT_TEST_FILE)
@NavigationSection(NavigationSection.RESOURCE_TAB)
-@DefaultTab(metrics={CoreMetrics.TESTS_KEY, CoreMetrics.TEST_EXECUTION_TIME_KEY, CoreMetrics.TEST_SUCCESS_DENSITY_KEY, CoreMetrics.TEST_FAILURES_KEY, CoreMetrics.TEST_ERRORS_KEY, CoreMetrics.SKIPPED_TESTS_KEY})
+@DefaultTab(metrics = {CoreMetrics.TESTS_KEY, CoreMetrics.TEST_EXECUTION_TIME_KEY, CoreMetrics.TEST_SUCCESS_DENSITY_KEY, CoreMetrics.TEST_FAILURES_KEY, CoreMetrics.TEST_ERRORS_KEY, CoreMetrics.SKIPPED_TESTS_KEY})
@UserRole(UserRole.CODEVIEWER)
public class TestsViewerDefinition extends GwtPage {
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
index 8af552c5f52..944fc9a572d 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/CorePlugin.java
@@ -207,7 +207,6 @@ public class CorePlugin implements Plugin {
extensions.add(JavaColorizerFormat.class);
// batch
- extensions.add(JavaSourceImporter.class);
extensions.add(ProfileSensor.class);
extensions.add(ProjectLinksSensor.class);
extensions.add(AsynchronousMeasuresSensor.class);
diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
index a6066489274..b65b0500747 100644
--- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
+++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
@@ -20,6 +20,7 @@
package org.sonar.plugins.core.batch;
import org.junit.Test;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Resource;
import static org.hamcrest.core.Is.is;
@@ -59,7 +60,7 @@ public class ExcludedResourceFilterTest {
ExcludedResourceFilter filter = new ExcludedResourceFilter(new String[]{"**/foo/*.java", "**/bar/*"});
Resource unitTest = mock(Resource.class);
- when(unitTest.getQualifier()).thenReturn(Resource.QUALIFIER_UNIT_TEST_CLASS);
+ when(unitTest.getQualifier()).thenReturn(Qualifiers.UNIT_TEST_FILE);
// match exclusion pattern
when(unitTest.matchFilePattern("**/bar/*")).thenReturn(true);
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/JavaSourceImporter.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/JavaSourceImporter.java
index 1b8f32a8892..87e7699ba88 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/sensors/JavaSourceImporter.java
+++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/JavaSourceImporter.java
@@ -17,35 +17,28 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.plugins.core.sensors;
+package org.sonar.plugins.squid;
-import org.sonar.api.batch.AbstractSourceImporter;
-import org.sonar.api.batch.Phase;
-import org.sonar.api.batch.ResourceCreationLock;
+import org.sonar.api.batch.*;
import org.sonar.api.resources.Java;
import org.sonar.api.resources.JavaFile;
import org.sonar.api.resources.Resource;
+import org.sonar.java.api.JavaUtils;
import java.io.File;
import java.util.List;
-@Phase(name = Phase.Name.PRE)
+@DependsUpon(classes=SquidSensor.class)
+@DependedUpon(JavaUtils.BARRIER_AFTER_SQUID)
public class JavaSourceImporter extends AbstractSourceImporter {
- private ResourceCreationLock lock;
- public JavaSourceImporter(ResourceCreationLock lock) {
+ public JavaSourceImporter() {
super(Java.INSTANCE);
- this.lock = lock;
}
@Override
protected Resource createResource(File file, List<File> sourceDirs, boolean unitTest) {
- return (file != null && !file.getName().contains("$")) ? JavaFile.fromIOFile(file, sourceDirs, unitTest) : null;
- }
-
- @Override
- protected void onFinished() {
- lock.lock();
+ return file != null ? JavaFile.fromIOFile(file, sourceDirs, unitTest) : null;
}
@Override
diff --git a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidPlugin.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidPlugin.java
index 16ba011d56d..856c3438fea 100644
--- a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidPlugin.java
+++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidPlugin.java
@@ -24,25 +24,25 @@ import org.sonar.api.Plugin;
import org.sonar.api.Properties;
import org.sonar.api.Property;
-import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
-@Properties( {
+@Properties({
@Property(key = SquidPluginProperties.SQUID_ANALYSE_ACCESSORS_PROPERTY,
- defaultValue = SquidPluginProperties.SQUID_ANALYSE_ACCESSORS_DEFAULT_VALUE
- + "",
- name = "Separate accessors",
- description = "Flag whether Squid should separate accessors (getters/setters) from methods. " +
- "In that case, accessors are not counted in metrics such as complexity or API documentation.",
- project = true, global = true),
+ defaultValue = SquidPluginProperties.SQUID_ANALYSE_ACCESSORS_DEFAULT_VALUE
+ + "",
+ name = "Separate accessors",
+ description = "Flag whether Squid should separate accessors (getters/setters) from methods. " +
+ "In that case, accessors are not counted in metrics such as complexity or API documentation.",
+ project = true, global = true),
@Property(key = SquidPluginProperties.FIELDS_TO_EXCLUDE_FROM_LCOM4_COMPUTATION,
- defaultValue = SquidPluginProperties.FIELDS_TO_EXCLUDE_FROM_LCOM4_COMPUTATION_DEFAULT_VALUE,
- name = "List of fields to exclude from LCOM4 computation",
- description = "Some fields should not be taken into account when computing LCOM4 measure as they " +
- "unexpectedly and artificially decrease the LCOM4 measure. "
- + "The best example is a logger used by all methods of a class. " +
- "All field names to exclude from LCOM4 computation must be separated by a comma.",
- project = true, global = true) })
+ defaultValue = SquidPluginProperties.FIELDS_TO_EXCLUDE_FROM_LCOM4_COMPUTATION_DEFAULT_VALUE,
+ name = "List of fields to exclude from LCOM4 computation",
+ description = "Some fields should not be taken into account when computing LCOM4 measure as they " +
+ "unexpectedly and artificially decrease the LCOM4 measure. "
+ + "The best example is a logger used by all methods of a class. " +
+ "All field names to exclude from LCOM4 computation must be separated by a comma.",
+ project = true, global = true)})
public class SquidPlugin implements Plugin {
public String getKey() {
@@ -58,13 +58,7 @@ public class SquidPlugin implements Plugin {
}
public List getExtensions() {
- List list = new ArrayList();
-
- list.add(SquidSearchProxy.class);
- list.add(SquidSensor.class);
- list.add(SquidRuleRepository.class);
-
- return list;
+ return Arrays.asList(SquidSearchProxy.class, SquidSensor.class, SquidRuleRepository.class, JavaSourceImporter.class);
}
@Override
diff --git a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidSensor.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidSensor.java
index 5abb4f50b67..c1b242e09de 100644
--- a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidSensor.java
+++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/SquidSensor.java
@@ -26,7 +26,9 @@ import org.sonar.api.checks.AnnotationCheckFactory;
import org.sonar.api.checks.NoSonarFilter;
import org.sonar.api.profiles.RulesProfile;
import org.sonar.api.resources.Java;
+import org.sonar.api.resources.JavaFile;
import org.sonar.api.resources.Project;
+import org.sonar.java.api.JavaUtils;
import java.io.File;
import java.nio.charset.Charset;
@@ -34,20 +36,22 @@ import java.util.Collection;
import java.util.List;
@Phase(name = Phase.Name.PRE)
-/* TODO is the flag still used ? */
-@DependedUpon(value = Sensor.FLAG_SQUID_ANALYSIS, classes = NoSonarFilter.class)
+@DependsUpon(JavaUtils.BARRIER_BEFORE_SQUID)
+@DependedUpon(value = JavaUtils.BARRIER_AFTER_SQUID, classes = NoSonarFilter.class)
public class SquidSensor implements Sensor {
private SquidSearchProxy proxy;
private NoSonarFilter noSonarFilter;
private RulesProfile profile;
private ProjectClasspath projectClasspath;
+ private ResourceCreationLock lock;
- public SquidSensor(RulesProfile profile, SquidSearchProxy proxy, NoSonarFilter noSonarFilter, ProjectClasspath projectClasspath) {
+ public SquidSensor(RulesProfile profile, SquidSearchProxy proxy, NoSonarFilter noSonarFilter, ProjectClasspath projectClasspath, ResourceCreationLock lock) {
this.proxy = proxy;
this.noSonarFilter = noSonarFilter;
this.profile = profile;
this.projectClasspath = projectClasspath;
+ this.lock = lock;
}
public boolean shouldExecuteOnProject(Project project) {
@@ -56,6 +60,12 @@ public class SquidSensor implements Sensor {
@SuppressWarnings("unchecked")
public void analyse(Project project, SensorContext context) {
+ analyzeMainSources(project, context);
+ browseTestSources(project, context);
+ lock.lock();
+ }
+
+ private void analyzeMainSources(Project project, SensorContext context) {
boolean analyzePropertyAccessors = project.getConfiguration().getBoolean(SquidPluginProperties.SQUID_ANALYSE_ACCESSORS_PROPERTY,
SquidPluginProperties.SQUID_ANALYSE_ACCESSORS_DEFAULT_VALUE);
String fieldNamesToExcludeFromLcom4Computation = project.getConfiguration().getString(
@@ -66,16 +76,26 @@ public class SquidSensor implements Sensor {
AnnotationCheckFactory factory = AnnotationCheckFactory.create(profile, SquidConstants.REPOSITORY_KEY, SquidRuleRepository.getCheckClasses());
SquidExecutor squidExecutor = new SquidExecutor(analyzePropertyAccessors, fieldNamesToExcludeFromLcom4Computation, factory, charset);
- squidExecutor.scan(getSourceFiles(project), getBytecodeFiles(project));
+ squidExecutor.scan(getMainSourceFiles(project), getMainBytecodeFiles(project));
squidExecutor.save(project, context, noSonarFilter);
squidExecutor.initSonarProxy(proxy);
}
- private List<File> getSourceFiles(Project project) {
+ private void browseTestSources(Project project, SensorContext context) {
+ for (File testFile : getTestSourceFiles(project)) {
+ context.index(JavaFile.fromIOFile(testFile, project.getFileSystem().getTestDirs(), true));
+ }
+ }
+
+ private List<File> getTestSourceFiles(Project project) {
+ return project.getFileSystem().getTestFiles(Java.INSTANCE);
+ }
+
+ private List<File> getMainSourceFiles(Project project) {
return project.getFileSystem().getJavaSourceFiles();
}
- private Collection<File> getBytecodeFiles(Project project) {
+ private Collection<File> getMainBytecodeFiles(Project project) {
Collection<File> bytecodeFiles = projectClasspath.getElements();
if ( !hasProjectBytecodeFiles(project)) {
File classesDir = project.getFileSystem().getBuildOutputDir();
diff --git a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/Lcom4BlocksBridge.java b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/Lcom4BlocksBridge.java
index 14a9b1b09b7..8971e618b4e 100644
--- a/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/Lcom4BlocksBridge.java
+++ b/plugins/sonar-squid-java-plugin/src/main/java/org/sonar/plugins/squid/bridges/Lcom4BlocksBridge.java
@@ -19,9 +19,11 @@
*/
package org.sonar.plugins.squid.bridges;
+import com.google.common.collect.Lists;
import org.sonar.api.measures.CoreMetrics;
import org.sonar.api.measures.Measure;
import org.sonar.api.measures.PersistenceMode;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Resource;
import org.sonar.java.bytecode.asm.AsmField;
import org.sonar.java.bytecode.asm.AsmMethod;
@@ -29,7 +31,10 @@ import org.sonar.java.bytecode.asm.AsmResource;
import org.sonar.squid.api.SourceFile;
import org.sonar.squid.measures.Metric;
-import java.util.*;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Set;
public class Lcom4BlocksBridge extends Bridge {
@@ -62,7 +67,7 @@ public class Lcom4BlocksBridge extends Bridge {
protected String serialize(List<Set<AsmResource>> blocks) {
sortBlocks(blocks);
-
+
StringBuilder sb = new StringBuilder();
sb.append('[');
@@ -102,7 +107,7 @@ public class Lcom4BlocksBridge extends Bridge {
}
protected List<AsmResource> sortResourcesInBlock(Set<AsmResource> block) {
- List<AsmResource> result = new ArrayList<AsmResource>();
+ List<AsmResource> result = Lists.newArrayList();
result.addAll(block);
Collections.sort(result, new Comparator<AsmResource>() {
@@ -127,10 +132,10 @@ public class Lcom4BlocksBridge extends Bridge {
private static String toQualifier(AsmResource asmResource) {
if (asmResource instanceof AsmField) {
- return Resource.QUALIFIER_FIELD;
+ return Qualifiers.FIELD;
}
if (asmResource instanceof AsmMethod) {
- return Resource.QUALIFIER_METHOD;
+ return Qualifiers.METHOD;
}
throw new IllegalArgumentException("Wrong ASM resource: " + asmResource.getClass());
}
diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/JavaSourceImporterTest.java b/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java
index 0b47543b33a..c6667a6920e 100644
--- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/sensors/JavaSourceImporterTest.java
+++ b/plugins/sonar-squid-java-plugin/src/test/java/org/sonar/plugins/squid/JavaSourceImporterTest.java
@@ -17,16 +17,10 @@
* License along with Sonar; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02
*/
-package org.sonar.plugins.core.sensors;
+package org.sonar.plugins.squid;
import org.apache.commons.io.FileUtils;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.Matchers.nullValue;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.mock;
-
import org.junit.Test;
-import org.sonar.api.batch.ResourceCreationLock;
import org.sonar.api.resources.JavaFile;
import org.sonar.api.resources.JavaPackage;
import org.sonar.api.resources.Resource;
@@ -36,11 +30,14 @@ import java.io.File;
import java.io.IOException;
import java.util.Arrays;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+
public class JavaSourceImporterTest {
@Test
- public void shouldCreateResource() throws IOException {
- JavaSourceImporter importer = new JavaSourceImporter(mock(ResourceCreationLock.class));
+ public void shouldDefineMainFile() throws IOException {
+ JavaSourceImporter importer = new JavaSourceImporter();
Resource clazz = importer.createResource(new File(newDir("source1"), "/MyClass.java"), Arrays.asList(newDir("source1")), false);
assertThat(clazz, is(JavaFile.class));
assertThat(clazz.getKey(), is(JavaPackage.DEFAULT_PACKAGE_NAME + ".MyClass"));
@@ -48,21 +45,13 @@ public class JavaSourceImporterTest {
}
@Test
- public void shouldCreateTestResource() throws IOException {
- JavaSourceImporter importer = new JavaSourceImporter(mock(ResourceCreationLock.class));
+ public void shouldDefineTestFile() throws IOException {
+ JavaSourceImporter importer = new JavaSourceImporter();
Resource resource = importer.createResource(new File(newDir("tests"), "/MyClassTest.java"), Arrays.asList(newDir("tests")), true);
assertThat(resource, is(JavaFile.class));
assertThat(ResourceUtils.isUnitTestClass(resource), is(true));
}
- @Test
- public void doNotSaveInnerClasses() throws IOException {
- // example : https://svn.apache.org/repos/asf/geronimo/server/trunk/plugins/corba/geronimo-corba/src/test/java/org/apache/geronimo/corba/compiler/other/Generic$Interface.java
- JavaSourceImporter importer = new JavaSourceImporter(mock(ResourceCreationLock.class));
- Resource resource = importer.createResource(new File(newDir("tests"), "/Generic$Interface.java"), Arrays.asList(newDir("tests")), true);
- assertThat(resource, nullValue());
- }
-
private File newDir(String relativePath) throws IOException {
File target = new File("target", relativePath);
FileUtils.forceMkdir(target);
diff --git a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java
index e21df1d9648..450570ff6bc 100644
--- a/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java
+++ b/plugins/sonar-surefire-plugin/src/test/java/org/sonar/plugins/surefire/SurefireSensorTest.java
@@ -19,19 +19,6 @@
*/
package org.sonar.plugins.surefire;
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Matchers.anyDouble;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
import org.apache.commons.lang.ObjectUtils;
import org.custommonkey.xmlunit.DetailedDiff;
import org.custommonkey.xmlunit.Diff;
@@ -46,6 +33,7 @@ import org.sonar.api.measures.Metric;
import org.sonar.api.resources.Java;
import org.sonar.api.resources.JavaFile;
import org.sonar.api.resources.Project;
+import org.sonar.api.resources.Qualifiers;
import org.sonar.api.test.IsMeasure;
import org.sonar.api.test.IsResource;
import org.sonar.api.test.MavenTestUtils;
@@ -55,6 +43,15 @@ import java.io.FileReader;
import java.io.StringReader;
import java.net.URISyntaxException;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThat;
+import static org.mockito.Matchers.anyDouble;
+import static org.mockito.Matchers.anyObject;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.*;
+
public class SurefireSensorTest {
@Test
@@ -94,7 +91,7 @@ public class SurefireSensorTest {
new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource(
"/org/sonar/plugins/surefire/SurefireSensorTest/doNotInsertZeroTestsOnClasses/").toURI()));
- verify(context, never()).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, never()).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
(Metric) anyObject(), anyDouble());
}
@@ -123,11 +120,11 @@ public class SurefireSensorTest {
new SurefireSensor().collect(newJarProject(), context, new File(getClass().getResource(
"/org/sonar/plugins/surefire/SurefireSensorTest/many-results/").toURI()));
- verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
eq(CoreMetrics.TESTS), anyDouble());
- verify(context, times(36)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(36)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
(Metric) anyObject(), anyDouble());
- verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
argThat(new IsMeasure(CoreMetrics.TEST_DATA)));
verify(context)
@@ -147,13 +144,13 @@ public class SurefireSensorTest {
"/org/sonar/plugins/surefire/SurefireSensorTest/shouldHandleTestSuiteDetails/").toURI()));
// 3 classes, 6 measures by class
- verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
eq(CoreMetrics.SKIPPED_TESTS), anyDouble());
- verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
eq(CoreMetrics.TESTS), anyDouble());
- verify(context, times(18)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(18)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
(Metric) anyObject(), anyDouble());
- verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(3)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
argThat(new IsMeasure(CoreMetrics.TEST_DATA)));
verify(context).saveMeasure(eq(new JavaFile("org.sonar.core.ExtensionsFinderTest", true)), eq(CoreMetrics.TESTS), eq(4d));
@@ -191,14 +188,14 @@ public class SurefireSensorTest {
"/org/sonar/plugins/surefire/SurefireSensorTest/shouldSaveErrorsAndFailuresInXML/").toURI()));
// 1 classes, 6 measures by class
- verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
eq(CoreMetrics.SKIPPED_TESTS), anyDouble());
- verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
eq(CoreMetrics.TESTS), anyDouble());
- verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(6)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
(Metric) anyObject(), anyDouble());
- verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, JavaFile.QUALIFIER_UNIT_TEST_CLASS)),
+ verify(context, times(1)).saveMeasure(argThat(new IsResource(JavaFile.SCOPE_ENTITY, Qualifiers.UNIT_TEST_FILE)),
argThat(new IsMeasure(CoreMetrics.TEST_DATA)));
verify(context).saveMeasure(eq(new JavaFile("org.sonar.core.ExtensionsFinderTest", true)),
@@ -283,7 +280,7 @@ public class SurefireSensorTest {
public boolean matches(Object obj) {
try {
- if ( !ObjectUtils.equals(CoreMetrics.TEST_DATA, ((Measure) obj).getMetric())) {
+ if (!ObjectUtils.equals(CoreMetrics.TEST_DATA, ((Measure) obj).getMetric())) {
return false;
}