Must-share information (formatted with Markdown):
- which versions are you using (SonarQube, Scanner, Plugin, and any relevant extension)
Server ID 10173C1E-AW-OunQtiDNiDb7hDFkk
Version 8.1.0.31237
SonarCFamilyLANGUAGES
Code Analyzer for C, C++, Objective-C
6.5.0 (build 12506)installed
I currentlty have a 2 week trial edition of the developer edition
- what are you trying to achieve
I try to see unittest and source files as code in sonarqube and using a static xml generic test execution format file to display the tests. Currently I get no test files under source when I include sonar.tests=testfolder and when I set sonar.tests.inclusions.
Then it dissapear under code.
- what have you tried so far to achieve this
I created folder named dotnet_test9
In here is a dontnet solution file.
the structure is as follows
./projectfolder\project.project ( dotnet)
./projectfolder\source
./projectfolder\tests
The sonarqube output
12:21:51.418 INFO: Project configuration:
12:21:51.418 INFO: Excluded sources: **/tests/**
12:21:51.419 INFO: Included tests: **/tests/**
12:21:51.419 INFO: Excluded tests: **/source/**
12:21:51.424 INFO: Indexing files of module 'projectfolder'
12:21:51.424 INFO: Base dir: C:\dotnet_test9\projectfolder
12:21:51.426 DEBUG: Source paths: Resources.Designer.cs, source/ui_steps.cs, tests/UnitTest1.cs, Resources.resx, , TestResults/UITEST_RESULTS.trx, TestResults/UI_TP.xml, UI_TP.xml
with the static UI_TP.xml
<testExecutions version="1">
<file path="projectfolder/tests/UnitTest1.cs">
<testCase name="TestMethod1" duration="5"/>
</file>
<file path="tests/UnitTest1.cs">
<testCase name="TestMethod1" duration="5"/>
</file>
<file path="UnitTest1.cs">
<testCase name="TestMethod1" duration="5"/>
</file>
</testExecutions>
sonar scanner commands:
SonarScanner.MSBuild.exe begin /k:"test_csharp" /d:sonar.host.url="http://10.10.20.211:9001" /d:sonar.login="c320e5a096e03bdfb82a4c51fb8728a6b89f097c"
MsBuild.exe /t:Rebuild
SonarScanner.MSBuild.exe end /d:sonar.login="c320e5a096e03bdfb82a4c51fb8728a6b89f097c"
Error I notice:
12:21:55.579 INFO: Imported test execution data for 0 files
12:21:55.580 INFO: Test execution data ignored for 3 unknown files, including:
projectfolder/tests/UnitTest1.cs
tests/UnitTest1.cs
UnitTest1.cs
extra config in sonarqubeanalysis.xml in sonarscanner folder
Any clue? Why it doesnt want to import the generic test report. the xml is checked against the sonarqube documenation listed here:
sonarqube documentation generic test execution
and why I cant see the tests/Unittest1 under code in sonarqube
Also whenever I try to change sonar.exclusions I always get unittest.cs file cant be indexed twice.
Even when I put a configuration inside SonarQube web configuration in analysis scope to exclude or include.
Notice currently I dont have put anything in the analysis scope in SonarQube itself.
Edit:
When I add the sonar.tests variable for with sonar.tests = tests
Then I get always this
13:25:23.425 ERROR: Error during SonarQube Scanner execution
13:25:23.312 DEBUG: Test paths: tests
13:25:23.312 INFO: Excluded sources: **/tests/**
13:25:23.312 INFO: Included tests: **/tests/**
File tests/UnitTest1.cs can't be indexed twice. Please check that inclusion/exclusion patterns produce disjoint sets for main and test files
But the log tells me
13:27:02.593 DEBUG: Test paths: tests
13:27:02.594 INFO: Excluded sources: **/tests/**, **/tests/**
13:27:02.594 INFO: Included tests: **/tests/**
13:27:02.594 INFO: Excluded tests: **/source/**
13:27:02.596 DEBUG: 'tests/UnitTest1.cs' generated metadata as test with charset 'UTF-8'
that they are correct excluded ?
I suspect the error is telling in the source we analysed the unittest already?
so we cant do it in the tests again, but they are excluded!! ? it breaks my mind lol
maybe this could be?
13:30:26.950 INFO: Indexing files of module 'SMT_CORE_UI_TESTS'
13:30:26.950 INFO: Base dir: C:\dotnet_test9\projectfolder
13:30:26.952 DEBUG: Source paths: Resources.Designer.cs, source/ui_steps.cs, tests/UnitTest1.cs, Resources.resx, UI_TP.xml
13:30:26.953 DEBUG: Test paths: tests
13:30:26.953 INFO: Excluded sources: **/tests/**, **/tests/**
13:30:26.953 INFO: Included tests: **/tests/**
13:30:26.953 INFO: Excluded tests: **/source/**
I notice it sees the source paths test/
While in my exclude I put **/tests/** except ** would be a wildcard to find more not?
edit2:
nope adding , tests to the sonar.tests didnt solve it either.
update:
removing sonar.tests and all exclusions and inclusions.
I get this:
But now the tests folder files are not listed as tests just as normal source.
Update3:
When I add back the execution report path and the import unknow files
I get this:
it sounds fair, cause I didnt said sonar.tests = tests folder but whenever I do that I get all these problems above in the topic.
then when i add
sonar.tests.inclusions=tests
I get
plus the tests dissapear now in code folder in sonarqube dashboard