diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2019-03-11 14:25:31 -0500 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-03-12 20:20:54 +0100 |
commit | de070c706ce286370c3e85d8285965200939ad1f (patch) | |
tree | 8b7b8b6e8f96f88164cb6cef492ff6c649c6783e /sonar-scanner-engine | |
parent | 79c8caec3bd50a4b86c30b1c42b11fe71d4bb3c9 (diff) | |
download | sonarqube-de070c706ce286370c3e85d8285965200939ad1f.tar.gz sonarqube-de070c706ce286370c3e85d8285965200939ad1f.zip |
SONAR-11795 Make metric 'executable_lines_data' available
Diffstat (limited to 'sonar-scanner-engine')
2 files changed, 9 insertions, 3 deletions
diff --git a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java index 42965a37d98..75a7806beab 100644 --- a/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java +++ b/sonar-scanner-engine/src/main/java/org/sonar/scanner/sensor/DefaultSensorStorage.java @@ -179,9 +179,8 @@ public class DefaultSensorStorage implements SensorStorage { } else { throw new IllegalArgumentException("Executable lines can only be saved on files"); } - } else { - reportPublisher.getWriter().appendComponentMeasure(((DefaultInputComponent) component).scannerId(), toReportMeasure(measure)); } + reportPublisher.getWriter().appendComponentMeasure(((DefaultInputComponent) component).scannerId(), toReportMeasure(measure)); } public static ScannerReport.Measure toReportMeasure(DefaultMeasure measureToSave) { diff --git a/sonar-scanner-engine/src/test/java/org/sonar/scanner/mediumtest/coverage/CoverageMediumTest.java b/sonar-scanner-engine/src/test/java/org/sonar/scanner/mediumtest/coverage/CoverageMediumTest.java index 4730fa8eadb..67659671c80 100644 --- a/sonar-scanner-engine/src/test/java/org/sonar/scanner/mediumtest/coverage/CoverageMediumTest.java +++ b/sonar-scanner-engine/src/test/java/org/sonar/scanner/mediumtest/coverage/CoverageMediumTest.java @@ -32,9 +32,11 @@ import org.sonar.api.utils.log.LogTester; import org.sonar.api.utils.log.LoggerLevel; import org.sonar.scanner.mediumtest.AnalysisResult; import org.sonar.scanner.mediumtest.ScannerMediumTester; +import org.sonar.scanner.protocol.output.ScannerReport; import org.sonar.xoo.XooPlugin; import static org.assertj.core.api.Assertions.assertThat; +import static org.assertj.core.api.AssertionsForClassTypes.tuple; public class CoverageMediumTest { @@ -280,6 +282,10 @@ public class CoverageMediumTest { assertThat(result.coverageFor(file, 3).getHits()).isFalse(); assertThat(result.coverageFor(file, 4)).isNull(); + + assertThat(result.allMeasures().get(file.key())) + .extracting(ScannerReport.Measure::getMetricKey, m -> m.getStringValue().getValue()) + .contains(tuple("executable_lines_data", "2=1;3=1;4=0")); } // SONAR-11641 @@ -294,7 +300,8 @@ public class CoverageMediumTest { File measuresFile = new File(srcDir, "sample.xoo.measures"); File coverageFile = new File(srcDir, "sample.xoo.coverage"); FileUtils.write(xooFile, "function foo() {\n if (a && b) {\nalert('hello');\n}\n}", StandardCharsets.UTF_8); - FileUtils.write(measuresFile, "# The code analyzer disagree with the coverage tool and consider some lines to be executable\nexecutable_lines_data:2=1;3=1;4=0", StandardCharsets.UTF_8); + FileUtils.write(measuresFile, "# The code analyzer disagree with the coverage tool and consider some lines to be executable\nexecutable_lines_data:2=1;3=1;4=0", + StandardCharsets.UTF_8); FileUtils.write(coverageFile, "# No lines to cover in this file according to the coverage tool", StandardCharsets.UTF_8); AnalysisResult result = tester.newAnalysis() |