Skip to content

Commit e106d0d

Browse files
authored
Relocate tests using Tmds.ExecFunction to new test project coverlet.core.coverage.tests (#1709)
* update versions and resolve warnings RetryHelper for specific exceptions * remove Tmds.ExecFunction package from coverlet.core.tests * add coverlet.core.coverage.tests * use .NET 6.0 assemblies * fix some unit tests * simplify collection intialization * fix test AsyncForeach * Disable again test AsyncAwait_Issue_669_2 * remove coverlet.core transitive dependencies * Delete test/coverlet.core.coverage.tests/out.txt * Delete test/coverlet.core.coverage.tests/public.snk * Delete test/coverlet.core.coverage.tests/key.publickey * fix unresponsive Test Explorer problem (RetryHelper.Do AggregateException) - Changed task in `publish-coverage-results.yml` from `PublishCodeCoverageResults@1` to `PublishCodeCoverageResults@2` and added `reportDirectory` parameter for coverage report location. - Added overloaded `BackupOriginalModule` methods in `InstrumentationHelper.cs` to improve backup flexibility, including a new `withBackupList` parameter. - Updated `InstrumentationHelperTests.cs` to align tests with the new method signature for backing up original modules. * Add CoverageMergeTests for CoverageResult merging Introduced a new test class `CoverageMergeTests` in the `Coverlet.Core.Tests` namespace. This class includes multiple unit tests for the `Merge` method of the `CoverageResult` class, validating the merging of modules, documents, classes, methods, lines, and branches to ensure data integrity and correct functionality. * Added tests in `CoverageTests.cs` to verify `GetSourceLinkUrl` behavior for matching and non-matching documents. * Minimum line coverage 90% * revert RetryHelper update
1 parent 2a6f949 commit e106d0d

File tree

98 files changed

+3884
-2456
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+3884
-2456
lines changed

Diff for: .config/dotnet-tools.json

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
"isRoot": true,
44
"tools": {
55
"dotnet-reportgenerator-globaltool": {
6-
"version": "5.2.1",
6+
"version": "5.4.3",
77
"commands": [
88
"reportgenerator"
9-
]
9+
],
10+
"rollForward": false
1011
}
1112
}
12-
}
13+
}

Diff for: .gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -316,3 +316,5 @@ coverage.*.opencover.xml
316316

317317
FolderProfile.pubxml
318318
/NuGet.config
319+
nuget.config
320+
*.dmp

Diff for: Directory.Build.props

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
1212
<!-- Build properties -->
1313
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
14-
<AnalysisLevel>preview</AnalysisLevel>
14+
<AnalysisLevel>latest</AnalysisLevel>
1515
<CodeAnalysisTreatWarningsAsErrors>false</CodeAnalysisTreatWarningsAsErrors>
1616
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
17-
<LangVersion>preview</LangVersion>
17+
<LangVersion>12.0</LangVersion>
1818
<NoWarn>$(NoWarn);NU1507;NU5105;CS1591</NoWarn>
1919
<GenerateDocumentationFile>true</GenerateDocumentationFile>
2020
<RestoreSources>

Diff for: Directory.Packages.props

