Skip to content

Commit 80ed84e

Browse files
committed
SONARCS-589 Upgrade to the .NET Tests Library 1.3
1 parent c688f34 commit 80ed84e

File tree

4 files changed

+81
-24
lines changed

4 files changed

+81
-24
lines changed

pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@
6161
<version>1.3</version>
6262
</dependency>
6363
<dependency>
64-
<groupId>org.sonarsource.sonar-plugins.dotnet.tests</groupId>
64+
<groupId>org.sonarsource.dotnet</groupId>
6565
<artifactId>sonar-dotnet-tests-library</artifactId>
66-
<version>1.2.1</version>
66+
<version>1.3</version>
6767
</dependency>
6868

6969
<dependency>

src/main/java/org/sonar/plugins/csharp/CSharpCodeCoverageProvider.java

+65-9
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.sonar.plugins.csharp;
2121

2222
import com.google.common.collect.ImmutableList;
23+
import java.util.List;
2324
import org.sonar.api.batch.fs.FileSystem;
2425
import org.sonar.api.config.PropertyDefinition;
2526
import org.sonar.api.config.Settings;
@@ -28,8 +29,6 @@
2829
import org.sonar.plugins.dotnet.tests.CoverageConfiguration;
2930
import org.sonar.plugins.dotnet.tests.CoverageReportImportSensor;
3031

