Skip to content

Commit 48eec00

Browse files
Restore Code Coverage (#94)
1 parent 2f435bf commit 48eec00

6 files changed

Lines changed: 73 additions & 42 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131
- name: Build
3232
run: dotnet build -c Release --no-restore
3333
- name: Test
34-
run: dotnet test -c Release --no-build
34+
run: dotnet test -c Release --no-build -- --coverage --coverage-output-format cobertura --coverage-output coverage.cobertura.xml
3535

3636
- name: Upload coverage reports to Codecov with GitHub Action
3737
uses: codecov/codecov-action@v5

Directory.Packages.props

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,45 +4,49 @@
44
</PropertyGroup>
55

66
<ItemGroup>
7-
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.6.0" />
8-
<PackageVersion Include="coverlet.collector" Version="6.0.4" />
9-
<PackageVersion Include="coverlet.msbuild" Version="6.0.4" />
107
<PackageVersion Include="DotNet.ReproducibleBuilds" Version="2.0.2" />
8+
<PackageVersion Include="Immediate.Handlers" Version="3.3.0" />
119
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
1210
<PackageVersion Include="Microsoft.CodeAnalysis.Analyzers" Version="4.14.0" />
1311
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.8.0" />
1412
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.8.0" />
1513
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" Version="1.1.3" />
16-
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0" />
1714
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.8.0" />
18-
<PackageVersion Include="Immediate.Handlers" Version="3.2.0" />
15+
<PackageVersion Include="Microsoft.Testing.Extensions.CodeCoverage" Version="18.5.2" />
1916
<PackageVersion Include="MinVer" Version="7.0.0" />
2017
<PackageVersion Include="xunit.v3.mtp-v2" Version="3.2.2" />
2118
</ItemGroup>
2219

2320
<ItemGroup Condition="$(TargetFramework) == 'net8.0'">
21+
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.8.4" />
22+
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0" />
2423
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="8.0.0" />
2524
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="8.0.1" />
2625
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
2726
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
2827
</ItemGroup>
2928

3029
<ItemGroup Condition="$(TargetFramework) == 'net9.0'">
30+
<PackageVersion Include="Basic.Reference.Assemblies.Net90" Version="1.8.4" />
31+
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="9.0.0" />
3132
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="9.0.12" />
3233
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="9.0.12" />
3334
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.12" />
3435
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.12" />
3536
</ItemGroup>
3637

3738
<ItemGroup Condition="$(TargetFramework) == 'net10.0'">
38-
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.2" />
39-
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.2" />
40-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.2" />
41-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.2" />
39+
<PackageVersion Include="Basic.Reference.Assemblies.Net100" Version="1.8.4" />
40+
<PackageVersion Include="Microsoft.CodeAnalysis.NetAnalyzers" Version="10.0.103" />
41+
<PackageVersion Include="Microsoft.Extensions.Caching.Abstractions" Version="10.0.3" />
42+
<PackageVersion Include="Microsoft.Extensions.Caching.Memory" Version="10.0.3" />
43+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.3" />
44+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="10.0.3" />
4245
</ItemGroup>
4346

4447
<ItemGroup>
45-
<GlobalPackageReference Include="Meziantou.Analyzer" Version="2.0.298" PrivateAssets="All" />
46-
<GlobalPackageReference Include="Meziantou.Polyfill" Version="1.0.101" PrivateAssets="All" />
48+
<GlobalPackageReference Include="Meziantou.Analyzer" Version="3.0.18" PrivateAssets="All" />
49+
<GlobalPackageReference Include="Meziantou.Polyfill" Version="1.0.103" PrivateAssets="All" />
50+
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="10.0.103" PrivateAssets="All" />
4751
</ItemGroup>
4852
</Project>

tests/Immediate.Cache.FunctionalTests/Immediate.Cache.FunctionalTests.csproj

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,9 @@
55
</PropertyGroup>
66

77
<ItemGroup>
8-
<PackageReference Include="coverlet.collector" PrivateAssets="All" />
9-
<PackageReference Include="coverlet.msbuild" PrivateAssets="All" />
108
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
119
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
10+
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" />
1211
<PackageReference Include="xunit.v3.mtp-v2" />
1312
</ItemGroup>
1413

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

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0</TargetFrameworks>
5-
<OutputType>Exe</OutputType>
4+
<OutputType>Exe</OutputType>
65
<_SkipUpgradeNetAnalyzersNuGetWarning>true</_SkipUpgradeNetAnalyzersNuGetWarning>
76
</PropertyGroup>
87

@@ -11,16 +10,26 @@
1110
</ItemGroup>
1211

1312
<ItemGroup>
14-
<PackageReference Include="Basic.Reference.Assemblies.Net80" />
15-
<PackageReference Include="coverlet.collector" PrivateAssets="All" />
16-
<PackageReference Include="coverlet.msbuild" PrivateAssets="All" />
17-
<PackageReference Include="Microsoft.CodeAnalysis.Common" VersionOverride="4.9.2" />
18-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" VersionOverride="4.9.2" />
19-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" />
20-
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" VersionOverride="4.9.2" />
21-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
13+
<PackageReference Include="Microsoft.CodeAnalysis.Common" VersionOverride="4.12.0" />
14+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" VersionOverride="4.12.0" />
15+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" />
16+
<PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" VersionOverride="4.12.0" />
17+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" />
2218
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" />
23-
<PackageReference Include="xunit.v3.mtp-v2" />
19+
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" />
20+
<PackageReference Include="xunit.v3.mtp-v2" />
21+
</ItemGroup>
22+
23+
<ItemGroup Condition=" '$(TargetFramework)' == 'net10.0' ">
24+
<PackageReference Include="Basic.Reference.Assemblies.Net100" />
25+
</ItemGroup>
26+
27+
<ItemGroup Condition=" '$(TargetFramework)' == 'net9.0' ">
28+
<PackageReference Include="Basic.Reference.Assemblies.Net90" />
29+
</ItemGroup>
30+
31+
<ItemGroup Condition=" '$(TargetFramework)' == 'net8.0' ">
32+
<PackageReference Include="Basic.Reference.Assemblies.Net80" />
2433
</ItemGroup>
2534

2635
<ItemGroup>
@@ -29,9 +38,14 @@
2938
</ItemGroup>
3039

3140
<ItemGroup>
32-
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" PrivateAssets="all" GeneratePathProperty="true" />
33-
<Reference Include="$(PkgMicrosoft_CodeAnalysis_NetAnalyzers)\analyzers\dotnet\cs\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
34-
<Reference Include="$(PkgMicrosoft_CodeAnalysis_NetAnalyzers)\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
41+
<PackageReference Include="Microsoft.CodeAnalysis.NetAnalyzers" PrivateAssets="all" GeneratePathProperty="true" />
42+
43+
<Reference Condition="!$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net10.0'))"
44+
Include="$(PkgMicrosoft_CodeAnalysis_NetAnalyzers)\analyzers\dotnet\cs\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
45+
<Reference Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net10.0'))"
46+
Include="$(PkgMicrosoft_CodeAnalysis_NetAnalyzers)\analyzers\dotnet\Microsoft.CodeAnalysis.NetAnalyzers.dll" />
47+
48+
<Reference Include="$(PkgMicrosoft_CodeAnalysis_NetAnalyzers)\analyzers\dotnet\cs\Microsoft.CodeAnalysis.CSharp.NetAnalyzers.dll" />
3549
</ItemGroup>
3650

3751
</Project>

tests/Immediate.Cache.Tests/SuppressorTests/SuppressorTestHelpers.cs

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -88,28 +88,17 @@ public static CSharpSuppressorTest<TSuppressor, DefaultVerifier> CreateSuppresso
8888
var test = new CSharpSuppressorTest<TSuppressor, DefaultVerifier>
8989
{
9090
TestCode = inputSource,
91-
ReferenceAssemblies = new ReferenceAssemblies(
92-
"net8.0",
93-
new PackageIdentity(
94-
"Microsoft.NETCore.App.Ref",
95-
"8.0.0"),
96-
Path.Combine("ref", "net8.0")
97-
),
91+
ReferenceAssemblies = Utility.ReferenceAssemblies,
9892
CompilerDiagnostics = CompilerDiagnostics.Warnings,
9993
DisabledDiagnostics =
10094
{
10195
"CS1591",
10296
"CS8767",
10397
},
104-
TestState =
105-
{
106-
AdditionalReferences =
107-
{
108-
MetadataReference.CreateFromFile("./Immediate.Cache.Shared.dll"),
109-
},
110-
},
11198
};
11299

100+
test.TestState.AdditionalReferences.AddRange(Utility.GetMetadataReferences());
101+
113102
return test;
114103
}
115104

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
using Microsoft.CodeAnalysis;
2+
using Microsoft.CodeAnalysis.Testing;
3+
4+
namespace Immediate.Cache.Tests;
5+
6+
internal static class Utility
7+
{
8+
#if NET8_0
9+
public static ReferenceAssemblies ReferenceAssemblies => ReferenceAssemblies.Net.Net80;
10+
public static IEnumerable<MetadataReference> NetCoreAssemblies => Basic.Reference.Assemblies.Net80.References.All;
11+
#elif NET9_0
12+
public static ReferenceAssemblies ReferenceAssemblies => ReferenceAssemblies.Net.Net90;
13+
public static IEnumerable<MetadataReference> NetCoreAssemblies => Basic.Reference.Assemblies.Net90.References.All;
14+
#elif NET10_0
15+
public static ReferenceAssemblies ReferenceAssemblies => ReferenceAssemblies.Net.Net100;
16+
public static IEnumerable<MetadataReference> NetCoreAssemblies => Basic.Reference.Assemblies.Net100.References.All;
17+
#else
18+
#error .net version not yet implemented
19+
#endif
20+
21+
public static IEnumerable<MetadataReference> GetMetadataReferences() =>
22+
[
23+
MetadataReference.CreateFromFile("./Immediate.Cache.Shared.dll"),
24+
];
25+
}

0 commit comments

Comments
 (0)