Skip to content

Commit a9ee9ab

Browse files
committed
use <TargetFrameworks>net6.0;net7.0</TargetFrameworks> for tests
1 parent 3c925e5 commit a9ee9ab

File tree

10 files changed

+62
-35
lines changed

10 files changed

+62
-35
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,3 +307,5 @@ test/coverlet.integration.determisticbuild/runsettings
307307

308308
coverage.cobertura.xml
309309
coverage.opencover.xml
310+
coverage.*.cobertura.xml
311+
coverage.*.opencover.xml

eng/build.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,23 @@ steps:
2727
**/coverlet.core.tests.csproj
2828
**/coverlet.integration.tests.csproj
2929
**/coverlet.msbuild.tasks.tests.csproj
30-
arguments: -c $(BuildConfiguration) --no-build -bl:test.binlog /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.xunit.extensions]*%2c[coverlet.tests.projectsample]*" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(Configuration)\coverlet.test.diag.log;tracelevel=verbose"
30+
arguments: -c $(BuildConfiguration) --no-build -bl:test.binlog --results-directory:"$(Build.SourcesDirectory)\artifacts\Reports" /p:CollectCoverage=true /p:CoverletOutputFormat=opencover /p:Exclude="[coverlet.core.tests.samples.netstandard]*%2c[coverlet.tests.xunit.extensions]*%2c[coverlet.tests.projectsample]*" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(Configuration)\coverlet.test.diag.log;tracelevel=verbose"
31+
publishTestResults: false
3132
testRunTitle: $(Agent.JobName)
3233

34+
- task: PublishTestResults@2
35+
inputs:
36+
testResultsFormat: 'VSTest'
37+
testResultsFiles: '**/*.trx'
38+
mergeTestResults: false
39+
publishRunAttachments: true
40+
41+
3342
- template: publish-coverlet-result-files.yml
3443

3544
- template: publish-coverage-results.yml
3645
parameters:
37-
reports: $(Build.SourcesDirectory)/**/coverage.opencover.xml
46+
reports: $(Build.SourcesDirectory)/**/*0.opencover.xml
3847
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Debug'))
3948
assemblyfilters: '-xunit;-coverlet.testsubject;-Coverlet.Tests.ProjectSample.*'
4049
classfilters: '-[coverlet.core.tests.samples.netstandard]*;-[coverlet.tests.xunit.extensions]*'

eng/publish-coverlet-result-files.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ steps:
88
Contents: |
99
**/*.trx
1010
**/*.html
11-
**/coverage.opencover.xml
12-
**/coverage.cobertura.xml
13-
**/coverage.json
11+
**/*.opencover.xml
12+
**/*.cobertura.xml
13+
**/*.coverage.json
1414
**/log.txt
1515
**/log.datacollector.*.txt
1616
**/log.host.*.txt

src/coverlet.msbuild.tasks/coverlet.msbuild.targets

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
</ItemGroup>
3636
</Target>
3737

38-
<Target Name="InstrumentModules">
38+
<Target Name="InstrumentModules" Condition="'$(TargetPath)' != ''">
3939
<Coverlet.MSbuild.Tasks.InstrumentationTask
4040
Path="$(TargetPath)"
4141
Include="$(Include)"
@@ -65,7 +65,7 @@
6565
DependsOnTargets="InstrumentModules"
6666
Condition="'$(VSTestNoBuild)' != 'true' and '$(CollectCoverage)' == 'true'" />
6767

68-
<Target Name="GenerateCoverageResult">
68+
<Target Name="GenerateCoverageResult" Condition="'$(InstrumenterState)' != ''">
6969
<PropertyGroup>
7070
<_coverletMultiTargetFrameworksCurrentTFM Condition="'$(TargetFrameworks)' != ''" >$(TargetFramework)</_coverletMultiTargetFrameworksCurrentTFM>
7171
</PropertyGroup>

test/coverlet.collector.tests/coverlet.collector.tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Import Project="$(RepoRoot)src\coverlet.msbuild.tasks\coverlet.msbuild.props" />
33

