Closed pavel-mikula-sonarsource closed 3 years ago
I realized another edge-case scenario:
This should be one of the integration tests for this ticket.
Scenarios for ITs:
To validate this on Cirrus CI, I need to use the quirrus tool to get the logs.
I queried the logs from cirrus CI:
There are some projects where there's multiple with no MAIN nor TEST files
, like aspnetcore-identity
.
I checked the aspnetcore
repository, and there are multiple .proj
, .npmproj
, .rpmproj
.vcxproj
etc files in the repository that may be the ones w/o files. However, I only found 38 (out of 612) *proj
files which are not *.csproj
. And for the aspnetcore-identity
there are 44 with no MAIN nor TEST files
reported.
For now, I won't investigate further, as the logging didn't add any functional change on how test files are classified - this is just the current behavior of the scanner for msbuild.
akka-msbuild14: 88 MSBuild projects. 57 MAIN projects. 24 TEST projects. 7 with no MAIN nor TEST files.
aspnet-boilerplate: 76 MSBuild projects. 51 MAIN projects. 26 TEST projects.
aspnetcore-health: 2 MSBuild projects. 2 MAIN projects. 1 TEST project.
aspnetcore-identity: 153 MSBuild projects. 102 MAIN projects. 7 TEST projects. 44 with no MAIN nor TEST files.
aspnetcore-kestrel: 72 MSBuild projects. 42 MAIN projects. 7 TEST projects. 23 with no MAIN nor TEST files.
aspnetcore-mvc: 188 MSBuild projects. 122 MAIN projects. 18 TEST projects. 48 with no MAIN nor TEST files.
auto-mapper: 6 MSBuild projects. 2 MAIN projects. 5 TEST projects.
automatic-graph-layout: 40 MSBuild projects. 38 MAIN projects. 3 TEST projects.
awssdk: 172 MSBuild projects. 169 MAIN projects. 2 TEST projects. 1 with no MAIN nor TEST files.
benchmark-dot-net: 15 MSBuild projects. 10 MAIN projects. 2 TEST projects. 3 with no MAIN nor TEST files.
beyourmarket: 9 MSBuild projects. 9 MAIN projects. 1 TEST project.
bitwarden-core: 11 MSBuild projects. 11 MAIN projects.
blazor: 1 MSBuild project. 1 MAIN project.
cloudscribe: 36 MSBuild projects. 31 MAIN projects. 2 TEST projects. 3 with no MAIN nor TEST files.
codehub: 2 MSBuild projects. 3 MAIN projects.
csharp-language-server-protocol: 7 MSBuild projects. 5 MAIN projects. 3 TEST projects.
dnn: 48 MSBuild projects. 37 MAIN projects. 10 TEST projects. 1 with no MAIN nor TEST files.
dnspy: 43 MSBuild projects. 41 MAIN projects. 2 with no MAIN nor TEST files.
elasticsearch-net: 5 MSBuild projects. 5 MAIN projects. 1 TEST project.
embedio: 2 MSBuild projects. 2 MAIN projects. 1 TEST project.
event-flow: 25 MSBuild projects. 14 MAIN projects. 12 TEST projects.
eventstore: 17 MSBuild projects. 14 MAIN projects. 4 TEST projects.
fluentassertions: 14 MSBuild projects. 7 MAIN projects. 6 TEST projects. 1 with no MAIN nor TEST files.
flurl: 6 MSBuild projects. 6 MAIN projects. 1 TEST project.
fody: 10 MSBuild projects. 8 MAIN projects. 2 TEST projects.
jabbr: 4 MSBuild projects. 4 MAIN projects. 1 TEST project.
lucenenet: 51 MSBuild projects. 27 MAIN projects. 25 TEST projects.
masstransit: 66 MSBuild projects. 44 MAIN projects. 23 TEST projects.
mixerp: 66 MSBuild projects. 67 MAIN projects.
moq: 3 MSBuild projects. 1 MAIN project. 1 TEST project. 1 with no MAIN nor TEST files.
newtonsoft-json: 2 MSBuild projects. 2 MAIN projects. 1 TEST project.
nhibernate: 4 MSBuild projects. 2 MAIN projects. 2 TEST projects.
nlog: 7 MSBuild projects. 7 MAIN projects. 1 TEST project.
nodatime: 12 MSBuild projects. 10 MAIN projects. 3 TEST projects.
northwind-traders: 7 MSBuild projects. 6 MAIN projects. 2 TEST projects.
nuget-gallery: 17 MSBuild projects. 11 MAIN projects. 7 TEST projects.
nuget-server: 6 MSBuild projects. 4 MAIN projects. 3 TEST projects.
nunit: 7 MSBuild projects. 3 MAIN projects. 5 TEST projects.
odata: 9 MSBuild projects. 4 MAIN projects. 1 TEST project. 4 with no MAIN nor TEST files.
offwind-msbuild14: 8 MSBuild projects. 9 MAIN projects.
omnisharp-roslyn: 25 MSBuild projects. 16 MAIN projects. 10 TEST projects.
omnisharp-server: 8 MSBuild projects. 8 MAIN projects. 1 TEST project.
openiddict-core: 31 MSBuild projects. 23 MAIN projects. 9 TEST projects.
orchard-cms: 84 MSBuild projects. 76 MAIN projects. 9 TEST projects.
pascalabcnet: 31 MSBuild projects. 32 MAIN projects.
pirahna-cms-legacy: 5 MSBuild projects. 6 MAIN projects.
ravendb: 31 MSBuild projects. 19 MAIN projects. 12 TEST projects.
refactoring-essentials: 5 MSBuild projects. 3 MAIN projects. 1 TEST project. 1 with no MAIN nor TEST files.
refit: 5 MSBuild projects. 5 MAIN projects. 1 TEST project.
screentogif: 3 MSBuild projects. 2 MAIN projects. 2 TEST projects.
servuo: 2 MSBuild projects. 3 MAIN projects.
sharex: 9 MSBuild projects. 10 MAIN projects.
sharpcompress: 1 MSBuild project. 1 MAIN project. 1 TEST project.
sharpdevelop-avalonedit: 2 MSBuild projects. 2 MAIN projects. 1 TEST project.
sharpdevelop-wpfdesigner: 8 MSBuild projects. 8 MAIN projects. 1 TEST project.
sharpziplib: 2 MSBuild projects. 2 MAIN projects. 1 TEST project.
simplcommerce: 45 MSBuild projects. 41 MAIN projects. 5 TEST projects.
smartstore: 24 MSBuild projects. 20 MAIN projects. 5 TEST projects.
smsportal-msbuild14: 5 MSBuild projects. 6 MAIN projects.
stripe: 1 MSBuild project. 1 MAIN project. 1 TEST project.
stylecop: 5 MSBuild projects. 3 MAIN projects. 2 TEST projects.
system-wrapper: 3 MSBuild projects. 3 MAIN projects. 1 TEST project.
umbraco: 13 MSBuild projects. 13 MAIN projects. 1 TEST project.
wcf: 50 MSBuild projects. 13 MAIN projects. 30 TEST projects. 7 with no MAIN nor TEST files.
I am reopening now as there there are some inconsistencies:
flurl: 6 MSBuild projects. 6 MAIN projects. 1 TEST project.
- 6 + 1 should be 7servuo: 2 MSBuild projects. 3 MAIN projects.
sharex: 9 MSBuild projects. 10 MAIN projects.
sharpcompress: 1 MSBuild project. 1 MAIN project. 1 TEST project.
nodatime: 12 MSBuild projects. 10 MAIN projects. 3 TEST projects.
auto-mapper: 6 MSBuild projects. 2 MAIN projects. 5 TEST projects.
This is probably due to the assumption that there always is a top-level project.
validation:
akka: 67 MSBuild projects. 42 MAIN projects. 25 TEST projects.
akka-msbuild14: 81 MSBuild projects. 57 MAIN projects. 24 TEST projects.
aspnet-boilerplate: 77 MSBuild projects. 51 MAIN projects. 26 TEST projects.
aspnetcore-health: 3 MSBuild projects. 2 MAIN projects. 1 TEST project.
aspnetcore-identity: 154 MSBuild projects. 102 MAIN projects. 7 TEST projects. 45 with no MAIN nor TEST files.
aspnetcore-kestrel: 73 MSBuild projects. 42 MAIN projects. 7 TEST projects. 24 with no MAIN nor TEST files.
aspnetcore-mvc: 189 MSBuild projects. 122 MAIN projects. 18 TEST projects. 49 with no MAIN nor TEST files.
auto-mapper: 7 MSBuild projects. 2 MAIN projects. 5 TEST projects.
automatic-graph-layout: 41 MSBuild projects. 38 MAIN projects. 3 TEST projects.
awssdk: 173 MSBuild projects. 169 MAIN projects. 2 TEST projects. 2 with no MAIN nor TEST files.
benchmark-dot-net: 13 MSBuild projects. 10 MAIN projects. 2 TEST projects. 1 with no MAIN nor TEST files.
beyourmarket: 10 MSBuild projects. 9 MAIN projects. 1 TEST project.
bitwarden-core: 12 MSBuild projects. 11 MAIN projects. 1 with no MAIN nor TEST files.
blazor: 2 MSBuild projects. 1 MAIN project. 1 with no MAIN nor TEST files.
cloudscribe: 37 MSBuild projects. 31 MAIN projects. 2 TEST projects. 4 with no MAIN nor TEST files.
codehub: 3 MSBuild projects. 3 MAIN projects.
csharp-language-server-protocol: 8 MSBuild projects. 5 MAIN projects. 3 TEST projects.
dnn: 48 MSBuild projects. 37 MAIN projects. 10 TEST projects. 1 with no MAIN nor TEST files.
dnspy: 41 MSBuild projects. 41 MAIN projects.
elasticsearch-net: 6 MSBuild projects. 5 MAIN projects. 1 TEST project.
embedio: 3 MSBuild projects. 2 MAIN projects. 1 TEST project.
event-flow: 26 MSBuild projects. 14 MAIN projects. 12 TEST projects.
eventstore: 18 MSBuild projects. 14 MAIN projects. 4 TEST projects.
fluentassertions: 15 MSBuild projects. 7 MAIN projects. 6 TEST projects. 2 with no MAIN nor TEST files.
flurl: 7 MSBuild projects. 6 MAIN projects. 1 TEST project.
fody: 11 MSBuild projects. 8 MAIN projects. 2 TEST projects. 1 with no MAIN nor TEST files.
jabbr: 5 MSBuild projects. 4 MAIN projects. 1 TEST project.
lucenenet: 52 MSBuild projects. 27 MAIN projects. 25 TEST projects.
masstransit: 67 MSBuild projects. 44 MAIN projects. 23 TEST projects.
mixerp: 67 MSBuild projects. 67 MAIN projects.
moq: 2 MSBuild projects. 1 MAIN project. 1 TEST project.
net5-project: 1 MSBuild project. 1 MAIN project.
newtonsoft-json: 3 MSBuild projects. 2 MAIN projects. 1 TEST project.
nhibernate: 4 MSBuild projects. 2 MAIN projects. 2 TEST projects.
nlog: 8 MSBuild projects. 7 MAIN projects. 1 TEST project.
nodatime: 13 MSBuild projects. 10 MAIN projects. 3 TEST projects.
nopowershell: 1 MSBuild project. 1 MAIN project.
northwind-traders: 8 MSBuild projects. 6 MAIN projects. 2 TEST projects.
nuget-gallery: 18 MSBuild projects. 11 MAIN projects. 7 TEST projects.
nuget-server: 7 MSBuild projects. 4 MAIN projects. 3 TEST projects.
ocelot: 6 MSBuild projects. 2 MAIN projects. 4 TEST projects.
odata: 10 MSBuild projects. 4 MAIN projects. 1 TEST project. 5 with no MAIN nor TEST files.
offwind-msbuild14: 9 MSBuild projects. 9 MAIN projects.
omnisharp-server: 9 MSBuild projects. 8 MAIN projects. 1 TEST project.
openiddict-core: 32 MSBuild projects. 23 MAIN projects. 9 TEST projects.
orchard-cms: 85 MSBuild projects. 76 MAIN projects. 9 TEST projects.
pascalabcnet: 32 MSBuild projects. 32 MAIN projects.
ravendb: 32 MSBuild projects. 19 MAIN projects. 12 TEST projects. 1 with no MAIN nor TEST files.
refit: 6 MSBuild projects. 5 MAIN projects. 1 TEST project.
servuo: 3 MSBuild projects. 3 MAIN projects.
sharex: 10 MSBuild projects. 10 MAIN projects.
sharpcompress: 2 MSBuild projects. 1 MAIN project. 1 TEST project.
sharpdevelop-avalonedit: 3 MSBuild projects. 2 MAIN projects. 1 TEST project.
sharpdevelop-wpfdesigner: 9 MSBuild projects. 8 MAIN projects. 1 TEST project.
sharpziplib: 3 MSBuild projects. 2 MAIN projects. 1 TEST project.
simplcommerce: 46 MSBuild projects. 41 MAIN projects. 5 TEST projects.
smartstore: 25 MSBuild projects. 20 MAIN projects. 5 TEST projects.
smsportal-msbuild14: 6 MSBuild projects. 6 MAIN projects.
staxrip: 1 MSBuild project. 1 MAIN project.
stylecop: 6 MSBuild projects. 3 MAIN projects. 2 TEST projects. 1 with no MAIN nor TEST files.
system-wrapper: 4 MSBuild projects. 3 MAIN projects. 1 TEST project.
umbraco: 14 MSBuild projects. 13 MAIN projects. 1 TEST project.
wcf: 46 MSBuild projects. 13 MAIN projects. 30 TEST projects. 3 with no MAIN nor TEST files.
Gather test vs main project statistics in a module level sensor. Report INFO with number of main and test projects analyzed.