-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcodecoverage.runsettings
More file actions
86 lines (78 loc) · 3.9 KB
/
Copy pathcodecoverage.runsettings
File metadata and controls
86 lines (78 loc) · 3.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?xml version="1.0" encoding="utf-8" ?>
<RunSettings>
<!-- General Run Configuration -->
<RunConfiguration>
<MaxCpuCount>0</MaxCpuCount>
<ResultsDirectory>./TestResults</ResultsDirectory>
</RunConfiguration>
<DataCollectionRunSettings>
<DataCollectors>
<!-- Coverlet Data Collector for XPlat Code Coverage (cross-platform CLI & CI) -->
<DataCollector friendlyName="XPlat code coverage">
<Configuration>
<!-- Formats: Cobertura for CI/CD reports & OpenCover for CRAP score complexity analysis -->
<Format>cobertura,opencover</Format>
<!-- Include only production Aquila libraries -->
<Include>[Aquila.Core]*,[Aquila.Cosmos]*,[Aquila.Redis]*</Include>
<!-- Exclude test assemblies, benchmark assemblies, sample assemblies, and test projection classes -->
<Exclude>[*.Tests]*,[*.Tests.*]*,[*.Test]*,[*.Benchmarks]*,[*.Samples]*,[Aquila.*Tests]*</Exclude>
<!-- Exclude by attributes: generated code, obsolete code, compiler generated, and explicit opt-outs -->
<ExcludeByAttribute>Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute,ExcludeFromCodeCoverageAttribute,ExcludeFromCodeCoverage</ExcludeByAttribute>
<!-- Exclude source-generated files, build output, test projections, and test source trees -->
<ExcludeByFile>**/obj/**/*,**/*.g.cs,**/*.designer.cs,**/tests/**/*,**/tests/**/Projections/**/*,**/*ProjectionTests*.cs,**/benchmarks/**/*,**/samples/**/*</ExcludeByFile>
<!-- Explicitly ensure test assemblies are excluded from coverage collection -->
<IncludeTestAssembly>false</IncludeTestAssembly>
<!-- Optimization & precision settings -->
<SingleHit>false</SingleHit>
<UseSourceLink>true</UseSourceLink>
<SkipAutoProps>true</SkipAutoProps>
</Configuration>
</DataCollector>
<!-- Microsoft Visual Studio / dotnet-coverage Collector -->
<DataCollector friendlyName="Code Coverage">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Include>
<ModulePath>.*Aquila\.(Core|Cosmos|Redis)\.dll$</ModulePath>
</Include>
<Exclude>
<ModulePath>.*Tests\.dll$</ModulePath>
<ModulePath>.*Benchmarks\.dll$</ModulePath>
<ModulePath>.*Samples\.dll$</ModulePath>
</Exclude>
</ModulePaths>
<Functions>
<Exclude>
<Function>.*Tests\..*</Function>
<Function>.*Test.*Projection.*</Function>
<Function>.*Projection.*Test.*</Function>
</Exclude>
</Functions>
<Attributes>
<Exclude>
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
<Attribute>^System\.CodeDom\.Compiler\.GeneratedCodeAttribute$</Attribute>
<Attribute>^System\.Runtime\.CompilerServices\.CompilerGeneratedAttribute$</Attribute>
<Attribute>^System\.ObsoleteAttribute$</Attribute>
</Exclude>
</Attributes>
<Sources>
<Exclude>
<Source>.*[/\\]tests[/\\].*</Source>
<Source>.*[/\\]benchmarks[/\\].*</Source>
<Source>.*[/\\]samples[/\\].*</Source>
<Source>.*[/\\]obj[/\\].*</Source>
<Source>.*\.(g|designer)\.cs$</Source>
</Exclude>
</Sources>
<UseVerifiableInstrumentation>True</UseVerifiableInstrumentation>
<AllowLowIntegrityProcesses>True</AllowLowIntegrityProcesses>
<CollectFromChildProcesses>True</CollectFromChildProcesses>
<CollectAspDotNet>False</CollectAspDotNet>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>