From f9622c5f5ec70542026ea4a10c59a289aea49de0 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 20:16:22 +0000 Subject: [PATCH 01/12] Setting version to 22.x and updated dependencies --- Directory.Build.props | 4 ++-- .../System.IO.Abstractions.Extensions.csproj | 4 ++-- tests/Directory.Build.props | 12 ++++++------ .../System.IO.Abstractions.Extensions.Tests.csproj | 2 +- version.json | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 09534f7..dc8b6a4 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -18,11 +18,11 @@ MIT - + runtime; build; native; contentfiles; analyzers all - + runtime; build; native; contentfiles; analyzers; buildtransitive all diff --git a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj index f9abea8..26b5603 100644 --- a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj +++ b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj @@ -2,7 +2,7 @@ TestableIO.System.IO.Abstractions.Extensions - net8.0;net6.0;netstandard2.1;netstandard2.0;net462 + net8.0;netstandard2.1;netstandard2.0;net462 Convenience functionalities on top of System.IO.Abstractions System.IO.Abstractions $([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../../ReleaseNotes.md")) @@ -10,7 +10,7 @@ - + diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 9d1dbfd..5e49115 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -11,11 +11,11 @@ - - - - - - + + + + + + \ No newline at end of file diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index f3ee503..7d288b3 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -8,7 +8,7 @@ - + diff --git a/version.json b/version.json index d73c740..424502a 100644 --- a/version.json +++ b/version.json @@ -1,6 +1,6 @@ { "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", - "version": "2.2", + "version": "22.0", "assemblyVersion": { "precision": "major" }, From aa2b55b0831165aa41f686fdd6117c60ff84f668 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 20:31:39 +0000 Subject: [PATCH 02/12] Add Nunit.Analyzer to test projects --- .../System.IO.Abstractions.Extensions.Tests.csproj | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index 7d288b3..73c320a 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -9,6 +9,13 @@ + + + + + + + From 30faf4f0d8184bf543ffd6974f7e61207730a368 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 20:36:47 +0000 Subject: [PATCH 03/12] Trying to upgrade NUnit --- .gitignore | 1 + tests/Directory.Build.props | 9 --------- .../.editorconfig | 3 +++ .../System.IO.Abstractions.Extensions.Tests.csproj | 2 +- 4 files changed, 5 insertions(+), 10 deletions(-) create mode 100644 tests/System.IO.Abstractions.Extensions.Tests/.editorconfig diff --git a/.gitignore b/.gitignore index fcdb8a0..4cef864 100644 --- a/.gitignore +++ b/.gitignore @@ -577,3 +577,4 @@ FodyWeavers.xsd # Additional files built by Visual Studio # End of https://www.toptal.com/developers/gitignore/api/csharp,visualstudio,visualstudiocode +*.sh diff --git a/tests/Directory.Build.props b/tests/Directory.Build.props index 5e49115..656a2d4 100644 --- a/tests/Directory.Build.props +++ b/tests/Directory.Build.props @@ -9,13 +9,4 @@ --> true - - - - - - - - - \ No newline at end of file diff --git a/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig b/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig new file mode 100644 index 0000000..4eda25a --- /dev/null +++ b/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig @@ -0,0 +1,3 @@ +[*.cs] + +dotnet_diagnostic.NUnit2003.severity = warning diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index 73c320a..4ebf232 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -10,7 +10,7 @@ - + From 93a4cbd4a5c21788a720113fee775d6f3ca82822 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 20:47:49 +0000 Subject: [PATCH 04/12] Fixed Nunit upgrade --- .editorconfig | 4 ++++ Directory.Build.props | 1 - .../System.IO.Abstractions.Extensions.csproj | 1 + .../.editorconfig | 3 --- .../System.IO.Abstractions.Extensions.Tests.csproj | 9 ++++++++- 5 files changed, 13 insertions(+), 5 deletions(-) delete mode 100644 tests/System.IO.Abstractions.Extensions.Tests/.editorconfig diff --git a/.editorconfig b/.editorconfig index 64fe33b..98b0e96 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,3 +9,7 @@ end_of_line = CRLF [*.cs] indent_style = space indent_size = 4 + +dotnet_diagnostic.NUnit2003.severity = suggestion +dotnet_diagnostic.NUnit2004.severity = suggestion +dotnet_diagnostic.NUnit2005.severity = suggestion \ No newline at end of file diff --git a/Directory.Build.props b/Directory.Build.props index dc8b6a4..577445d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,6 @@ true snupkg true - 9.0 testing https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions https://github.com/System-IO-Abstractions/System.IO.Abstractions.Extensions.git diff --git a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj index 26b5603..5a32a4c 100644 --- a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj +++ b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj @@ -6,6 +6,7 @@ Convenience functionalities on top of System.IO.Abstractions System.IO.Abstractions $([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../../ReleaseNotes.md")) + 9.0 diff --git a/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig b/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig deleted file mode 100644 index 4eda25a..0000000 --- a/tests/System.IO.Abstractions.Extensions.Tests/.editorconfig +++ /dev/null @@ -1,3 +0,0 @@ -[*.cs] - -dotnet_diagnostic.NUnit2003.severity = warning diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index 4ebf232..76c72cf 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -7,6 +7,14 @@ true + + + + + + + + @@ -16,7 +24,6 @@ - From 8175554de1226c0d3cab7487e4c0f963007f0394 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:07:09 +0000 Subject: [PATCH 05/12] Fixing NUnit --- Directory.Build.props | 1 + .../DirectoryInfoExtensionsTests.cs | 1 + .../DisposableDirectoryTests.cs | 1 + .../DisposableFileTests.cs | 1 + .../FileInfoExtensionsTests.cs | 1 + .../FileSystemExtensionsTests.cs | 3 ++- .../System.IO.Abstractions.Extensions.Tests.csproj | 6 +----- 7 files changed, 8 insertions(+), 6 deletions(-) diff --git a/Directory.Build.props b/Directory.Build.props index 577445d..a7ea18d 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -15,6 +15,7 @@ git $(MSBuildThisFileDirectory) MIT + README.md diff --git a/tests/System.IO.Abstractions.Extensions.Tests/DirectoryInfoExtensionsTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/DirectoryInfoExtensionsTests.cs index e2fba74..44ed708 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/DirectoryInfoExtensionsTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/DirectoryInfoExtensionsTests.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using System.Collections.Generic; +using Assert = NUnit.Framework.Legacy.ClassicAssert; namespace System.IO.Abstractions.Extensions.Tests { diff --git a/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs index 5c407ec..7e09da7 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using Assert = NUnit.Framework.Legacy.ClassicAssert; namespace System.IO.Abstractions.Extensions.Tests { diff --git a/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs index caa13aa..70dc26c 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using Assert = NUnit.Framework.Legacy.ClassicAssert; namespace System.IO.Abstractions.Extensions.Tests { diff --git a/tests/System.IO.Abstractions.Extensions.Tests/FileInfoExtensionsTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/FileInfoExtensionsTests.cs index 57aacf3..068b8e5 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/FileInfoExtensionsTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/FileInfoExtensionsTests.cs @@ -1,6 +1,7 @@ using NUnit.Framework; using System.Linq; using System.Text; +using Assert = NUnit.Framework.Legacy.ClassicAssert; namespace System.IO.Abstractions.Extensions.Tests { diff --git a/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs index 0db52b7..cd42684 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs @@ -1,4 +1,5 @@ using NUnit.Framework; +using Assert = NUnit.Framework.Legacy.ClassicAssert; namespace System.IO.Abstractions.Extensions.Tests { @@ -42,7 +43,7 @@ public void CurrentDirectoryTest() var fullName = fs.CurrentDirectory().FullName; Assert.IsFalse(String.IsNullOrWhiteSpace(fullName)); - Assert.AreEqual(Environment.CurrentDirectory, fullName); + NUnit.Framework.Assert.That(fullName, Is.EqualTo(Environment.CurrentDirectory)); } [Test] diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index 76c72cf..297caf5 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -2,14 +2,10 @@ net9.0;net8.0 - $(TargetFrameworks);net462 + $(TargetFrameworks);net472 false true - - - - From 57c284683a81bd205b49cd1f38dcb40017295d28 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:11:15 +0000 Subject: [PATCH 06/12] Upgraded some assertions --- .../FileSystemExtensionsTests.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs index cd42684..1ec7e1f 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/FileSystemExtensionsTests.cs @@ -120,14 +120,14 @@ public void CreateDisposableFile_Temp_Path_Test() { path = file.FullName; - Assert.IsTrue(file.Exists, "File should exist"); + Assert.That(file.Exists, Is.True, "File should exist"); Assert.IsTrue( path.StartsWith(fs.Path.GetTempPath(), StringComparison.Ordinal), "File should be in temp path"); } // Assert file is deleted - Assert.IsFalse(fs.File.Exists(path), "File should not exist"); + Assert.That(fs.File.Exists(path), Is.False, "File should not exist"); } [Test] From 66fadfb649b4468b899218ecb88de288dad2153e Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:17:51 +0000 Subject: [PATCH 07/12] More fixes --- .../IFileInfoAsyncExtensions.cs | 6 +++--- .../System.IO.Abstractions.Extensions.csproj | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs b/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs index d76b9b2..236a892 100644 --- a/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs +++ b/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs @@ -1,4 +1,4 @@ -#if NETSTANDARD2_1_OR_GREATER || NET6_0_OR_GREATER +#if NETSTANDARD2_1_OR_GREATER || NET8_0_OR_GREATER #nullable enable using System.Collections.Generic; @@ -85,12 +85,12 @@ public static async IAsyncEnumerable EnumerateLinesAsync(this IFileInfo ? new StreamReader(stream) : new StreamReader(stream, encoding); - var line = await reader.ReadLineAsync(); + var line = await reader.ReadLineAsync(cancellationToken); while (line != null) { yield return line; cancellationToken.ThrowIfCancellationRequested(); - line = await reader.ReadLineAsync(); + line = await reader.ReadLineAsync(cancellationToken); } } } diff --git a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj index 5a32a4c..fcd35cd 100644 --- a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj +++ b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj @@ -2,7 +2,7 @@ TestableIO.System.IO.Abstractions.Extensions - net8.0;netstandard2.1;netstandard2.0;net462 + net8.0;netstandard2.1;netstandard2.0;net472 Convenience functionalities on top of System.IO.Abstractions System.IO.Abstractions $([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../../ReleaseNotes.md")) From 9b3f00eadb1ede1b8fc1392fa9fc820f33968032 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:20:31 +0000 Subject: [PATCH 08/12] Functionality only for .NET 8.x or later --- .../IFileInfoAsyncExtensions.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs b/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs index 236a892..25e55b4 100644 --- a/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs +++ b/src/System.IO.Abstractions.Extensions/IFileInfoAsyncExtensions.cs @@ -1,4 +1,4 @@ -#if NETSTANDARD2_1_OR_GREATER || NET8_0_OR_GREATER +#if NET8_0_OR_GREATER #nullable enable using System.Collections.Generic; From 553b92bd1c4d32790243e0d1546f1a840febe543 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:26:53 +0000 Subject: [PATCH 09/12] Removed use of nullable --- .../DisposableDirectoryTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs index 7e09da7..1e1cacc 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/DisposableDirectoryTests.cs @@ -9,7 +9,7 @@ public class DisposableDirectoryTests [Test] public void DisposableDirectory_Throws_ArgumentNullException_For_Null_IDirectoryInfo_Test() { - Assert.Throws(() => new DisposableDirectory(null!)); + Assert.Throws(() => new DisposableDirectory(null)); } [Test] From ed630dd4a8a2df4e61e62acf99614724173cbc74 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:28:50 +0000 Subject: [PATCH 10/12] Removed use of nullable --- .../DisposableFileTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs b/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs index 70dc26c..a5d9d10 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs +++ b/tests/System.IO.Abstractions.Extensions.Tests/DisposableFileTests.cs @@ -9,7 +9,7 @@ public class DisposableFileTests [Test] public void DisposableFile_Throws_ArgumentNullException_For_Null_IFileInfo_Test() { - Assert.Throws(() => new DisposableFile(null!)); + Assert.Throws(() => new DisposableFile(null)); } [Test] From 0f5829684c50b6efc4d43c8567c261c347ebfa91 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:34:31 +0000 Subject: [PATCH 11/12] Fixed pack --- .../System.IO.Abstractions.Extensions.csproj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj index fcd35cd..4f6809d 100644 --- a/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj +++ b/src/System.IO.Abstractions.Extensions/System.IO.Abstractions.Extensions.csproj @@ -7,8 +7,13 @@ System.IO.Abstractions $([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/../../ReleaseNotes.md")) 9.0 + README.md + + + + From 737bcdb4cc1ab697525dd1fd92664687101381d7 Mon Sep 17 00:00:00 2001 From: Luigi Grilli Date: Fri, 28 Feb 2025 21:42:40 +0000 Subject: [PATCH 12/12] Fixed indentation --- .../System.IO.Abstractions.Extensions.Tests.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj index 297caf5..e2d4a2b 100644 --- a/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj +++ b/tests/System.IO.Abstractions.Extensions.Tests/System.IO.Abstractions.Extensions.Tests.csproj @@ -14,7 +14,7 @@ - +