Skip to content

Commit dc93a54

Browse files
trwalketrwalkegladjohn
authored
Updating code coverage config (#4983)
* Create CodeCoverage.yml * Update CodeCoverage.yml * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Delete .github/workflows/CodeCoverage.yml * Update CodeCoverage.runsettings * Update template-run-integration-tests.yaml * Update template-run-unit-tests.yaml * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Update CodeCoverage.runsettings * Updating code coverage * Updating coverage * Removing unneeded source files * Removing config * Adding more exclusion folders * Update * Config update * update * Updating code coverage * Update * Update * Update * Update * Update * Update * Update * Code Coverage Update * Update * Update * Update * Update * update * Update template-run-integration-tests.yaml * Update template-run-unit-tests.yaml * Update CodeCoverage.runsettings * Update * Update template-run-cachecompat-tests.yaml * Adding code coverage gate * Updated code coverage to use variable * Update template-build-and-run-all-tests.yaml * Apply suggestions from code review Co-authored-by: Gladwin Johnson <[email protected]> --------- Co-authored-by: trwalke <[email protected]> Co-authored-by: Gladwin Johnson <[email protected]>
1 parent d28bc08 commit dc93a54

File tree

5 files changed

+57
-36
lines changed

5 files changed

+57
-36
lines changed

build/CodeCoverage.runsettings

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,46 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8"?>
22

33
<!-- Customised run settings file to exclude test assemblies from coverage.
44
See https://msdn.microsoft.com/en-us/library/jj159530.aspx for more info. -->
55

6-
<!-- File name extension must be .runsettings -->
7-
<RunSettings>
8-
<DataCollectionRunSettings>
9-
<DataCollectors>
10-
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
11-
<Configuration>
12-
<CodeCoverage>
13-
14-
<!--
6+
<!-- File name extension must be .runsettings -->
7+
<RunSettings>
8+
<DataCollectionRunSettings>
9+
<DataCollectors>
10+
<DataCollector friendlyName="Code Coverage" uri="datacollector://Microsoft/CodeCoverage/2.0" assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
11+
<Configuration>
12+
<CodeCoverage>
13+
14+
<!--
1515
About include/exclude lists:
1616
Empty "Include" clauses imply all; empty "Exclude" clauses imply none.
1717
Each element in the list is a regular expression (ECMAScript syntax). See http://msdn.microsoft.com/library/2k3te2cs.aspx.
1818
An item must first match at least one entry in the include list to be included.
1919
Included items must then not match any entries in the exclude list to remain included.
20-
-->
21-
22-
<!-- Match assembly file paths: -->
23-
<ModulePaths>
24-
<Include>
25-
<ModulePath>.*\microsoft.identitymodel.clients.activedirectory.dll$</ModulePath>
26-
<ModulePath>.*\microsoft.identity.core.dll$</ModulePath>
27-
<ModulePath>.*\microsoft.identity.client.dll$</ModulePath>
28-
29-
</Include>
30-
<Exclude>
31-
</Exclude>
32-
</ModulePaths>
33-
34-
</CodeCoverage>
35-
</Configuration>
36-
</DataCollector>
37-
</DataCollectors>
38-
</DataCollectionRunSettings>
39-
</RunSettings>
40-
20+
-->
21+
<ModulePaths>
22+
<Include>
23+
<ModulePath>.*\microsoft.identity.client.dll$</ModulePath>
24+
</Include>
25+
<Exclude><!-- Exclude all test-related files -->
26+
<ModulePath>.*\\test\\.*</ModulePath>
27+
<ModulePath>.*Test\.dll</ModulePath>
28+
<ModulePath>.*Test\.exe</ModulePath>
29+
</Exclude>
30+
</ModulePaths>
31+
<Sources>
32+
<Exclude><!-- Exclude generated or non-essential source files -->
33+
<Source>.*\\devapps\\.*</Source>
34+
<Source>.*\\CacheCompat\\.*</Source>
35+
<Source>.*\\obj\\.*</Source>
36+
<Source>.*\\json\\.*</Source>
37+
<Source>.*\\android\\.*</Source>
38+
<Source>.*\\ios\\.*</Source>
39+
</Exclude>
40+
</Sources>
41+
</CodeCoverage>
42+
</Configuration>
43+
</DataCollector>
44+
</DataCollectors>
45+
</DataCollectionRunSettings>
46+
</RunSettings>

build/template-build-and-run-all-tests.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,16 @@ jobs: #Build and stage projects
6767

6868
steps:
6969
- template: template-desktop-unit-and-automation.yaml
70+
71+
- task: BuildQualityChecks@9
72+
inputs:
73+
checkCoverage: true
74+
coverageFailOption: 'build'
75+
coverageType: 'lines'
76+
treat0of0as100: true
77+
forceCoverageImprovement: true
78+
coverageUpperThreshold: '90'
79+
includePartiallySucceeded: false
80+
fallbackOnPRTargetBranch: false
81+
baseDefinitionId: '905' #this is the PR build and it is used as a baseline
82+
baseBranchRef: 'main'

build/template-run-cachecompat-tests.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ steps:
99
testSelector: 'testAssemblies'
1010
testAssemblyVer2: '**\CacheCompat\CommonCache.Test.Unit\bin\**\CommonCache.Test.Unit.dll'
1111
searchFolder: '$(System.DefaultWorkingDirectory)'
12-
codeCoverageEnabled: true
12+
codeCoverageEnabled: false
1313
failOnMinTestsNotRun: true
1414
minimumExpectedTests: '1'
1515
runInParallel: true

build/template-run-integration-tests.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ steps:
1313
rerunFailedTests: true
1414
rerunMaxAttempts: '3'
1515
runInParallel: false
16-
codeCoverageEnabled: true
16+
codeCoverageEnabled: false
1717
failOnMinTestsNotRun: true
1818
minimumExpectedTests: '1'
1919
pathtoCustomTestAdapters: 'C:\temp' # Workaround for test failure, as NUnit Test Adapter that gets detected seems to mess something up
@@ -28,7 +28,7 @@ steps:
2828
rerunFailedTests: true
2929
rerunMaxAttempts: '3'
3030
runInParallel: false
31-
codeCoverageEnabled: true
31+
codeCoverageEnabled: false
3232
failOnMinTestsNotRun: true
3333
minimumExpectedTests: '1'
3434

@@ -44,3 +44,4 @@ steps:
4444
codeCoverageEnabled: true
4545
failOnMinTestsNotRun: true
4646
minimumExpectedTests: '1'
47+
runSettingsFile: 'build\CodeCoverage.runsettings'

build/template-run-unit-tests.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ steps:
1414
testAssemblyVer2: '**\Microsoft.Identity.Test.Unit\bin\**\net4*\Microsoft.Identity.Test.Unit.dll'
1515
searchFolder: '$(System.DefaultWorkingDirectory)'
1616
runInParallel: true
17-
codeCoverageEnabled: true
17+
codeCoverageEnabled: false
1818
failOnMinTestsNotRun: true
1919
minimumExpectedTests: '1'
2020
pathtoCustomTestAdapters: 'C:\temp' # Workaround for test failure, as NUnit Test Adapter that gets detected seems to mess something up
@@ -27,7 +27,7 @@ steps:
2727
testAssemblyVer2: '**\Microsoft.Identity.Test.Unit\bin\**\net4*\Microsoft.Identity.Test.Unit.dll'
2828
searchFolder: '$(System.DefaultWorkingDirectory)'
2929
runInParallel: true
30-
codeCoverageEnabled: true
30+
codeCoverageEnabled: false
3131
failOnMinTestsNotRun: true
3232
minimumExpectedTests: '1'
3333

@@ -41,3 +41,4 @@ steps:
4141
codeCoverageEnabled: true
4242
failOnMinTestsNotRun: true
4343
minimumExpectedTests: '1'
44+
runSettingsFile: 'build\CodeCoverage.runsettings'

0 commit comments

Comments
 (0)