44
<PropertyGroup>
5-
<TargetFramework>net6.0</TargetFramework>
5+
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
66
<IsPackable>false</IsPackable>
77
</PropertyGroup>
88

test/coverlet.core.tests/coverlet.core.tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Import Project="$(RepoRoot)src\coverlet.msbuild.tasks\coverlet.msbuild.props" />
33

44
<PropertyGroup>
5-
<TargetFramework>net6.0</TargetFramework>
5+
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
66
<IsPackable>false</IsPackable>
77
<NoWarn>$(NoWarn);CS8002</NoWarn>
88
<MSBuildWarningsAsMessages>NU1702;NU1504;NU1008</MSBuildWarningsAsMessages>

test/coverlet.integration.tests/Msbuild.cs

Lines changed: 39 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// Copyright (c) Toni Solarin-Sodara
22
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
33

4+
using System;
45
using System.IO;
56
using System.Linq;
67
using Xunit;
@@ -32,8 +33,8 @@ public void TestMsbuild()
3233
{
3334
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
3435
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\", out string standardOutput, out string standardError), standardOutput);
35-
Assert.Contains("Passed!", standardOutput);
36-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
36+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
37+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
3738
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "coverage.json")));
3839
AssertCoverage(clonedTemplateProject);
3940
}
@@ -44,7 +45,7 @@ public void TestMsbuild_NoCoverletOutput()
4445
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
4546
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true", out string standardOutput, out string standardError), standardOutput);
4647
Assert.Contains("Passed!", standardOutput);
47-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
48+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
4849
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "coverage.json")));
4950
AssertCoverage(clonedTemplateProject);
5051
}
@@ -54,8 +55,8 @@ public void TestMsbuild_CoverletOutput_Folder_FileNameWithoutExtension()
5455
{
5556
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
5657
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file", out string standardOutput, out string standardError), standardOutput);
57-
Assert.Contains("Passed!", standardOutput);
58-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
58+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
59+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
5960
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "file.json")));
6061
AssertCoverage(clonedTemplateProject, "file.json");
6162
}
@@ -65,8 +66,8 @@ public void TestMsbuild_CoverletOutput_Folder_FileNameExtension()
6566
{
6667
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
6768
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext", out string standardOutput, out string standardError), standardOutput);
68-
Assert.Contains("Passed!", standardOutput);
69-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
69+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
70+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
7071
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "file.ext")));
7172
AssertCoverage(clonedTemplateProject, "file.ext");
7273
}
@@ -78,8 +79,16 @@ public void TestMsbuild_CoverletOutput_Folder_FileNameExtension_SpecifyFramework
7879
Assert.False(clonedTemplateProject.IsMultipleTargetFramework());
7980
string framework = clonedTemplateProject.GetTargetFrameworks().Single();
8081
Assert.True(DotnetCli($"test -c {_buildConfiguration} -f {framework} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext", out string standardOutput, out string standardError), standardOutput);
81-
Assert.Contains("Passed!", standardOutput);
82-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
82+
if (!string.IsNullOrEmpty(standardError))
83+
{
84+
_output.WriteLine(standardError);
85+
}
86+
else
87+
{
88+
_output.WriteLine(standardOutput);
89+
}
90+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
91+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
8392
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "file.ext")));
8493
AssertCoverage(clonedTemplateProject, "file.ext");
8594
}
@@ -89,8 +98,15 @@ public void TestMsbuild_CoverletOutput_Folder_FileNameWithDoubleExtension()
8998
{
9099
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
91100
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext1.ext2", out string standardOutput, out string standardError), standardOutput);
92-
Assert.Contains("Passed!", standardOutput);
93-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
101+
if (!string.IsNullOrEmpty(standardError))
102+
{
103+
_output.WriteLine(standardError);
104+
} else
105+
{
106+
_output.WriteLine(standardOutput);
107+
}
108+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
109+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
94110
Assert.True(File.Exists(Path.Combine(clonedTemplateProject.ProjectRootPath, "file.ext1.ext2")));
95111
AssertCoverage(clonedTemplateProject, "file.ext1.ext2");
96112
}
@@ -102,8 +118,8 @@ public void Test_MultipleTargetFrameworkReport_NoCoverletOutput()
102118
string[] targetFrameworks = new string[] { "net6.0", "net7.0" };
103119
UpdateProjectTargetFramework(clonedTemplateProject, targetFrameworks);
104120
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
105-
Assert.Contains("Passed!", standardOutput);
106-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
121+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
122+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
107123