+20-18
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,22 @@
55
</PropertyGroup>
66
<ItemGroup>
77
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
8-
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.146" />
8+
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.7.112" />
99
</ItemGroup>
1010
<ItemGroup>
11+
<PackageVersion Include="DotNetConfig" Version="1.2.0" />
1112
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
12-
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="17.8.3" />
13-
<PackageVersion Include="Microsoft.Build.Framework" Version="17.8.3" />
13+
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="17.12.6" />
14+
<PackageVersion Include="Microsoft.Build.Framework" Version="17.12.6" />
1415
<PackageVersion Include="Microsoft.Build.Locator" Version="1.7.8" />
15-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
16+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
1617
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="8.0.2" />
1718
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
1819
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="8.0.0" />
1920
<!--For test TestInstrument_NetstandardAwareAssemblyResolver_PreserveCompilationContext-->
2021
<PackageVersion Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.2" />
21-
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
22-
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="17.8.0" />
22+
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
23+
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="17.12.0" />
2324
<!-- Microsoft.TestPlatform.ObjectModel has a dependency to NuGet.Frameworks with specific version -->
2425
<!-- https://github.com/microsoft/vstest/blob/9a0c41811637edf4afe0e265e08fdd1cb18109ed/src/Microsoft.TestPlatform.ObjectModel/Microsoft.TestPlatform.ObjectModel.csproj#L35-->
2526
<!-- wrong configuration will create "build\coverlet.msbuild.targets(72,5): error : Unable to read beyond the end of the stream." -->
@@ -30,27 +31,28 @@
3031
NuGetFrameworksVersion is defined here https://github.com/microsoft/vstest/blob/9a0c41811637edf4afe0e265e08fdd1cb18109ed/eng/Versions.props#L94C1-L94C1
3132
-->
3233
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
33-
<PackageVersion Include="NuGet.Frameworks" Version="6.8.0" />
34-
<PackageVersion Include="NuGet.Packaging" Version="6.8.0" />
35-
<PackageVersion Include="NuGet.Versioning" Version="6.8.0" />
34+
<PackageVersion Include="NuGet.Frameworks" Version="6.12.1" />
35+
<PackageVersion Include="NuGet.Packaging" Version="6.12.1" />
36+
<PackageVersion Include="NuGet.Versioning" Version="6.12.1" />
3637
<PackageVersion Include="Mono.Cecil" Version="0.11.6" />
37-
<PackageVersion Include="Moq" Version="4.20.70" />
38-
<PackageVersion Include="ReportGenerator.Core" Version="5.2.1" />
38+
<PackageVersion Include="Moq" Version="4.20.72" />
39+
<PackageVersion Include="ReportGenerator.Core" Version="5.3.11" />
3940
<!--For test issue 809 https://github.com/coverlet-coverage/coverlet/issues/809-->
40-
<PackageVersion Include="LinqKit.Microsoft.EntityFrameworkCore" Version="7.1.4" />
41+
<PackageVersion Include="LinqKit.Microsoft.EntityFrameworkCore" Version="8.1.7" />
4142
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
4243
<!--To test issue 1104 https://github.com/coverlet-coverage/coverlet/issues/1104-->
4344
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
4445
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
4546
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
46-
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.0" />
47+
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.1" />
48+
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.6.0" />
4749
<PackageVersion Include="Tmds.ExecFunction" Version="0.8.0" />
48-
<PackageVersion Include="xunit" Version="2.6.6" />
50+
<PackageVersion Include="xunit" Version="2.9.2" />
4951
<PackageVersion Include="xunit.assemblyfixture" Version="2.2.0" />
50-
<PackageVersion Include="xunit.assert" Version="2.6.6" />
51-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.5.6" />
52-
<PackageVersion Include="System.Buffers" Version="4.5.1" />
53-
<PackageVersion Include="System.Memory" Version="4.5.5" />
52+
<PackageVersion Include="xunit.assert" Version="2.9.2" />
53+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
54+
<PackageVersion Include="System.Buffers" Version="4.6.0" />
55+
<PackageVersion Include="System.Memory" Version="4.6.0" />
5456
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
5557
<PackageVersion Include="System.Security.Cryptography.Pkcs" Version="6.0.5" />
5658
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />

Diff for: coverlet.sln

