Skip to content

Commit b73238a

Browse files
committed
add benchmarks for coverlet.core and coverlet.msbuild
1 parent 302886a commit b73238a

File tree

16 files changed

+275
-19
lines changed

16 files changed

+275
-19
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -315,4 +315,5 @@ coverage.*.cobertura.xml
315315
coverage.*.opencover.xml
316316

317317
FolderProfile.pubxml
318+
BenchmarkDotNet.Artifacts/
318319
/NuGet.config

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<CodeAnalysisTreatWarningsAsErrors>false</CodeAnalysisTreatWarningsAsErrors>
1616
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
1717
<LangVersion>preview</LangVersion>
18-
<NoWarn>$(NoWarn);NU1507;NU5105;CS1591</NoWarn>
18+
<NoWarn>$(NoWarn);NU1507;NU5105;CS1591;IDE0007</NoWarn>
1919
<GenerateDocumentationFile>true</GenerateDocumentationFile>
2020
<RestoreSources>
2121
https://api.nuget.org/v3/index.json;

Directory.Packages.props

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,15 @@
88
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.146" />
99
</ItemGroup>
1010
<ItemGroup>
11+
<PackageVersion Include="BenchmarkDotNet" Version="0.14.0" />
12+
<PackageVersion Include="BenchmarkDotNet.TestAdapter" Version="0.14.0" />
13+
<PackageVersion Include="BenchmarkDotNet.Diagnostics.Windows" Version="0.14.0" />
14+
<PackageVersion Include="DotNetConfig" Version="1.2.0" />
1115
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
1216
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="17.8.3" />
1317
<PackageVersion Include="Microsoft.Build.Framework" Version="17.8.3" />
1418
<PackageVersion Include="Microsoft.Build.Locator" Version="1.7.8" />
15-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
19+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" />
1620
<PackageVersion Include="Microsoft.Extensions.DependencyModel" Version="8.0.2" />
1721
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
1822
<PackageVersion Include="Microsoft.Extensions.FileSystemGlobbing" Version="8.0.0" />
@@ -35,7 +39,7 @@
3539
<PackageVersion Include="NuGet.Versioning" Version="6.8.0" />
3640
<PackageVersion Include="Mono.Cecil" Version="0.11.6" />
3741
<PackageVersion Include="Moq" Version="4.20.70" />
38-
<PackageVersion Include="ReportGenerator.Core" Version="5.2.1" />
42+
<PackageVersion Include="ReportGenerator.Core" Version="5.3.8" />
3943
<!--For test issue 809 https://github.com/coverlet-coverage/coverlet/issues/809-->
4044
<PackageVersion Include="LinqKit.Microsoft.EntityFrameworkCore" Version="7.1.4" />
4145
<PackageVersion Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
@@ -45,10 +49,10 @@
4549
<PackageVersion Include="System.Linq.Async" Version="6.0.1" />
4650
<PackageVersion Include="System.Reflection.Metadata" Version="8.0.0" />
4751
<PackageVersion Include="Tmds.ExecFunction" Version="0.8.0" />
48-
<PackageVersion Include="xunit" Version="2.6.6" />
52+
<PackageVersion Include="xunit" Version="2.9.0" />
4953
<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" />
54+
<PackageVersion Include="xunit.assert" Version="2.9.0" />
55+
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
5256
<PackageVersion Include="System.Buffers" Version="4.5.1" />
5357
<PackageVersion Include="System.Memory" Version="4.5.5" />
5458
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
@@ -57,4 +61,4 @@
5761
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
5862
<PackageVersion Include="System.Text.RegularExpressions" Version="4.3.1" />
5963
</ItemGroup>
60-
</Project>
64+
</Project>