31-
import java.util.List;
32-
3332
public class CSharpCodeCoverageProvider {
3433

3534
private static final String CATEGORY = "C#";
@@ -40,43 +39,84 @@ public class CSharpCodeCoverageProvider {
4039
private static final String DOTCOVER_PROPERTY_KEY = "sonar.cs.dotcover.reportsPaths";
4140
private static final String VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY = "sonar.cs.vscoveragexml.reportsPaths";
4241

42+
private static final String IT_NCOVER3_PROPERTY_KEY = "sonar.cs.ncover3.it.reportsPaths";
43+
private static final String IT_OPENCOVER_PROPERTY_KEY = "sonar.cs.opencover.it.reportsPaths";
44+
private static final String IT_DOTCOVER_PROPERTY_KEY = "sonar.cs.dotcover.it.reportsPaths";
45+
private static final String IT_VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY = "sonar.cs.vscoveragexml.it.reportsPaths";
46+
4347
private static final CoverageConfiguration COVERAGE_CONF = new CoverageConfiguration(
4448
CSharpPlugin.LANGUAGE_KEY,
4549
NCOVER3_PROPERTY_KEY,
4650
OPENCOVER_PROPERTY_KEY,
4751
DOTCOVER_PROPERTY_KEY,
4852
VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY);
4953

54+
private static final CoverageConfiguration IT_COVERAGE_CONF = new CoverageConfiguration(
55+
CSharpPlugin.LANGUAGE_KEY,
56+
IT_NCOVER3_PROPERTY_KEY,
57+
IT_OPENCOVER_PROPERTY_KEY,
58+
IT_DOTCOVER_PROPERTY_KEY,
59+
IT_VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY);
60+
5061
private CSharpCodeCoverageProvider() {
5162
}
5263

5364
public static List extensions() {
5465
return ImmutableList.of(
55-
CSharpCoverageAggregator.class,
56-
CSharpCoverageReportImportSensor.class,
66+
CSharpCoverageAggregator.class, CSharpIntegrationCoverageAggregator.class,
67+
CSharpCoverageReportImportSensor.class, CSharpIntegrationCoverageReportImportSensor.class,
68+
5769
PropertyDefinition.builder(NCOVER3_PROPERTY_KEY)
58-
.name("NCover3 Reports Paths")
70+
.name("NCover3 Unit Tests Reports Paths")
71+
.description("Example: \"report.nccov\", \"report1.nccov,report2.nccov\" or \"C:/report.nccov\"")
72+
.category(CATEGORY)
73+
.subCategory(SUBCATEGORY)
74+
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
75+
.build(),
76+
PropertyDefinition.builder(IT_NCOVER3_PROPERTY_KEY)
77+
.name("NCover3 Integration Tests Reports Paths")
5978
.description("Example: \"report.nccov\", \"report1.nccov,report2.nccov\" or \"C:/report.nccov\"")
6079
.category(CATEGORY)
6180
.subCategory(SUBCATEGORY)
6281
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
6382
.build(),
6483
PropertyDefinition.builder(OPENCOVER_PROPERTY_KEY)
65-
.name("OpenCover Reports Paths")
84+
.name("OpenCover Unit Tests Reports Paths")
85+
.description("Example: \"report.xml\", \"report1.xml,report2.xml\" or \"C:/report.xml\"")
86+
.category(CATEGORY)
87+
.subCategory(SUBCATEGORY)
88+
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
89+
.build(),
90+
PropertyDefinition.builder(IT_OPENCOVER_PROPERTY_KEY)
91+
.name("OpenCover Integration Tests Reports Paths")
6692
.description("Example: \"report.xml\", \"report1.xml,report2.xml\" or \"C:/report.xml\"")
6793
.category(CATEGORY)
6894
.subCategory(SUBCATEGORY)
6995
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
7096
.build(),
7197
PropertyDefinition.builder(DOTCOVER_PROPERTY_KEY)
72-
.name("dotCover (HTML) Reports Paths")
98+
.name("dotCover Unit Tests (HTML) Reports Paths")
99+
.description("Example: \"report.html\", \"report1.html,report2.html\" or \"C:/report.html\"")
100+
.category(CATEGORY)
101+
.subCategory(SUBCATEGORY)
102+
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
103+
.build(),
104+
PropertyDefinition.builder(IT_DOTCOVER_PROPERTY_KEY)
105+
.name("dotCover Integration Tests (HTML) Reports Paths")
73106
.description("Example: \"report.html\", \"report1.html,report2.html\" or \"C:/report.html\"")
74107
.category(CATEGORY)
75108
.subCategory(SUBCATEGORY)
76109
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
77110
.build(),
78111
PropertyDefinition.builder(VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY)
79-
.name("Visual Studio (XML) Reports Paths")
112+
.name("Visual Studio Unit Tests (XML) Reports Paths")
113+
.description("Example: \"report.coveragexml\", \"report1.coveragexml,report2.coveragexml\" or \"C:/report.coveragexml\"")
114+
.category(CATEGORY)
115+
.subCategory(SUBCATEGORY)
116+
.onlyOnQualifiers(Qualifiers.PROJECT, Qualifiers.MODULE)
117+
.build(),
118+
PropertyDefinition.builder(IT_VISUAL_STUDIO_COVERAGE_XML_PROPERTY_KEY)
119+
.name("Visual Studio Integration Tests (XML) Reports Paths")
80120
.description("Example: \"report.coveragexml\", \"report1.coveragexml,report2.coveragexml\" or \"C:/report.coveragexml\"")
81121
.category(CATEGORY)
82122
.subCategory(SUBCATEGORY)
@@ -95,7 +135,23 @@ public CSharpCoverageAggregator(Settings settings) {
95135
public static class CSharpCoverageReportImportSensor extends CoverageReportImportSensor {
96136

97137
public CSharpCoverageReportImportSensor(CSharpCoverageAggregator coverageAggregator, FileSystem fs) {
98-
super(COVERAGE_CONF, coverageAggregator, fs);
138+
super(COVERAGE_CONF, coverageAggregator, fs, false);
139+
}
140+
141+
}
142+
143+
public static class CSharpIntegrationCoverageAggregator extends CoverageAggregator {
144+
145+
public CSharpIntegrationCoverageAggregator(Settings settings) {
146+
super(IT_COVERAGE_CONF, settings);
147+
}
148+
149+
}
150+
151+
public static class CSharpIntegrationCoverageReportImportSensor extends CoverageReportImportSensor {
152+
153+
public CSharpIntegrationCoverageReportImportSensor(CSharpIntegrationCoverageAggregator coverageAggregator, FileSystem fs) {
154+
super(IT_COVERAGE_CONF, coverageAggregator, fs, true);
99155
}
100156

101157
}

src/main/java/org/sonar/plugins/csharp/CSharpUnitTestResultsProvider.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,24 +20,24 @@
2020
package org.sonar.plugins.csharp;
2121

2222
import com.google.common.collect.ImmutableList;
23+
import java.util.List;
2324
import org.sonar.api.config.PropertyDefinition;
2425
import org.sonar.api.config.Settings;
2526
import org.sonar.api.resources.Qualifiers;
2627
import org.sonar.plugins.dotnet.tests.UnitTestConfiguration;
2728
import org.sonar.plugins.dotnet.tests.UnitTestResultsAggregator;
2829
import org.sonar.plugins.dotnet.tests.UnitTestResultsImportSensor;
2930

30-
import java.util.List;
31-
3231
public class CSharpUnitTestResultsProvider {
3332

3433
private static final String CATEGORY = "C#";
3534
private static final String SUBCATEGORY = "Unit Tests";
3635

3736
private static final String VISUAL_STUDIO_TEST_RESULTS_PROPERTY_KEY = "sonar.cs.vstest.reportsPaths";
3837
private static final String NUNIT_TEST_RESULTS_PROPERTY_KEY = "sonar.cs.nunit.reportsPaths";
38+
private static final String XUNIT_TEST_RESULTS_PROPERTY_KEY = "sonar.cs.xunit.reportsPaths";
3939

40-
private static final UnitTestConfiguration UNIT_TEST_CONF = new UnitTestConfiguration(VISUAL_STUDIO_TEST_RESULTS_PROPERTY_KEY, NUNIT_TEST_RESULTS_PROPERTY_KEY);
40+
private static final UnitTestConfiguration UNIT_TEST_CONF = new UnitTestConfiguration(VISUAL_STUDIO_TEST_RESULTS_PROPERTY_KEY, NUNIT_TEST_RESULTS_PROPERTY_KEY, XUNIT_TEST_RESULTS_PROPERTY_KEY);
4141

4242
private CSharpUnitTestResultsProvider() {
4343
}

src/test/java/org/sonar/plugins/csharp/CSharpCodeCoverageProviderTest.java

+11-10
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,15 @@
2020
package org.sonar.plugins.csharp;
2121

2222
import com.google.common.collect.ImmutableSet;
23+
import java.lang.reflect.Constructor;
24+
import java.util.List;
25+
import java.util.Set;
2326
import org.junit.Test;
2427
import org.sonar.api.config.PropertyDefinition;
2528
import org.sonar.plugins.csharp.CSharpCodeCoverageProvider.CSharpCoverageAggregator;
2629
import org.sonar.plugins.csharp.CSharpCodeCoverageProvider.CSharpCoverageReportImportSensor;
27-
28-
import java.lang.reflect.Constructor;
29-
import java.util.List;
30-
import java.util.Set;
30+
import org.sonar.plugins.csharp.CSharpCodeCoverageProvider.CSharpIntegrationCoverageAggregator;
31+
import org.sonar.plugins.csharp.CSharpCodeCoverageProvider.CSharpIntegrationCoverageReportImportSensor;
3132

3233
import static org.fest.assertions.Assertions.assertThat;
3334

@@ -36,13 +37,13 @@ public class CSharpCodeCoverageProviderTest {
3637
@Test
3738
public void test() {
3839
assertThat(nonProperties(CSharpCodeCoverageProvider.extensions())).containsOnly(
39-
CSharpCoverageAggregator.class,
40-
CSharpCoverageReportImportSensor.class);
40+
CSharpCoverageAggregator.class, CSharpIntegrationCoverageAggregator.class,
41+
CSharpCoverageReportImportSensor.class, CSharpIntegrationCoverageReportImportSensor.class);
4142
assertThat(propertyKeys(CSharpCodeCoverageProvider.extensions())).containsOnly(
42-
"sonar.cs.ncover3.reportsPaths",
43-
"sonar.cs.opencover.reportsPaths",
44-
"sonar.cs.dotcover.reportsPaths",
45-
"sonar.cs.vscoveragexml.reportsPaths");
43+
"sonar.cs.ncover3.reportsPaths", "sonar.cs.ncover3.it.reportsPaths",
44+
"sonar.cs.opencover.reportsPaths", "sonar.cs.opencover.it.reportsPaths",
45+
"sonar.cs.dotcover.reportsPaths", "sonar.cs.dotcover.it.reportsPaths",
46+
"sonar.cs.vscoveragexml.reportsPaths", "sonar.cs.vscoveragexml.it.reportsPaths");
4647
}
4748

4849
@Test

0 commit comments

Comments
 (0)