From e9ee9b72340fb3d636bc416973fcc13884ac48a5 Mon Sep 17 00:00:00 2001 From: elachlan <2433737+elachlan@users.noreply.github.com> Date: Fri, 31 Dec 2021 07:56:21 +1000 Subject: [PATCH 1/4] CA2241 Provide correct arguments to formatting methods --- eng/CodeAnalysis.ruleset | 2 +- .../FileUtilitiesRegex_Tests.cs | 42 ++++++------------- 2 files changed, 13 insertions(+), 31 deletions(-) diff --git a/eng/CodeAnalysis.ruleset b/eng/CodeAnalysis.ruleset index 2078c42fe6c..57d18ebbcb9 100644 --- a/eng/CodeAnalysis.ruleset +++ b/eng/CodeAnalysis.ruleset @@ -139,7 +139,7 @@ - + diff --git a/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs b/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs index 5c8489fc7b6..d7d57de9aba 100644 --- a/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs +++ b/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs @@ -525,64 +525,46 @@ public void MatchLengthStartWithUncPatternNoShare() [Fact] public void UncPatternEmptyString_LegacyRegex() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - UncPattern.IsMatch(winDirectory).ShouldBe(false); - UncPattern.IsMatch(unixDirectory).ShouldBe(false); + UncPattern.IsMatch(string.Empty).ShouldBe(false); + UncPattern.IsMatch(string.Empty).ShouldBe(false); } [Fact] public void UncPatternEmptyString() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - FileUtilitiesRegex.IsUncPattern(winDirectory).ShouldBe(false); - FileUtilitiesRegex.IsUncPattern(unixDirectory).ShouldBe(false); + FileUtilitiesRegex.IsUncPattern(string.Empty).ShouldBe(false); + FileUtilitiesRegex.IsUncPattern(string.Empty).ShouldBe(false); } [Fact] public void StartWithUncPatternEmptyString_LegacyRegex() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - StartsWithUncPattern.IsMatch(winDirectory).ShouldBe(false); - StartsWithUncPattern.IsMatch(unixDirectory).ShouldBe(false); + StartsWithUncPattern.IsMatch(string.Empty).ShouldBe(false); + StartsWithUncPattern.IsMatch(string.Empty).ShouldBe(false); } [Fact] public void StartsWithUncPatternEmptyString() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - FileUtilitiesRegex.StartsWithUncPattern(winDirectory).ShouldBe(false); - FileUtilitiesRegex.StartsWithUncPattern(unixDirectory).ShouldBe(false); + FileUtilitiesRegex.StartsWithUncPattern(string.Empty).ShouldBe(false); + FileUtilitiesRegex.StartsWithUncPattern(string.Empty).ShouldBe(false); } [Fact] public void MatchLengthStartWithUncPatternEmptyString_LegacyRegex() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - var match = StartsWithUncPattern.Match(winDirectory); + var match = StartsWithUncPattern.Match(string.Empty); match.Success.ShouldBeFalse(); - match = StartsWithUncPattern.Match(unixDirectory); + match = StartsWithUncPattern.Match(string.Empty); match.Success.ShouldBeFalse(); } [Fact] public void MatchLengthStartWithUncPatternEmptyString() { - string winDirectory = string.Format("", _directoryStart); - string unixDirectory = string.Format("", _altDirectoryStart); - - FileUtilitiesRegex.StartsWithUncPatternMatchLength(winDirectory).ShouldBe(-1); - FileUtilitiesRegex.StartsWithUncPatternMatchLength(unixDirectory).ShouldBe(-1); + FileUtilitiesRegex.StartsWithUncPatternMatchLength(string.Empty).ShouldBe(-1); + FileUtilitiesRegex.StartsWithUncPatternMatchLength(string.Empty).ShouldBe(-1); } } } From dc678b5225048191ddd1055615e6780187cfdb77 Mon Sep 17 00:00:00 2001 From: elachlan <2433737+elachlan@users.noreply.github.com> Date: Fri, 31 Dec 2021 09:01:12 +1000 Subject: [PATCH 2/4] Group tests and remove duplicate checks --- .../FileUtilitiesRegex_Tests.cs | 43 +++---------------- 1 file changed, 7 insertions(+), 36 deletions(-) diff --git a/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs b/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs index d7d57de9aba..22648f18441 100644 --- a/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs +++ b/src/Build.UnitTests/FileUtilitiesRegex_Tests.cs @@ -523,47 +523,18 @@ public void MatchLengthStartWithUncPatternNoShare() } [Fact] - public void UncPatternEmptyString_LegacyRegex() + public void PatternEmptyString_LegacyRegex() { - UncPattern.IsMatch(string.Empty).ShouldBe(false); - UncPattern.IsMatch(string.Empty).ShouldBe(false); + UncPattern.IsMatch(string.Empty).ShouldBeFalse(); + StartsWithUncPattern.IsMatch(string.Empty).ShouldBeFalse(); + StartsWithUncPattern.Match(string.Empty).Success.ShouldBeFalse(); } [Fact] - public void UncPatternEmptyString() + public void PatternEmptyString() { - FileUtilitiesRegex.IsUncPattern(string.Empty).ShouldBe(false); - FileUtilitiesRegex.IsUncPattern(string.Empty).ShouldBe(false); - } - - [Fact] - public void StartWithUncPatternEmptyString_LegacyRegex() - { - StartsWithUncPattern.IsMatch(string.Empty).ShouldBe(false); - StartsWithUncPattern.IsMatch(string.Empty).ShouldBe(false); - } - - [Fact] - public void StartsWithUncPatternEmptyString() - { - FileUtilitiesRegex.StartsWithUncPattern(string.Empty).ShouldBe(false); - FileUtilitiesRegex.StartsWithUncPattern(string.Empty).ShouldBe(false); - } - - [Fact] - public void MatchLengthStartWithUncPatternEmptyString_LegacyRegex() - { - var match = StartsWithUncPattern.Match(string.Empty); - match.Success.ShouldBeFalse(); - - match = StartsWithUncPattern.Match(string.Empty); - match.Success.ShouldBeFalse(); - } - - [Fact] - public void MatchLengthStartWithUncPatternEmptyString() - { - FileUtilitiesRegex.StartsWithUncPatternMatchLength(string.Empty).ShouldBe(-1); + FileUtilitiesRegex.IsUncPattern(string.Empty).ShouldBeFalse(); + FileUtilitiesRegex.StartsWithUncPattern(string.Empty).ShouldBeFalse(); FileUtilitiesRegex.StartsWithUncPatternMatchLength(string.Empty).ShouldBe(-1); } } From d231c1a8f6ca2836259c5128c549f0deae47ed7b Mon Sep 17 00:00:00 2001 From: elachlan <2433737+elachlan@users.noreply.github.com> Date: Sat, 8 Jan 2022 15:56:58 +1000 Subject: [PATCH 3/4] Revert CodeAnalysis.ruleset --- eng/CodeAnalysis.ruleset | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/CodeAnalysis.ruleset b/eng/CodeAnalysis.ruleset index 57d18ebbcb9..2078c42fe6c 100644 --- a/eng/CodeAnalysis.ruleset +++ b/eng/CodeAnalysis.ruleset @@ -139,7 +139,7 @@ - + From 3533a63f972ac613880562d31fd0b2736d475809 Mon Sep 17 00:00:00 2001 From: elachlan <2433737+elachlan@users.noreply.github.com> Date: Sat, 8 Jan 2022 15:57:43 +1000 Subject: [PATCH 4/4] enable warning on CA2241 --- eng/Common.globalconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/Common.globalconfig b/eng/Common.globalconfig index fd878420d57..7f906cd130f 100644 --- a/eng/Common.globalconfig +++ b/eng/Common.globalconfig @@ -411,7 +411,7 @@ dotnet_diagnostic.CA2234.severity = none dotnet_diagnostic.CA2235.severity = none # Provide correct arguments to formatting methods -dotnet_diagnostic.CA2241.severity = suggestion +dotnet_diagnostic.CA2241.severity = warning # Test for NaN correctly dotnet_diagnostic.CA2242.severity = warning