Skip to content

Commit 16f82a0

Browse files
committed
update SDK version (Collector.cs)
1 parent e4e5bd0 commit 16f82a0

File tree

5 files changed

+121
-121
lines changed

5 files changed

+121
-121
lines changed

Documentation/Examples/MSBuild/DeterministicBuild/HowTo.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
To run test we need to generates packages to reference in on test project.
1+
To run test we need to generates packages to reference in on test project.
22
Run from repo root
33
```
44
C:\git\coverlet
@@ -64,7 +64,7 @@ Go to test project folder and run
6464
```
6565
C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild (detbuilddocs -> origin)
6666
λ dotnet test /p:CollectCoverage=true /p:DeterministicSourcePaths=true
67-
Test run for C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\netcoreapp3.1\XUnitTestProject1.dll(.NETCoreApp,Version=v3.1)
67+
Test run for C:\git\coverlet\Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\XUnitTestProject1.dll(.NETCoreApp,Version=v6.0)
6868
Microsoft (R) Test Execution Command Line Tool Version 17.5.0
6969
Copyright (c) Microsoft Corporation. All rights reserved.
7070
@@ -94,8 +94,8 @@ Calculating coverage result...
9494
| Average | 100% | 100% | 100% |
9595
+---------+------+--------+--------+
9696
```
97-
You should see on output folder the coverlet source root mapping file generated.
97+
You should see on output folder the coverlet source root mapping file generated.
9898
This is the confirmation that you're running coverage on deterministic build.
9999
```
100-
Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\netcoreapp3.1\CoverletSourceRootsMapping
100+
Documentation\Examples\MSBuild\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\CoverletSourceRootsMapping
101101
```

Documentation/Examples/VSTest/DeterministicBuild/HowTo.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@ Go to test project folder and run
6060
```
6161
C:\git\coverlet\Documentation\Examples\VSTest\DeterministicBuild (detbuilddocs -> origin)
6262
λ dotnet test --collect:"XPlat Code Coverage" /p:DeterministicSourcePaths=true -- DataCollectionRunSettings.DataCollectors.DataCollector.Configuration.DeterministicReport=true
63-
Test run for C:\git\coverlet\Documentation\Examples\VSTest\DeterministicBuild\XUnitTestProject1\bin\Debug\netcoreapp3.1\XUnitTestProject1.dll(.NETCoreApp,Version=v3.1)
64-
Microsoft (R) Test Execution Command Line Tool Version 16.5.0
63+
Test run for C:\git\coverlet\Documentation\Examples\VSTest\DeterministicBuild\XUnitTestProject1\bin\Debug\netcoreapp3.1\XUnitTestProject1.dll(.NETCoreApp,Version=v6.0)
64+
Microsoft (R) Test Execution Command Line Tool Version 17.5.0
6565
Copyright (c) Microsoft Corporation. All rights reserved.
6666
6767
Starting test execution, please wait...
@@ -78,5 +78,5 @@ Total tests: 1
7878
You should see on output folder the coverlet source root mapping file generated.
7979
This is the confirmation that you're running coverage on deterministic build.
8080
```
81-
Documentation\Examples\VSTest\DeterministicBuild\XUnitTestProject1\bin\Debug\netcoreapp3.1\CoverletSourceRootsMapping_XUnitTestProject1
81+
Documentation\Examples\VSTest\DeterministicBuild\XUnitTestProject1\bin\Debug\net6.0\CoverletSourceRootsMapping_XUnitTestProject1
8282
```

Documentation/Examples/VSTest/DeterministicBuild/XUnitTestProject1/XUnitTestProject1.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFramework>net6.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
10-
<PackageReference Include="xunit" Version="2.4.0" />
11-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
10+
<PackageReference Include="xunit" Version="2.5.0" />
11+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0" />
1212
<PackageReference Include="coverlet.collector" Version="ADD VERSION FROM bin\Debug\Packages generated running 'dotnet pack' from repo root" />
1313
</ItemGroup>
1414

Documentation/Examples/VSTest/HelloWorld/XUnitTestProject1/XUnitTestProject1.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>netcoreapp3.1</TargetFramework>
4+
<TargetFramework>net6.0</TargetFramework>
55
<IsPackable>false</IsPackable>
66
</PropertyGroup>
77

