I’m using an azure devops build agent to generate a coverage xml:
python -m pytest --cov=<REDACTED> <REDACTED>/tests -cov-report=xml
My sonar-project.properties file contains the line:
sonar.python.coverage.reportPaths = **/*coverage
Please provide the expected pytest-cov command for providing a valid coverage xml format as well as the expected sonar-project.properties entry if the report is called ‘coverage.xml’ and found in the project root directory.
Thanks!
INFO: 28/36 files analyzed, current file: <REDACTED>
INFO: 36/36 source files have been analyzed
INFO: Sensor Python Sensor [python] (done) | time=14442ms
INFO: Sensor Cobertura Sensor for Python coverage [python]
##[error]java.lang.IllegalStateException: Error parsing the report 'D:\a\1\s\.coverage'
java.lang.IllegalStateException: Error parsing the report 'D:\a\1\s\.coverage'
##[error]at org.sonar.plugins.python.coverage.PythonCoverageSensor.parseReport(PythonCoverageSensor.java:124)
at org.sonar.plugins.python.coverage.PythonCoverageSensor.execute(PythonCoverageSensor.java:81)
at org.sonar.plugins.python.coverage.PythonCoverageSensor.parseReport(PythonCoverageSensor.java:124)
at org.sonar.plugins.python.coverage.PythonCoverageSensor.execute(PythonCoverageSensor.java:81)
##[error]at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:62)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.scan.ModuleScanContainer.doAfterStart(ModuleScanContainer.java:64)
at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:62)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:75)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:48)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:66)
at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:48)
##[error]at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:123)
(The stack goes on like this for quite a while. Let me know if you need more).