108124
foreach (string targetFramework in targetFrameworks)
109125
{
@@ -125,8 +141,8 @@ public void Test_MultipleTargetFrameworkReport_CoverletOutput_Folder()
125141
_output.WriteLine(standardError);
126142
}
127143
Assert.True(result);
128-
Assert.Contains("Passed!", standardOutput);
129-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
144+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
145+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
130146

131147
foreach (string targetFramework in targetFrameworks)
132148
{
@@ -144,8 +160,8 @@ public void Test_MultipleTargetFrameworkReport_CoverletOutput_Folder_FileNameWit
144160
string[] targetFrameworks = new string[] { "net6.0", "net7.0" };
145161
UpdateProjectTargetFramework(clonedTemplateProject, targetFrameworks);
146162
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
147-
Assert.Contains("Passed!", standardOutput);
148-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
163+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
164+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
149165

150166
foreach (string targetFramework in targetFrameworks)
151167
{
@@ -166,8 +182,8 @@ public void Test_MultipleTargetFrameworkReport_CoverletOutput_Folder_FileNameWit
166182
Assert.Equal(2, frameworks.Length);
167183
string framework = frameworks.FirstOrDefault()!;
168184
Assert.True(DotnetCli($"test -c {_buildConfiguration} -f {framework} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
169-
Assert.Contains("Passed!", standardOutput);
170-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
185+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
186+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
171187

172188
foreach (string targetFramework in targetFrameworks)
173189
{
@@ -191,8 +207,8 @@ public void Test_MultipleTargetFrameworkReport_CoverletOutput_Folder_FileNameWit
191207
string[] targetFrameworks = new string[] { "net6.0", "net7.0" };
192208
UpdateProjectTargetFramework(clonedTemplateProject, targetFrameworks);
193209
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
194-
Assert.Contains("Passed!", standardOutput);
195-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
210+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
211+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
196212

197213
foreach (string targetFramework in targetFrameworks)
198214
{
@@ -209,8 +225,8 @@ public void Test_MultipleTargetFrameworkReport_CoverletOutput_Folder_FileNameWit
209225
string[] targetFrameworks = new string[] { "net6.0", "net7.0" };
210226
UpdateProjectTargetFramework(clonedTemplateProject, targetFrameworks);
211227
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" /p:CollectCoverage=true /p:Include=\"[{ClonedTemplateProject.AssemblyName}]*DeepThought\" /p:IncludeTestAssembly=true /p:CoverletOutput=\"{clonedTemplateProject.ProjectRootPath}\"\\file.ext1.ext2", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
212-
Assert.Contains("Passed!", standardOutput);
213-
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput);
228+
Assert.Contains("Passed!", standardOutput, StringComparison.Ordinal);
229+
Assert.Contains("| coverletsamplelib.integration.template | 100% | 100% | 100% |", standardOutput, StringComparison.Ordinal);
214230

215231
foreach (string targetFramework in targetFrameworks)
216232
{

test/coverlet.integration.tests/coverlet.integration.tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<Nullable>enable</Nullable>
77
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>

test/coverlet.msbuild.tasks.tests/coverlet.msbuild.tasks.tests.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77
<IsTestProject>true</IsTestProject>

test/coverlet.tests.projectsample.excludedbyattribute/coverlet.tests.projectsample.excludedbyattribute.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net6.0</TargetFramework>
4+
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
55
<IsPackable>false</IsPackable>
66
<IsTestProject>false</IsTestProject>
77
</PropertyGroup>

0 commit comments

Comments
 (0)