88
<ItemGroup>
9-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.5.0" />
10-
<PackageReference Include="xunit" Version="2.4.0" />
11-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.0" />
12-
<PackageReference Include="coverlet.collector" Version="1.2.1">
9+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
10+
<PackageReference Include="xunit" Version="2.5.0" />
11+
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.0" />
12+
<PackageReference Include="coverlet.collector" Version="6.0.0">
1313
<PrivateAssets>all</PrivateAssets>
1414
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1515
</PackageReference>

test/coverlet.integration.tests/Collectors.cs

Lines changed: 105 additions & 105 deletions
Original file line numberDiff line numberDiff line change
@@ -8,120 +8,120 @@
88

99
namespace Coverlet.Integration.Tests
1010
{
11-
public class TestSDK_16_2_0 : Collectors
11+
public class TestSDK_17_5_0 : Collectors
12+
{
13+
public TestSDK_17_5_0()
1214
{
13-
public TestSDK_16_2_0()
14-
{
15-
TestSDKVersion = "16.2.0";
16-
}
17-
18-
private protected override void AssertCollectorsInjection(ClonedTemplateProject clonedTemplateProject)
19-
{
20-
// Check out/in process collectors injection
21-
Assert.Contains("[coverlet]", File.ReadAllText(clonedTemplateProject.GetFiles("log.datacollector.*.txt").Single()));
22-
23-
// There is a bug in this SDK version https://github.com/microsoft/vstest/pull/2221
24-
// in-proc coverlet.collector.dll collector with version != 1.0.0.0 won't be loaded
25-
// Assert.Contains("[coverlet]", File.ReadAllText(clonedTemplateProject.GetFiles("log.host.*.txt").Single()));
26-
}
15+
TestSDKVersion = "17.5.0";
2716
}
2817

29-
public class TestSDK_16_5_0 : Collectors
18+
private protected override void AssertCollectorsInjection(ClonedTemplateProject clonedTemplateProject)
3019
{
31-
public TestSDK_16_5_0()
32-
{
33-
TestSDKVersion = "16.5.0";
34-
}
20+
// Check out/in process collectors injection
21+
Assert.Contains("[coverlet]", File.ReadAllText(clonedTemplateProject.GetFiles("log.datacollector.*.txt").Single()));
22+
23+
// There is a bug in this SDK version https://github.com/microsoft/vstest/pull/2221
24+
// in-proc coverlet.collector.dll collector with version != 1.0.0.0 won't be loaded
25+
// Assert.Contains("[coverlet]", File.ReadAllText(clonedTemplateProject.GetFiles("log.host.*.txt").Single()));
26+
}
27+
}
28+
29+
public class TestSDK_17_6_0 : Collectors
30+
{
31+
public TestSDK_17_6_0()
32+
{
33+
TestSDKVersion = "17.6.0";
34+
}
35+
}
36+
37+
public class TestSDK_Preview : Collectors
38+
{
39+
public TestSDK_Preview()
40+
{
41+
TestSDKVersion = "17.7.0-preview-23364-03";
42+
}
43+
}
44+
45+
public abstract class Collectors : BaseTest
46+
{
47+
private readonly string _buildConfiguration;
48+
49+
public Collectors()
50+
{
51+
_buildConfiguration = GetAssemblyBuildConfiguration().ToString();
52+
}
53+
54+
protected string? TestSDKVersion { get; set; }
55+
56+
private ClonedTemplateProject PrepareTemplateProject()
57+
{
58+
if (TestSDKVersion is null)
59+
{
60+
throw new ArgumentNullException("Invalid TestSDKVersion");
61+
}
62+
63+
ClonedTemplateProject clonedTemplateProject = CloneTemplateProject(testSDKVersion: TestSDKVersion);
64+
UpdateNugeConfigtWithLocalPackageFolder(clonedTemplateProject.ProjectRootPath!);
65+
AddCoverletCollectosRef(clonedTemplateProject.ProjectRootPath!);
66+
return clonedTemplateProject;
67+
}
68+
69+
private protected virtual void AssertCollectorsInjection(ClonedTemplateProject clonedTemplateProject)
70+
{
71+
// Check out/in process collectors injection
72+
Assert.Contains("[coverlet]Initializing CoverletCoverageDataCollector with configuration:", File.ReadAllText(clonedTemplateProject.GetFiles("log.datacollector.*.txt").Single()));
73+
Assert.Contains("[coverlet]Initialize CoverletInProcDataCollector", File.ReadAllText(clonedTemplateProject.GetFiles("log.host.*.txt").Single()));
74+
}
75+
76+
[Fact]
77+
public void TestVsTest_Test()
78+
{
79+
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
80+
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" --collect:\"XPlat Code Coverage\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
81+
// We don't have any result to check because tests and code to instrument are in same assembly so we need to pass
82+
// IncludeTestAssembly=true we do it in other test
83+
Assert.Contains("Passed!", standardOutput);
84+
AssertCollectorsInjection(clonedTemplateProject);
85+
}
86+
87+
[Fact]
88+
public void TestVsTest_Test_Settings()
89+
{
90+
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
91+
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
92+
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out string standardOutput, out string standardError), standardOutput);
93+
Assert.Contains("Passed!", standardOutput);
94+
AssertCoverage(clonedTemplateProject);
95+
AssertCollectorsInjection(clonedTemplateProject);
3596
}
3697