coverlet.sln

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,8 @@ Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "coverlet.tests.projectsampl
8888
EndProject
8989
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "coverlet.tests.utils", "test\coverlet.tests.utils\coverlet.tests.utils.csproj", "{0B109210-03CB-413F-888C-3023994AA384}"
9090
EndProject
91+
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "coverlet.core.benchmark.tests", "test\coverlet.core.benchmark.tests\coverlet.core.benchmark.tests.csproj", "{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD}"
92+
EndProject
9193
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}"
9294
EndProject
9395
Global
@@ -192,6 +194,10 @@ Global
192194
{0B109210-03CB-413F-888C-3023994AA384}.Debug|Any CPU.Build.0 = Debug|Any CPU
193195
{0B109210-03CB-413F-888C-3023994AA384}.Release|Any CPU.ActiveCfg = Release|Any CPU
194196
{0B109210-03CB-413F-888C-3023994AA384}.Release|Any CPU.Build.0 = Release|Any CPU
197+
{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
198+
{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
199+
{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
200+
{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD}.Release|Any CPU.Build.0 = Release|Any CPU
195201
{71004336-9896-4AE5-8367-B29BB1680542}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
196202
{71004336-9896-4AE5-8367-B29BB1680542}.Debug|Any CPU.Build.0 = Debug|Any CPU
197203
{71004336-9896-4AE5-8367-B29BB1680542}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -226,6 +232,7 @@ Global
226232
{351A034E-E642-4DB9-A21D-F71C8151C243} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
227233
{03400776-1F9A-4326-B927-1CA9B64B42A1} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
228234
{0B109210-03CB-413F-888C-3023994AA384} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
235+
{8E8C4799-6F9D-49D8-96EA-E9BD1D187DAD} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
229236
{71004336-9896-4AE5-8367-B29BB1680542} = {2FEBDE1B-83E3-445B-B9F8-5644B0E0E134}
230237
EndGlobalSection
231238
GlobalSection(ExtensibilityGlobals) = postSolution

src/coverlet.core/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
[assembly: InternalsVisibleTo("coverlet.collector, PublicKey=00240000048000009400000006020000002400005253413100040000010001003d23b9ef372215da7c81af920b919db5799fd021a1ca10b2e9e0ddac71237a29f8f6361a805a747457e561a7d616417f1870cda099486df25d580a4e11a0738293342881566254d7840e42f42fb9bfd8e8dca354df7dc68db14b2d0cd79bb2bf7afdbd62bd948d81b534cba7a326cf6ee840a1aee5dba0a1c660b30813ca99e5")]
1212

1313
[assembly: InternalsVisibleTo("coverlet.core.tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100757cf9291d78a82e5bb58a827a3c46c2f959318327ad30d1b52e918321ffbd847fb21565b8576d2a3a24562a93e86c77a298b564a0f1b98f63d7a1441a3a8bcc206da3ed09d5dacc76e122a109a9d3ac608e21a054d667a2bae98510a1f0f653c0e6f58f42b4b3934f6012f5ec4a09b3dfd3e14d437ede1424bdb722aead64ad")]
14+
[assembly: InternalsVisibleTo("coverlet.core.benchmark.tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010061d9d48f9cd6a4733ea1d88bc8a09c53a3040c3446c41858781df135170e8fe4e82a6cc6d9836f070ae0a28ebd7cd6e30dc1a853b350ae08ae77f437bc9f9f3b0ef23eb9b05eea38f97edb26a2dd2d0d8b32c6335c47b32f5277621118267f1a5717233eae25a3fe126d89d14b85a7a8e07657bf681a8a82100762a42ec477aa")]
1415
[assembly: InternalsVisibleTo("coverlet.collector.tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100ed0ed6af9693182615b8dcadc83c918b8d36312f86cefc69539d67d4189cd1b89420e7c3871802ffef7f5ca7816c68ad856c77bf7c230cc07824d96aa5d1237eebd30e246b9a14e22695fb26b40c800f74ea96619092cbd3a5d430d6c003fc7a82e8ccd1e315b935105d9232fe9e99e8d7ff54bba6f191959338d4a3169df9b3")]
1516
[assembly: InternalsVisibleTo("coverlet.msbuild.tasks.tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010071b1583d63637a225f3f640252fee7130f0f3f2127d75025c1c3ee2d6dfc79a4950919268e0784d7ff54b0eadd8e4762e3e150da422e20e091eb0811d9d84e1779d5b95e349d5428aebb16e82e081bdf805926c5a9eb2094aaed9d36442de024264976a8835c7d6923047cf2f745e8f0ded2332f8980acd390f725224d976ed8")]
1617
[assembly: InternalsVisibleTo("coverlet.integration.tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010001d24efbe9cbc2dc49b7a3d2ae34ca37cfb69b4f450acd768a22ce5cd021c8a38ae7dc68b2809a1ac606ad531b578f192a5690b2986990cbda4dd84ec65a3a4c1c36f6d7bb18f08592b93091535eaee2f0c8e48763ed7f190db2008e1f9e0facd5c0df5aaab74febd3430e09a428a72e5e6b88357f92d78e47512d46ebdc3cbb")]
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// Copyright (c) Toni Solarin-Sodara
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
using System;
5+
using System.IO;
6+
using BenchmarkDotNet.Attributes;
7+
using Coverlet.Core;
8+
using Coverlet.Core.Abstractions;
9+
using Coverlet.Core.Helpers;
10+
using Coverlet.Core.Symbols;
11+
using Moq;
12+
13+
namespace coverlet.core.benchmark.tests
14+
{
15+
[MemoryDiagnoser]
16+
public class CoverageBenchmarks
17+
{
18+
private Coverage _coverage;
19+
private readonly Mock<ILogger> _mockLogger = new();
20+
private DirectoryInfo _directory;
21+
22+
[GlobalSetup(Target = nameof(GetCoverageBenchmark))]
23+
public void GetCoverageBenchmarkSetup()
24+
{
25+
string module = GetType().Assembly.Location;
26+
string pdb = Path.Combine(Path.GetDirectoryName(module), Path.GetFileNameWithoutExtension(module) + ".pdb");
27+
28+
_directory = Directory.CreateDirectory(Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString()));
29+
30+
File.Copy(module, Path.Combine(_directory.FullName, Path.GetFileName(module)), true);
31+
File.Copy(pdb, Path.Combine(_directory.FullName, Path.GetFileName(pdb)), true);
32+
33+
// TODO: Find a way to mimick hits
34+
var instrumentationHelper =
35+
new InstrumentationHelper(new ProcessExitHandler(), new RetryHelper(), new FileSystem(), new Mock<ILogger>().Object,
36+
new SourceRootTranslator(module, new Mock<ILogger>().Object, new FileSystem(), new AssemblyAdapter()));
37+
38+
var parameters = new CoverageParameters
39+
{
40+
IncludeFilters = new string[] { "[coverlet.tests.projectsample.excludedbyattribute*]*" },
41+
IncludeDirectories = Array.Empty<string>(),
42+
ExcludeFilters = Array.Empty<string>(),
43+
ExcludedSourceFiles = Array.Empty<string>(),
44+
ExcludeAttributes = Array.Empty<string>(),
45+
IncludeTestAssembly = false,
46+
SingleHit = false,
47+
MergeWith = string.Empty,
48+
UseSourceLink = false
49+
};
50+
51+
_coverage = new Coverage(Path.Combine(_directory.FullName, Path.GetFileName(module)), parameters, _mockLogger.Object, instrumentationHelper, new FileSystem(), new SourceRootTranslator(_mockLogger.Object, new FileSystem()), new CecilSymbolHelper());
52+
_coverage.PrepareModules();
53+
54+
}
55+
56+
[GlobalCleanup]
57+
public void IterationCleanup()
58+
{
59+
_directory.Delete(true);
60+
}
61+
62+
[Benchmark]
63+
public void GetCoverageBenchmark()
64+
{
65+
CoverageResult result = _coverage.GetCoverageResult();
66+
}
67+
}
68+
}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
// Copyright (c) Toni Solarin-Sodara
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
using Coverlet.Core.Abstractions;
5+
using Coverlet.Core.Helpers;
6+
using Coverlet.Core.Symbols;
7+
8+
using BenchmarkDotNet.Attributes;
9+
using Coverlet.Core.Instrumentation;
10+
using Coverlet.Core;
11+
using System.IO;
12+
using Moq;
13+
14+
namespace coverlet.core.benchmark.tests
15+
{
16+
[MemoryDiagnoser]
17+
public class InstrumenterBenchmarks
18+
{
19+
Mock<ILogger> _mockLogger;
20+
Mock<FileSystem> _partialMockFileSystem;
21+
readonly string[] _files = new[]
22+
{
23+
"System.Private.CoreLib.dll",
24+
"System.Private.CoreLib.pdb"
25+
};
26+
Instrumenter _instrumenter;
27+
DirectoryInfo _directory;
28+
SourceRootTranslator _sourceRootTranslator;
29+
CoverageParameters _parameters;
30+
InstrumentationHelper _instrumentationHelper;
31+
32+
//[GlobalSetup(Target = nameof(InstrumenterBenchmarks))]
33+
//public void InstrumenterBenchmarkSetup()
34+
//{
35+
36+
//}
37+
38+
[GlobalCleanup]
39+
public void IterationCleanup()
40+
{
41+
_directory.Delete(true);
42+
}
43+
44+
[Benchmark]
45+
public void InstrumenterBenchmark()
46+
{
47+
_mockLogger = new Mock<ILogger>();
48+
_directory = Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), nameof(InstrumenterBenchmark)));
49+
50+
foreach (string file in _files)
51+
{
52+
File.Copy(Path.Combine(Directory.GetCurrentDirectory(), "TestAssets", file), Path.Combine(_directory.FullName, file), overwrite: true);
53+
}
54+
55+
_partialMockFileSystem = new Mock<FileSystem>();
56+
_partialMockFileSystem.CallBase = true;
57+
_partialMockFileSystem.Setup(fs => fs.OpenRead(It.IsAny<string>())).Returns((string path) =>
58+
{
59+
if (Path.GetFileName(path.Replace(@"\", @"/")) == _files[1])
60+
{
61+
return File.OpenRead(Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "TestAssets"), _files[1]));
62+
}
63+
else
64+
{
65+
return File.OpenRead(path);
66+
}
67+
});
68+
_partialMockFileSystem.Setup(fs => fs.Exists(It.IsAny<string>())).Returns((string path) =>
69+
{
70+
if (Path.GetFileName(path.Replace(@"\", @"/")) == _files[1])
71+
{
72+
return File.Exists(Path.Combine(Path.Combine(Directory.GetCurrentDirectory(), "TestAssets"), _files[1]));
73+
}
74+
else
75+
{
76+
if (path.Contains(@":\git\runtime"))
77+
{
78+
return true;
79+
}
80+
else
81+
{
82+
return File.Exists(path);
83+
}
84+
}
85+
});
86+
_sourceRootTranslator = new SourceRootTranslator(_mockLogger.Object, new FileSystem());
87+
_parameters = new CoverageParameters();
88+
_instrumentationHelper =
89+
new InstrumentationHelper(new ProcessExitHandler(), new RetryHelper(), _partialMockFileSystem.Object, _mockLogger.Object, _sourceRootTranslator);
90+
_instrumenter = new Instrumenter(Path.Combine(_directory.FullName, _files[0]), "_coverlet_instrumented", _parameters, _mockLogger.Object, _instrumentationHelper, _partialMockFileSystem.Object, _sourceRootTranslator, new CecilSymbolHelper());
91+
92+
// implement your benchmark here
93+
InstrumenterResult result = _instrumenter.Instrument();
94+
}
95+
96+
}
97+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) Toni Solarin-Sodara
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
using BenchmarkDotNet.Configs;
5+
using BenchmarkDotNet.Jobs;
6+
using BenchmarkDotNet.Running;
7+
using BenchmarkDotNet.Toolchains.InProcess.NoEmit;
8+
9+
namespace coverlet.core.benchmark.tests
10+
{
11+
public class Program
12+
{
13+
14+
public static void Main(string[] args)
15+
{
16+
17+
var config = DefaultConfig.Instance
18+
.WithOptions(ConfigOptions.JoinSummary)
19+
.AddJob(Job
20+
.ShortRun
21+
.WithLaunchCount(1)
22+
.WithToolchain(InProcessNoEmitToolchain.Instance));
23+
var summary = BenchmarkRunner.Run(new[]{
24+
BenchmarkConverter.TypeToBenchmarks( typeof(CoverageBenchmarks), config),
25+
BenchmarkConverter.TypeToBenchmarks( typeof(InstrumenterBenchmarks), config)
26+
});
27+
28+
// Use this to select benchmarks from the console:
29+
//var summaries = BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args, config);
30+
}
31+
}
32+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
// Copyright (c) Toni Solarin-Sodara
2+
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
3+
4+
using System.Reflection;
5+
6+
[assembly: AssemblyKeyFile("coverlet.core.benchmark.tests.snk")]
Binary file not shown.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
<PropertyGroup>
3+
<TargetFramework>net8.0</TargetFramework>
4+
<OutputType>Exe</OutputType>
5+
</PropertyGroup>
6+
<PropertyGroup>
7+
<PlatformTarget>AnyCPU</PlatformTarget>
8+
<DebugType>pdbonly</DebugType>
9+
<DebugSymbols>true</DebugSymbols>
10+
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
11+
<Optimize>true</Optimize>
12+
<Configuration>Release</Configuration>
13+
<IsPackable>false</IsPackable>
14+
<NoWarn>$(NoWarn);CS0162</NoWarn>
15+
<!-- Disable entry point generation as this project has it's own entry point -->
16+
<GenerateProgramFile>false</GenerateProgramFile>
17+
</PropertyGroup>
18+
<ItemGroup>
19+
<PackageReference Include="BenchmarkDotNet.TestAdapter" />
20+
<PackageReference Include="Microsoft.NET.Test.Sdk" />
21+
<PackageReference Include="Moq" />
22+
</ItemGroup>
23+
<ItemGroup>
24+
<ProjectReference Include="$(RepoRoot)src\coverlet.core\coverlet.core.csproj" />
25+
<ProjectReference Include="$(RepoRoot)test\coverlet.tests.utils\coverlet.tests.utils.csproj" />
26+
<ProjectReference Include="$(RepoRoot)test\coverlet.tests.xunit.extensions\coverlet.tests.xunit.extensions.csproj" />
27+
28+
<ProjectReference Include="$(RepoRoot)test\coverlet.tests.projectsample.excludedbyattribute\coverlet.tests.projectsample.excludedbyattribute.csproj" />
29+
</ItemGroup>
30+
<ItemGroup>
31+
<None Update="TestAssets\System.Private.CoreLib.dll">
32+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
33+
</None>
34+
<None Update="TestAssets\System.Private.CoreLib.pdb">
35+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
36+
</None>
37+
</ItemGroup>
38+
</Project>
Binary file not shown.

test/coverlet.core.tests/Reporters/OpenCoverReporterTests.cs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33

44
using System;
55
using System.IO;
6-
using System.Linq;
76
using System.Text;
87
using System.Xml.Linq;
98
using Coverlet.Core.Abstractions;
@@ -28,9 +27,9 @@ public void TestReport()
2827
string report = reporter.Report(result, new Mock<ISourceRootTranslator>().Object);
2928
Assert.NotEmpty(report);
3029
var doc = XDocument.Load(new StringReader(report));
31-
Assert.Empty(doc.Descendants().Attributes("sequenceCoverage").Where(v => v.Value != "33.33"));
32-
Assert.Empty(doc.Descendants().Attributes("branchCoverage").Where(v => v.Value != "25"));
33-
Assert.Empty(doc.Descendants().Attributes("nPathComplexity").Where(v => v.Value != "4"));
30+
Assert.DoesNotContain(doc.Descendants().Attributes("sequenceCoverage"), v => v.Value != "33.33");
31+
Assert.DoesNotContain(doc.Descendants().Attributes("branchCoverage"), v => v.Value != "25");
32+
Assert.DoesNotContain(doc.Descendants().Attributes("nPathComplexity"), v => v.Value != "4");
3433
}
3534

3635
[Fact]

test/coverlet.integration.template/coverlet.integration.template.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="xunit" Version="2.6.6"/>
15-
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.6">
14+
<PackageReference Include="xunit" Version="2.9.0" />
15+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
1616
<PrivateAssets>all</PrivateAssets>
1717
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1818
</PackageReference>

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88
</PropertyGroup>
99

1010
<ItemGroup>
11-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0"/>
12-
<PackageReference Include="Moq" Version="4.20.70"/>
13-
<PackageReference Include="NuGet.Packaging" Version="6.6.2"/>
14-
<PackageReference Include="xunit" Version="2.6.6"/>
15-
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.6"/>
11+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
12+
<PackageReference Include="Moq" Version="4.20.70" />
13+
<PackageReference Include="NuGet.Packaging" Version="6.6.2" />
14+
<PackageReference Include="xunit" Version="2.9.0" />
15+
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
16+
<PrivateAssets>all</PrivateAssets>
17+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
18+
</PackageReference>
1619
<PackageReference Include="System.Buffers" Version="4.5.1" />
1720
<PackageReference Include="System.Memory" Version="4.5.5" />
1821
<PackageReference Include="System.Security.Cryptography.Pkcs" Version="6.0.5" />

0 commit comments

Comments
 (0)