From 5e79eb71456c27ea1cd75a54a5e09fd9cbbe3e45 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 1 Apr 2026 22:49:29 +0200 Subject: [PATCH] Remove duplicate test cases The deleted test methods are already tested in MultiThreadableTaskCodeFixProviderTests which covers both the analyzer and the codefix --- .../MultiThreadableTaskAnalyzerTests.cs | 121 ------------------ ...MultiThreadableTaskCodeFixProviderTests.cs | 3 +- 2 files changed, 2 insertions(+), 122 deletions(-) diff --git a/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskAnalyzerTests.cs b/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskAnalyzerTests.cs index 944f183a3b2..cc204fdcddb 100644 --- a/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskAnalyzerTests.cs +++ b/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskAnalyzerTests.cs @@ -212,87 +212,6 @@ public override bool Execute() // MSBuildTask0002: TaskEnvironment required (only for IMultiThreadableTask) // ═══════════════════════════════════════════════════════════════════════ - [Fact] - public async Task EnvironmentGetEnvVar_InMultiThreadableTask_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - var val = Environment.GetEnvironmentVariable("PATH"); - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.TaskEnvironmentRequired); - diags.Length.ShouldBe(1); - } - - [Fact] - public async Task EnvironmentSetEnvVar_InMultiThreadableTask_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - Environment.SetEnvironmentVariable("KEY", "VALUE"); - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.TaskEnvironmentRequired); - } - - [Fact] - public async Task EnvironmentCurrentDirectory_InMultiThreadableTask_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - var dir = Environment.CurrentDirectory; - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.TaskEnvironmentRequired); - } - - [Fact] - public async Task PathGetFullPath_InMultiThreadableTask_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System.IO; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - var p = Path.GetFullPath("relative"); - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.TaskEnvironmentRequired); - } - [Fact] public async Task ProcessStart_InMultiThreadableTask_ProducesWarning() { @@ -375,26 +294,6 @@ public override bool Execute() // MSBuildTask0003: File path requires absolute (only for IMultiThreadableTask) // ═══════════════════════════════════════════════════════════════════════ - [Fact] - public async Task FileExists_WithStringArg_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System.IO; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - File.Exists("foo.txt"); - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.FilePathRequiresAbsolute); - } - [Fact] public async Task FileReadAllText_WithStringArg_ProducesWarning() { @@ -435,26 +334,6 @@ public override bool Execute() diags.ShouldContain(d => d.Id == DiagnosticIds.FilePathRequiresAbsolute); } - [Fact] - public async Task NewFileInfo_WithStringArg_ProducesWarning() - { - var diags = await GetDiagnosticsAsync(""" - using System.IO; - using Microsoft.Build.Framework; - public class MyTask : Microsoft.Build.Utilities.Task, IMultiThreadableTask - { - public TaskEnvironment TaskEnvironment { get; set; } - public override bool Execute() - { - var fi = new FileInfo("file.txt"); - return true; - } - } - """); - - diags.ShouldContain(d => d.Id == DiagnosticIds.FilePathRequiresAbsolute); - } - [Fact] public async Task NewStreamReader_WithStringArg_ProducesWarning() { diff --git a/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskCodeFixProviderTests.cs b/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskCodeFixProviderTests.cs index 5ebea84bd46..11fb73c7e29 100644 --- a/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskCodeFixProviderTests.cs +++ b/src/ThreadSafeTaskAnalyzer.Tests/MultiThreadableTaskCodeFixProviderTests.cs @@ -2,6 +2,7 @@ // The .NET Foundation licenses this file to you under the MIT license. using System.Threading.Tasks; +using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp.Testing; using Microsoft.CodeAnalysis.Testing; using Xunit; @@ -42,7 +43,7 @@ private static CSharpCodeFixTest new DiagnosticResult(DiagnosticDescriptors.FilePathRequiresAbsolute), DiagnosticIds.PotentialIssue => new DiagnosticResult(DiagnosticDescriptors.PotentialIssue), DiagnosticIds.TransitiveUnsafeCall => new DiagnosticResult(DiagnosticDescriptors.TransitiveUnsafeCall), - _ => new DiagnosticResult(id, Microsoft.CodeAnalysis.DiagnosticSeverity.Warning), + _ => new DiagnosticResult(id, DiagnosticSeverity.Warning), }; [Fact]