37-
public class TestSDK_Preview : Collectors
98+
[Fact]
99+
public void TestVsTest_VsTest()
38100
{
39-
public TestSDK_Preview()
40-
{
41-
TestSDKVersion = "16.5.0-preview-20200203-01";
42-
}
101+
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
102+
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
103+
Assert.True(DotnetCli($"publish -c {_buildConfiguration} {clonedTemplateProject.ProjectRootPath}", out string standardOutput, out string standardError), standardOutput);
104+
string publishedTestFile = clonedTemplateProject.GetFiles("*" + ClonedTemplateProject.AssemblyName + ".dll").Single(f => f.Contains("publish"));
105+
Assert.NotNull(publishedTestFile);
106+
Assert.True(DotnetCli($"vstest \"{publishedTestFile}\" --collect:\"XPlat Code Coverage\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
107+
// We don't have any result to check because tests and code to instrument are in same assembly so we need to pass
108+
// IncludeTestAssembly=true we do it in other test
109+
Assert.Contains("Passed!", standardOutput);
110+
AssertCollectorsInjection(clonedTemplateProject);
43111
}
44112

45-
public abstract class Collectors : BaseTest
113+
[Fact]
114+
public void TestVsTest_VsTest_Settings()
46115
{
47-
private readonly string _buildConfiguration;
48-
49-
public Collectors()
50-
{
51-
_buildConfiguration = GetAssemblyBuildConfiguration().ToString();
52-
}
53-
54-
protected string? TestSDKVersion { get; set; }
55-
56-
private ClonedTemplateProject PrepareTemplateProject()
57-
{
58-
if (TestSDKVersion is null)
59-
{
60-
throw new ArgumentNullException("Invalid TestSDKVersion");
61-
}
62-
63-
ClonedTemplateProject clonedTemplateProject = CloneTemplateProject(testSDKVersion: TestSDKVersion);
64-
UpdateNugeConfigtWithLocalPackageFolder(clonedTemplateProject.ProjectRootPath!);
65-
AddCoverletCollectosRef(clonedTemplateProject.ProjectRootPath!);
66-
return clonedTemplateProject;
67-
}
68-
69-
private protected virtual void AssertCollectorsInjection(ClonedTemplateProject clonedTemplateProject)
70-
{
71-
// Check out/in process collectors injection
72-
Assert.Contains("[coverlet]Initializing CoverletCoverageDataCollector with configuration:", File.ReadAllText(clonedTemplateProject.GetFiles("log.datacollector.*.txt").Single()));
73-
Assert.Contains("[coverlet]Initialize CoverletInProcDataCollector", File.ReadAllText(clonedTemplateProject.GetFiles("log.host.*.txt").Single()));
74-
}
75-
76-
[Fact]
77-
public void TestVsTest_Test()
78-
{
79-
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
80-
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" --collect:\"XPlat Code Coverage\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out string standardOutput, out string standardError, clonedTemplateProject.ProjectRootPath!), standardOutput);
81-
// We don't have any result to check because tests and code to instrument are in same assembly so we need to pass
82-
// IncludeTestAssembly=true we do it in other test
83-
Assert.Contains("Passed!", standardOutput);
84-
AssertCollectorsInjection(clonedTemplateProject);
85-
}
86-
87-
[Fact]
88-
public void TestVsTest_Test_Settings()
89-
{
90-
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
91-
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
92-
Assert.True(DotnetCli($"test -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\" --collect:\"XPlat Code Coverage\" --settings \"{runSettingsPath}\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out string standardOutput, out string standardError), standardOutput);
93-
Assert.Contains("Passed!", standardOutput);
94-
AssertCoverage(clonedTemplateProject);
95-
AssertCollectorsInjection(clonedTemplateProject);
96-
}
97-
98-
[Fact]
99-
public void TestVsTest_VsTest()
100-
{
101-
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
102-
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
103-
Assert.True(DotnetCli($"publish -c {_buildConfiguration} {clonedTemplateProject.ProjectRootPath}", out string standardOutput, out string standardError), standardOutput);
104-
string publishedTestFile = clonedTemplateProject.GetFiles("*" + ClonedTemplateProject.AssemblyName + ".dll").Single(f => f.Contains("publish"));
105-
Assert.NotNull(publishedTestFile);
106-
Assert.True(DotnetCli($"vstest \"{publishedTestFile}\" --collect:\"XPlat Code Coverage\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
107-
// We don't have any result to check because tests and code to instrument are in same assembly so we need to pass
108-
// IncludeTestAssembly=true we do it in other test
109-
Assert.Contains("Passed!", standardOutput);
110-
AssertCollectorsInjection(clonedTemplateProject);
111-
}
112-
113-
[Fact]
114-
public void TestVsTest_VsTest_Settings()
115-
{
116-
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
117-
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
118-
Assert.True(DotnetCli($"publish -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\"", out string standardOutput, out string standardError), standardOutput);
119-
string publishedTestFile = clonedTemplateProject.GetFiles("*" + ClonedTemplateProject.AssemblyName + ".dll").Single(f => f.Contains("publish"));
120-
Assert.NotNull(publishedTestFile);
121-
Assert.True(DotnetCli($"vstest \"{publishedTestFile}\" --collect:\"XPlat Code Coverage\" --ResultsDirectory:\"{clonedTemplateProject.ProjectRootPath}\" /settings:\"{runSettingsPath}\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
122-
Assert.Contains("Passed!", standardOutput);
123-
AssertCoverage(clonedTemplateProject);
124-
AssertCollectorsInjection(clonedTemplateProject);
125-
}
116+
using ClonedTemplateProject clonedTemplateProject = PrepareTemplateProject();
117+
string runSettingsPath = AddCollectorRunsettingsFile(clonedTemplateProject.ProjectRootPath!);
118+
Assert.True(DotnetCli($"publish -c {_buildConfiguration} \"{clonedTemplateProject.ProjectRootPath}\"", out string standardOutput, out string standardError), standardOutput);
119+
string publishedTestFile = clonedTemplateProject.GetFiles("*" + ClonedTemplateProject.AssemblyName + ".dll").Single(f => f.Contains("publish"));
120+
Assert.NotNull(publishedTestFile);
121+
Assert.True(DotnetCli($"vstest \"{publishedTestFile}\" --collect:\"XPlat Code Coverage\" --ResultsDirectory:\"{clonedTemplateProject.ProjectRootPath}\" /settings:\"{runSettingsPath}\" --diag:{Path.Combine(clonedTemplateProject.ProjectRootPath, "log.txt")}", out standardOutput, out standardError), standardOutput);
122+
Assert.Contains("Passed!", standardOutput);
123+
AssertCoverage(clonedTemplateProject);
124+
AssertCollectorsInjection(clonedTemplateProject);
126125
}
126+
}
127127
}

0 commit comments

Comments
 (0)