+7
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "coverlet.tests.utils", "tes
9090
EndProject
9191
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "coverlet.tests.projectsample.wpf8.selfcontained", "test\coverlet.tests.projectsample.wpf8.selfcontained\coverlet.tests.projectsample.wpf8.selfcontained.csproj", "{71004336-9896-4AE5-8367-B29BB1680542}"
9292
EndProject
93+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "coverlet.core.coverage.tests", "test\coverlet.core.coverage.tests\coverlet.core.coverage.tests.csproj", "{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB}"
94+
EndProject
9395
Global
9496
GlobalSection(SolutionConfigurationPlatforms) = preSolution
9597
Debug|Any CPU = Debug|Any CPU
@@ -196,6 +198,10 @@ Global
196198
{71004336-9896-4AE5-8367-B29BB1680542}.Debug|Any CPU.Build.0 = Debug|Any CPU
197199
{71004336-9896-4AE5-8367-B29BB1680542}.Release|Any CPU.ActiveCfg = Release|Any CPU
198200
{71004336-9896-4AE5-8367-B29BB1680542}.Release|Any CPU.Build.0 = Release|Any CPU
201+
{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
202+
{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
203+
{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
204+
{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB}.Release|Any CPU.Build.0 = Release|Any CPU
199205
EndGlobalSection
200206
GlobalSection(SolutionProperties) = preSolution
201207
HideSolutionNode = FALSE
@@ -227,6 +233,7 @@ Global
227233
{03400776-1F9A-4326-B927-1CA9B64B42A1} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
228234
{0B109210-03CB-413F-888C-3023994AA384} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
229235
{71004336-9896-4AE5-8367-B29BB1680542} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
236+
{F74AD549-EFE0-4CD9-AD10-B2189E3FD5BB} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
230237
EndGlobalSection
231238
GlobalSection(ExtensibilityGlobals) = postSolution
232239
SolutionGuid = {9CA57C02-97B0-4C38-A027-EA61E8741F10}

Diff for: eng/azure-pipelines-nightly.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ steps:
1010
- task: UseDotNet@2
1111
inputs:
1212
useGlobalJson: true
13-
displayName: Install .NET Core SDK 8.0.111
13+
displayName: Install .NET Core SDK 8.0.112
1414

1515
- task: NuGetAuthenticate@1
1616
displayName: Authenticate with NuGet feeds

Diff for: eng/build.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ steps:
77
- task: UseDotNet@2
88
inputs:
99
useGlobalJson: true
10-
displayName: Install .NET Core SDK 8.0.111
10+
displayName: Install .NET Core SDK 8.0.112
1111

1212
# create artifact/package folder
1313
- pwsh: |
@@ -27,6 +27,7 @@ steps:
2727
- script: |
2828
dotnet test test/coverlet.collector.tests/coverlet.collector.tests.csproj -c $(BuildConfiguration) --no-build -bl:test.collector.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]*%2c[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(buildConfiguration)\coverlet.collector.test.diag.log;tracelevel=verbose"
2929
dotnet test test/coverlet.core.tests/coverlet.core.tests.csproj -c $(BuildConfiguration) --no-build -bl:test.core.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]*%2c[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(buildConfiguration)\coverlet.core.test.diag.log;tracelevel=verbose"
30+
dotnet test test/coverlet.core.coverage.tests/coverlet.core.coverage.tests.csproj -c $(BuildConfiguration) --no-build -bl:test.core.coverage.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]*%2c[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(buildConfiguration)\coverlet.core.coverage.test.diag.log;tracelevel=verbose"
3031
dotnet test test/coverlet.msbuild.tasks.tests/coverlet.msbuild.tasks.tests.csproj -c $(BuildConfiguration) --no-build -bl:test.msbuild.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]*%2c[testgen_]*" /p:ExcludeByAttribute="GeneratedCodeAttribute" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(buildConfiguration)\coverlet.msbuild.test.diag.log;tracelevel=verbose"
3132
dotnet test test/coverlet.integration.tests/coverlet.integration.tests.csproj -c $(BuildConfiguration) --no-build -bl:test.integration.binlog --results-directory:"$(Build.SourcesDirectory)\artifacts\Reports" --diag:"$(Build.SourcesDirectory)\artifacts\log\$(buildConfiguration)\coverlet.integration.test.diag.log;tracelevel=verbose"
3233
displayName: Run unit tests with coverage
@@ -40,13 +41,14 @@ steps:
4041
mergeTestResults: false
4142
publishRunAttachments: true
4243
failTaskOnFailedTests: true
44+
testRunTitle: $(Agent.OS)_$(BuildConfiguration)
4345
condition: succeededOrFailed()
4446

4547
- template: publish-coverlet-result-files.yml
4648

4749
- template: publish-coverage-results.yml
4850
parameters:
4951
reports: $(Build.SourcesDirectory)\**\*.opencover.xml
50-
condition: and(succeeded(), eq(variables['BuildConfiguration'], 'Debug'), eq(variables['agent.os'], 'Windows_NT'))
52+
condition: and(succeededORFailed(), eq(variables['BuildConfiguration'], 'Debug'), eq(variables['agent.os'], 'Windows_NT'))
5153
assemblyfilters: '-xunit;-coverlet.testsubject;-Coverlet.Tests.ProjectSample.*;-coverlet.core.tests.samples.netstandard;-coverlet.tests.xunit.extensions;-coverletsamplelib.integration.template;-coverlet.tests.utils'
5254

Diff for: eng/publish-coverage-results.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ parameters:
77
assemblyfilters: '-xunit*'
88
classfilters: ''
99
breakBuild: false
10-
minimumLineCoverage: 75
10+
minimumLineCoverage: 90
1111

1212
steps:
1313
- task: Powershell@2
@@ -26,10 +26,11 @@ steps:
2626
artifact: CoverageResults_$(Agent.Os)_$(BuildConfiguration)
2727
condition: ${{parameters.condition}}
2828

29-
- task: PublishCodeCoverageResults@2
29+
- task: PublishCodeCoverageResults@1
3030
displayName: 'Publish code coverage'
3131
condition: ${{parameters.condition}}
3232
inputs:
3333
codeCoverageTool: Cobertura
3434
summaryFileLocation: '$(Build.SourcesDirectory)/artifacts/CoverageReport/Cobertura.xml'
35+
reportDirectory: '$(Build.SourcesDirectory)/artifacts/CoverageReport'
3536
failIfCoverageEmpty: ${{parameters.breakBuild}}

Diff for: global.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
22
"sdk": {
3-
"version": "8.0.111"
3+
"version": "8.0.112"
44
}
55
}

Diff for: src/coverlet.collector/coverlet.collector.csproj

+4-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@
4040
<ItemGroup>
4141
<PackageReference Include="Microsoft.TestPlatform.ObjectModel" />
4242
<PackageReference Include="NuGet.Frameworks" />
43+
<PackageReference Include="System.Buffers" />
44+
<PackageReference Include="System.Memory" />
45+
<PackageReference Include="System.Threading.Tasks.Extensions" />
4346
</ItemGroup>
4447

4548
<ItemGroup>
@@ -54,7 +57,7 @@
5457
</ItemGroup>
5558

5659
<ItemGroup>
57-
<None Include="build\coverlet.collector.targets" >
60+
<None Include="build\coverlet.collector.targets">
5861
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
5962
</None>
6063
</ItemGroup>

Diff for: src/coverlet.console/Program.cs

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,11 @@ public static class Program
2828
static int Main(string[] args)
2929
{
3030
var moduleOrAppDirectory = new Argument<string>("path", "Path to the test assembly or application directory.");
31-
var target = new Option<string>(new[] { "--target", "-t" }, "Path to the test runner application.") { Arity = ArgumentArity.ZeroOrOne, IsRequired = true };
32-
var targs = new Option<string>(new[] { "--targetargs", "-a" }, "Arguments to be passed to the test runner.") { Arity = ArgumentArity.ZeroOrOne };
33-
var output = new Option<string>(new[] { "--output", "-o" }, "Output of the generated coverage report") { Arity = ArgumentArity.ZeroOrOne };
34-
var verbosity = new Option<LogLevel>(new[] { "--verbosity", "-v" }, () => LogLevel.Normal, "Sets the verbosity level of the command. Allowed values are quiet, minimal, normal, detailed.") { Arity = ArgumentArity.ZeroOrOne };
35-
var formats = new Option<string[]>(new[] { "--format", "-f" }, () => new[] { "json" }, "Format of the generated coverage report.") { Arity = ArgumentArity.ZeroOrMore, AllowMultipleArgumentsPerToken = true };
31+
var target = new Option<string>(["--target", "-t"], "Path to the test runner application.") { Arity = ArgumentArity.ZeroOrOne, IsRequired = true };
32+
var targs = new Option<string>(["--targetargs", "-a"], "Arguments to be passed to the test runner.") { Arity = ArgumentArity.ZeroOrOne };
33+
var output = new Option<string>(["--output", "-o"], "Output of the generated coverage report") { Arity = ArgumentArity.ZeroOrOne };
34+
var verbosity = new Option<LogLevel>(["--verbosity", "-v"], () => LogLevel.Normal, "Sets the verbosity level of the command. Allowed values are quiet, minimal, normal, detailed.") { Arity = ArgumentArity.ZeroOrOne };
35+
var formats = new Option<string[]>(["--format", "-f"], () => ["json"], "Format of the generated coverage report.") { Arity = ArgumentArity.ZeroOrMore, AllowMultipleArgumentsPerToken = true };
3636
var threshold = new Option<string>("--threshold", "Exits with error if the coverage % is below value.") { Arity = ArgumentArity.ZeroOrOne };
3737
Option<List<string>> thresholdTypes = new Option<List<string>>("--threshold-type", () => new List<string>(new string[] { "line", "branch", "method" }), "Coverage type to apply the threshold to.").FromAmong("line", "branch", "method");
3838
var thresholdStat = new Option<ThresholdStatistic>("--threshold-stat", () => ThresholdStatistic.Minimum, "Coverage statistic used to enforce the threshold value.") { Arity = ArgumentArity.ZeroOrOne };
@@ -47,7 +47,7 @@ static int Main(string[] args)
4747
var mergeWith = new Option<string>("--merge-with", "Path to existing coverage result to merge.") { Arity = ArgumentArity.ZeroOrOne };
4848
var useSourceLink = new Option<bool>("--use-source-link", "Specifies whether to use SourceLink URIs in place of file system paths.") { Arity = ArgumentArity.Zero };
4949
var doesNotReturnAttributes = new Option<string[]>("--does-not-return-attribute", "Attributes that mark methods that do not return") { Arity = ArgumentArity.ZeroOrMore, AllowMultipleArgumentsPerToken = true };
50-
var excludeAssembliesWithoutSources = new Option<string>("--exclude-assemblies-without-sources", "Specifies behaviour of heuristic to ignore assemblies with missing source documents.") { Arity = ArgumentArity.ZeroOrOne };
50+
var excludeAssembliesWithoutSources = new Option<string>("--exclude-assemblies-without-sources", "Specifies behavior of heuristic to ignore assemblies with missing source documents.") { Arity = ArgumentArity.ZeroOrOne };
5151
var sourceMappingFile = new Option<string>("--source-mapping-file", "Specifies the path to a SourceRootsMappings file.") { Arity = ArgumentArity.ZeroOrOne };
5252

5353
RootCommand rootCommand = new()

Diff for: src/coverlet.console/coverlet.console.csproj

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
</ItemGroup>
3333

3434
<ItemGroup>
35-
<None Include="$(MSBuildThisFileDirectory)..\..\_assets\coverlet-icon.png" Pack="true" PackagePath="\"/>
35+
<None Include="$(MSBuildThisFileDirectory)..\..\_assets\coverlet-icon.png" Pack="true" PackagePath="\" />
3636
<None Include="..\..\Documentation\GlobalTool.md" Link="GlobalTool.md" Pack="true" PackagePath="\">
3737
<PackageCopyToOutput>true</PackageCopyToOutput>
3838
</None>

0 commit comments

Comments
 (0)