-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathcoverage.runsettings
More file actions
51 lines (48 loc) · 2.82 KB
/
Copy pathcoverage.runsettings
File metadata and controls
51 lines (48 loc) · 2.82 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
<?xml version="1.0" encoding="utf-8"?>
<!--
Coverage collection settings for the coverlet "XPlat Code Coverage" collector.
Scopes coverage to the seven shipping packages (the test, benchmark, fuzz, and
AOT-smoke assemblies are not the subject under measurement) and emits Cobertura
for scripts/coverage_report.py, which renders the report and enforces the gate.
See docs/testing.md and .github/workflows/coverage.yml.
ADDING A PACKAGE? Add its assembly to <Include> below and, if it has its own test
project, add that project to the coverage workflow. Coverlet's assembly filter is
EXACT-MATCH, not a prefix — see the comment on <Include>. A new package that is
not listed here is silently unmeasured and the gate stays green regardless of its
coverage, which is exactly how #314 happened.
-->
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="XPlat code coverage">
<Configuration>
<Format>cobertura</Format>
<!--
Every shipping assembly, as ONE comma-separated list.
Do not split this into several <Include> elements. The collector reads a
single child node per key, so only the FIRST would be honoured and the
rest would be dropped in silence — verified against this suite: three
separate <Include> elements produced a report containing only the
Celerity package. That failure looks exactly like the bug below.
The assembly segment of a coverlet filter is anchored — "[Celerity]*"
compiles to ^Celerity$ and matches ONLY the assembly literally named
Celerity (the Celerity.Collections package). It is not a prefix, so it
never matched Celerity.Hashing, Celerity.Primitives, or the three
showcase packages; from the 2.0.0 package split until #314 those were
outside the gate entirely and could have dropped to 0% with CI green.
-->
<Include>[Celerity]*,[Celerity.Hashing]*,[Celerity.Primitives]*,[Celerity.Sorting]*,[Celerity.Ring]*,[Celerity.Sentinel]*,[Celerity.Cardinality]*</Include>
<!--
ExcludeFromCodeCoverageAttribute marks the handful of guards that no test
can reach — array-size ceilings and clamps that the callers' own argument
validation already rules out. Each carries a Justification spelling out why.
coverlet honours the attribute natively; it is listed for the reader.
-->
<ExcludeByAttribute>Obsolete,GeneratedCodeAttribute,CompilerGeneratedAttribute,ExcludeFromCodeCoverageAttribute</ExcludeByAttribute>
<SkipAutoProps>true</SkipAutoProps>
<UseSourceLink>true</UseSourceLink>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>