diff --git a/Directory.Packages.props b/Directory.Packages.props
index 5d34a6b..14928d3 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -10,6 +10,7 @@
+
diff --git a/src/NetEvolve.Defaults/buildMultiTargeting/SupportMissingAnalyzers.targets b/src/NetEvolve.Defaults/buildMultiTargeting/SupportMissingAnalyzers.targets
index b811641..b0a6c3a 100644
--- a/src/NetEvolve.Defaults/buildMultiTargeting/SupportMissingAnalyzers.targets
+++ b/src/NetEvolve.Defaults/buildMultiTargeting/SupportMissingAnalyzers.targets
@@ -4,6 +4,7 @@
+
diff --git a/tests/NetEvolve.Defaults.Analyzer.Tests.Unit/AnalyzerTestHelper.cs b/tests/NetEvolve.Defaults.Analyzer.Tests.Unit/AnalyzerTestHelper.cs
index d5024f0..12fd3b6 100644
--- a/tests/NetEvolve.Defaults.Analyzer.Tests.Unit/AnalyzerTestHelper.cs
+++ b/tests/NetEvolve.Defaults.Analyzer.Tests.Unit/AnalyzerTestHelper.cs
@@ -4,6 +4,7 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
+using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp;
@@ -16,10 +17,13 @@ internal static class AnalyzerTestHelper
internal static async Task> GetDiagnosticsAsync(
DiagnosticAnalyzer analyzer,
IReadOnlyDictionary? globalOptions = null,
- string source = DefaultSource
+ string source = DefaultSource,
+ CancellationToken cancellationToken = default
)
{
- var syntaxTree = CSharpSyntaxTree.ParseText(source);
+ cancellationToken.ThrowIfCancellationRequested();
+
+ var syntaxTree = CSharpSyntaxTree.ParseText(source, cancellationToken: cancellationToken);
var compilation = CSharpCompilation.Create(
"AnalyzerTestAssembly",
[syntaxTree],
@@ -32,11 +36,11 @@ internal static async Task> GetDiagnosticsAsync(
);
var analyzerOptions = new AnalyzerOptions([], optionsProvider);
+#pragma warning disable S8949 // The overload accepting a 'CancellationToken' should be used
var withAnalyzers = compilation.WithAnalyzers([analyzer], analyzerOptions);
+#pragma warning restore S8949 // The overload accepting a 'CancellationToken' should be used
- var diagnostics = await withAnalyzers.GetAnalyzerDiagnosticsAsync().ConfigureAwait(false);
-
- return diagnostics;
+ return await withAnalyzers.GetAnalyzerDiagnosticsAsync(cancellationToken).ConfigureAwait(false);
}
private sealed class TestAnalyzerConfigOptionsProvider(AnalyzerConfigOptions globalOptions)
diff --git a/tests/NetEvolve.Defaults.Tests.Unit/SupportMissingAnalyzersTests.cs b/tests/NetEvolve.Defaults.Tests.Unit/SupportMissingAnalyzersTests.cs
index 97024a6..baf7f7c 100644
--- a/tests/NetEvolve.Defaults.Tests.Unit/SupportMissingAnalyzersTests.cs
+++ b/tests/NetEvolve.Defaults.Tests.Unit/SupportMissingAnalyzersTests.cs
@@ -13,17 +13,18 @@ public async Task RecommendedPackage_ContainsExpectedFixedList()
var recommended = evaluated.GetItemIncludes("RecommendedPackage");
- await Assert.That(recommended).Contains("Meziantou.Analyzer");
- await Assert.That(recommended).Contains("Microsoft.CodeAnalysis.BannedApiAnalyzers");
- await Assert.That(recommended).Contains("Microsoft.CodeAnalysis.NetAnalyzers");
- await Assert.That(recommended).Contains("Microsoft.VisualStudio.Threading.Analyzers");
- await Assert.That(recommended).Contains("NetEvolve.Defaults");
- await Assert.That(recommended).Contains("Roslynator.Analyzers");
- await Assert.That(recommended).Contains("Roslynator.Formatting.Analyzers");
- await Assert.That(recommended).Contains("Roslynator.CodeAnalysis.Analyzers");
- await Assert.That(recommended).Contains("Roslynator.CodeFixes");
- await Assert.That(recommended).Contains("Roslynator.Refactorings");
- await Assert.That(recommended).Contains("SonarAnalyzer.CSharp");
- await Assert.That(recommended.Count).IsEqualTo(11);
+ _ = await Assert.That(recommended).Contains("Meziantou.Analyzer");
+ _ = await Assert.That(recommended).Contains("Microsoft.CodeAnalysis.BannedApiAnalyzers");
+ _ = await Assert.That(recommended).Contains("Microsoft.CodeAnalysis.NetAnalyzers");
+ _ = await Assert.That(recommended).Contains("Microsoft.VisualStudio.Threading.Analyzers");
+ _ = await Assert.That(recommended).Contains("NetEvolve.Analyzer");
+ _ = await Assert.That(recommended).Contains("NetEvolve.Defaults");
+ _ = await Assert.That(recommended).Contains("Roslynator.Analyzers");
+ _ = await Assert.That(recommended).Contains("Roslynator.Formatting.Analyzers");
+ _ = await Assert.That(recommended).Contains("Roslynator.CodeAnalysis.Analyzers");
+ _ = await Assert.That(recommended).Contains("Roslynator.CodeFixes");
+ _ = await Assert.That(recommended).Contains("Roslynator.Refactorings");
+ _ = await Assert.That(recommended).Contains("SonarAnalyzer.CSharp");
+ _ = await Assert.That(recommended.Count).IsEqualTo(12);
}
}