From dc9f4e296649819ffcbd6cbcca3b3803ae574732 Mon Sep 17 00:00:00 2001 From: Valentin Date: Sat, 22 Feb 2025 17:15:37 +0100 Subject: [PATCH 1/3] refactor: use `InternalsVisibleTo` in csproj file --- Directory.Build.props | 1 + .../Properties/AssemblyInfo.cs | 7 ------- ...O.System.IO.Abstractions.TestingHelpers.csproj | 7 +++++++ .../Properties/AssemblyInfo.cs | 13 ------------- ...tableIO.System.IO.Abstractions.Wrappers.csproj | 15 +++++++++++++++ 5 files changed, 23 insertions(+), 20 deletions(-) delete mode 100644 src/TestableIO.System.IO.Abstractions.TestingHelpers/Properties/AssemblyInfo.cs delete mode 100644 src/TestableIO.System.IO.Abstractions.Wrappers/Properties/AssemblyInfo.cs diff --git a/Directory.Build.props b/Directory.Build.props index fc1080101..a7a394986 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -4,6 +4,7 @@ Copyright © Tatham Oddie & friends 2010-$([System.DateTime]::Now.ToString('yyyy')) Tatham Oddie & friends True + 00240000048000009400000006020000002400005253413100040000010001001160c7a0f907c400c5392975b66d2f3752fb82625d5674d386b83896d4d4ae8d0ef8319ef391fbb3466de0058ad2f361b8f5cb8a32ecb4e908bece5c519387552cedd2ca0250e36b59c6d6dc3dc260ca73a7e27c3add4ae22d5abaa562225d7ba34d427e8f3f52928a46a674deb0208eca7d379aa22712355b91a55a5ce521d2 $(MSBuildThisFileDirectory)StrongName.snk latest testing diff --git a/src/TestableIO.System.IO.Abstractions.TestingHelpers/Properties/AssemblyInfo.cs b/src/TestableIO.System.IO.Abstractions.TestingHelpers/Properties/AssemblyInfo.cs deleted file mode 100644 index 797decb1d..000000000 --- a/src/TestableIO.System.IO.Abstractions.TestingHelpers/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,7 +0,0 @@ -using System.Runtime.CompilerServices; - -#if DEBUG -[assembly: InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] -#else - [assembly: InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010051bf2aa00ba30d507d4cebcab1751dfa13768a6f5235ce52da572260e33a11f52b87707f858fe4bbe32cd51830a8dd73245f688902707fa797c07205ff9b5212f93760d52f6d13022a286ff7daa13a0cd9eb958e888fcd7d9ed1f7cf76b19a5391835a7b633418a5f584d10925d76810f782f6b814cc34a2326b438abdc3b5bd")] -#endif diff --git a/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj b/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj index 439bdd6f8..c04a497c4 100644 --- a/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj +++ b/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj @@ -11,4 +11,11 @@ + + + + + + + diff --git a/src/TestableIO.System.IO.Abstractions.Wrappers/Properties/AssemblyInfo.cs b/src/TestableIO.System.IO.Abstractions.Wrappers/Properties/AssemblyInfo.cs deleted file mode 100644 index 4dbd4e8f9..000000000 --- a/src/TestableIO.System.IO.Abstractions.Wrappers/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Runtime.CompilerServices; - -[assembly: CLSCompliant(true)] - -#if DEBUG -[assembly: InternalsVisibleTo("System.IO.Abstractions.Tests")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] -#else -[assembly: InternalsVisibleTo("System.IO.Abstractions.Tests, PublicKey=00240000048000009400000006020000002400005253413100040000010001001160c7a0f907c400c5392975b66d2f3752fb82625d5674d386b83896d4d4ae8d0ef8319ef391fbb3466de0058ad2f361b8f5cb8a32ecb4e908bece5c519387552cedd2ca0250e36b59c6d6dc3dc260ca73a7e27c3add4ae22d5abaa562225d7ba34d427e8f3f52928a46a674deb0208eca7d379aa22712355b91a55a5ce521d2")] -[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2,PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] -#endif - diff --git a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj index 6a4cb72e5..589bf55ea 100644 --- a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj +++ b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj @@ -12,5 +12,20 @@ + + + + <_Parameter1>true + + + + + + + + + + + \ No newline at end of file From 268ac973245fbd5f0428dd96fcbd0876394dd5ac Mon Sep 17 00:00:00 2001 From: Valentin Date: Sat, 22 Feb 2025 20:24:59 +0100 Subject: [PATCH 2/3] Avoid `InternalsVisibleTo` --- ...stem.IO.Abstractions.TestingHelpers.csproj | 7 - ...eIO.System.IO.Abstractions.Wrappers.csproj | 9 -- ....IO.Abstractions.TestingHelpers_net472.txt | 1 - ....IO.Abstractions.TestingHelpers_net6.0.txt | 1 - ....IO.Abstractions.TestingHelpers_net8.0.txt | 1 - ....IO.Abstractions.TestingHelpers_net9.0.txt | 1 - ...ractions.TestingHelpers_netstandard2.0.txt | 1 - ...ractions.TestingHelpers_netstandard2.1.txt | 1 - ...System.IO.Abstractions.Wrappers_net472.txt | 2 - ...System.IO.Abstractions.Wrappers_net6.0.txt | 2 - ...System.IO.Abstractions.Wrappers_net8.0.txt | 2 - ...System.IO.Abstractions.Wrappers_net9.0.txt | 2 - ...O.Abstractions.Wrappers_netstandard2.0.txt | 2 - ...O.Abstractions.Wrappers_netstandard2.1.txt | 2 - .../Polyfills/SupportedOSPlatformAttribute.cs | 12 ++ .../ProductVersionParserTests.cs | 40 +++--- .../StringExtensionsTests.cs | 128 ------------------ .../ConvertersTests.cs | 75 ---------- 18 files changed, 32 insertions(+), 257 deletions(-) create mode 100644 tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/Polyfills/SupportedOSPlatformAttribute.cs delete mode 100644 tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/StringExtensionsTests.cs delete mode 100644 tests/TestableIO.System.IO.Abstractions.Wrappers.Tests/ConvertersTests.cs diff --git a/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj b/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj index c04a497c4..439bdd6f8 100644 --- a/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj +++ b/src/TestableIO.System.IO.Abstractions.TestingHelpers/TestableIO.System.IO.Abstractions.TestingHelpers.csproj @@ -11,11 +11,4 @@ - - - - - - - diff --git a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj index 589bf55ea..6d7f8e5bf 100644 --- a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj +++ b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj @@ -18,14 +18,5 @@ <_Parameter1>true - - - - - - - - - \ No newline at end of file diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net472.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net472.txt index 60ab1b81d..296433506 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net472.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net472.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName=".NET Framework 4.7.2")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net6.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net6.0.txt index 3852eb62d..0717900dd 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net6.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net6.0.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName=".NET 6.0")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net8.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net8.0.txt index e577fcd4a..9e09e1b04 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net8.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net8.0.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName=".NET 8.0")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net9.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net9.0.txt index c1e0da267..309c132cb 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net9.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_net9.0.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName=".NET 9.0")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.0.txt index 126d875a6..84b1fef74 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.0.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName=".NET Standard 2.0")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.1.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.1.txt index ecfb7b0a5..30ac2b613 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.1.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.TestingHelpers_netstandard2.1.txt @@ -1,5 +1,4 @@ [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.TestingHelpers.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName=".NET Standard 2.1")] namespace System.IO.Abstractions.TestingHelpers { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt index 8b72ddbab..9e49b9e65 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName=".NET Framework 4.7.2")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt index 30aa6f7dd..7ac13d531 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName=".NET 6.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt index ec7994c52..2fc4b6305 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName=".NET 8.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt index c52feb76d..01709553c 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName=".NET 9.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt index 215c9a7a8..9fd9694be 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName=".NET Standard 2.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt index 8ec4263eb..92f8ee82b 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt @@ -1,7 +1,5 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("DynamicProxyGenAssembly2")] -[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("System.IO.Abstractions.Tests")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName=".NET Standard 2.1")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/Polyfills/SupportedOSPlatformAttribute.cs b/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/Polyfills/SupportedOSPlatformAttribute.cs new file mode 100644 index 000000000..ef6635b4f --- /dev/null +++ b/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/Polyfills/SupportedOSPlatformAttribute.cs @@ -0,0 +1,12 @@ +#if !FEATURE_SUPPORTED_OS_ATTRIBUTE +namespace System.Runtime.Versioning +{ + [AttributeUsage(AttributeTargets.All)] + internal class SupportedOSPlatformAttribute : Attribute + { + public SupportedOSPlatformAttribute(string _) + { + } + } +} +#endif diff --git a/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/ProductVersionParserTests.cs b/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/ProductVersionParserTests.cs index 980c8be5d..f7807347b 100644 --- a/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/ProductVersionParserTests.cs +++ b/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/ProductVersionParserTests.cs @@ -12,15 +12,15 @@ public void ProductVersionParser_Parse_ShouldIgnoreTheSegmentsWhenThereAreMoreTh string productVersion = "1.2.3.4.5"; // Act - var parsedProductVersion = ProductVersionParser.Parse(productVersion); + var versionInfo = new MockFileVersionInfo("foo", productVersion: productVersion); // Assert Assert.Multiple(() => { - Assert.That(parsedProductVersion.Major, Is.Zero); - Assert.That(parsedProductVersion.Minor, Is.Zero); - Assert.That(parsedProductVersion.Build, Is.Zero); - Assert.That(parsedProductVersion.PrivatePart, Is.Zero); + Assert.That(versionInfo.ProductMajorPart, Is.Zero); + Assert.That(versionInfo.ProductMinorPart, Is.Zero); + Assert.That(versionInfo.ProductBuildPart, Is.Zero); + Assert.That(versionInfo.ProductPrivatePart, Is.Zero); }); } @@ -37,15 +37,15 @@ public void ProductVersionParser_Parse_ShouldSkipTheRestOfTheSegmentsWhenOneIsNo int expectedRevision) { // Act - var parsedProductVersion = ProductVersionParser.Parse(productVersion); + var versionInfo = new MockFileVersionInfo("foo", productVersion: productVersion); // Assert Assert.Multiple(() => { - Assert.That(parsedProductVersion.Major, Is.EqualTo(expectedMajor)); - Assert.That(parsedProductVersion.Minor, Is.EqualTo(expectedMinor)); - Assert.That(parsedProductVersion.Build, Is.EqualTo(expectedBuild)); - Assert.That(parsedProductVersion.PrivatePart, Is.EqualTo(expectedRevision)); + Assert.That(versionInfo.ProductMajorPart, Is.EqualTo(expectedMajor)); + Assert.That(versionInfo.ProductMinorPart, Is.EqualTo(expectedMinor)); + Assert.That(versionInfo.ProductBuildPart, Is.EqualTo(expectedBuild)); + Assert.That(versionInfo.ProductPrivatePart, Is.EqualTo(expectedRevision)); }); } @@ -66,15 +66,15 @@ public void ProductVersionParser_Parse_ShouldSkipTheRestOfTheSegmentsWhenOneCont int expectedRevision) { // Act - var parsedProductVersion = ProductVersionParser.Parse(productVersion); + var versionInfo = new MockFileVersionInfo("foo", productVersion: productVersion); // Assert Assert.Multiple(() => { - Assert.That(parsedProductVersion.Major, Is.EqualTo(expectedMajor)); - Assert.That(parsedProductVersion.Minor, Is.EqualTo(expectedMinor)); - Assert.That(parsedProductVersion.Build, Is.EqualTo(expectedBuild)); - Assert.That(parsedProductVersion.PrivatePart, Is.EqualTo(expectedRevision)); + Assert.That(versionInfo.ProductMajorPart, Is.EqualTo(expectedMajor)); + Assert.That(versionInfo.ProductMinorPart, Is.EqualTo(expectedMinor)); + Assert.That(versionInfo.ProductBuildPart, Is.EqualTo(expectedBuild)); + Assert.That(versionInfo.ProductPrivatePart, Is.EqualTo(expectedRevision)); }); } @@ -92,15 +92,15 @@ public void ProductVersionParser_Parse_ShouldParseEachProvidedSegment( int expectedRevision) { // Act - var parsedProductVersion = ProductVersionParser.Parse(productVersion); + var versionInfo = new MockFileVersionInfo("foo", productVersion: productVersion); // Assert Assert.Multiple(() => { - Assert.That(parsedProductVersion.Major, Is.EqualTo(expectedMajor)); - Assert.That(parsedProductVersion.Minor, Is.EqualTo(expectedMinor)); - Assert.That(parsedProductVersion.Build, Is.EqualTo(expectedBuild)); - Assert.That(parsedProductVersion.PrivatePart, Is.EqualTo(expectedRevision)); + Assert.That(versionInfo.ProductMajorPart, Is.EqualTo(expectedMajor)); + Assert.That(versionInfo.ProductMinorPart, Is.EqualTo(expectedMinor)); + Assert.That(versionInfo.ProductBuildPart, Is.EqualTo(expectedBuild)); + Assert.That(versionInfo.ProductPrivatePart, Is.EqualTo(expectedRevision)); }); } } diff --git a/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/StringExtensionsTests.cs b/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/StringExtensionsTests.cs deleted file mode 100644 index d45b6229d..000000000 --- a/tests/TestableIO.System.IO.Abstractions.TestingHelpers.Tests/StringExtensionsTests.cs +++ /dev/null @@ -1,128 +0,0 @@ -using NUnit.Framework; - -namespace System.IO.Abstractions.TestingHelpers.Tests -{ - using XFS = MockUnixSupport; - - [TestFixture] - public class StringExtensionsTests - { - [Test] - public void SplitLines_InputWithOneLine_ShouldReturnOnlyOneLine() - { - var input = "This is row one"; - var expected = new[] { "This is row one" }; - - var result = input.SplitLines(); - - Assert.That(result, Is.EquivalentTo(expected)); - } - - [Test] - public void SplitLines_InputWithTwoLinesSeparatedWithLf_ShouldReturnBothLines() - { - var input = "This is row one\nThis is row two"; - var expected = new[] { "This is row one", "This is row two" }; - - var result = input.SplitLines(); - - Assert.That(result, Is.EquivalentTo(expected)); - } - - [Test] - public void SplitLines_InputWithTwoLinesSeparatedWithCr_ShouldReturnBothLines() - { - var input = "This is row one\rThis is row two"; - var expected = new[] { "This is row one", "This is row two" }; - - var result = input.SplitLines(); - - Assert.That(result, Is.EquivalentTo(expected)); - } - - [Test] - public void SplitLines_InputWithTwoLinesSeparatedWithCrLf_ShouldReturnBothLines() - { - var input = "This is row one\r\nThis is row two"; - var expected = new[] { "This is row one", "This is row two" }; - - var result = input.SplitLines(); - - Assert.That(result, Is.EquivalentTo(expected)); - } - - [Test] - public void SplitLines_InputWithTwoLinesSeparatedWithAllLineEndings_ShouldReturnAllLines() - { - var input = "one\r\ntwo\rthree\nfour"; - var expected = new[] { "one", "two", "three", "four" }; - - var result = input.SplitLines(); - - Assert.That(result, Is.EquivalentTo(expected)); - } - - [Test] - [WindowsOnly(WindowsSpecifics.Drives)] - public void TrimSlashes_DriveRoot_PreserveTrailingSlash() - { - Assert.That(@"c:\".TrimSlashes(), Is.EqualTo(@"c:\")); - } - - [Test] - [WindowsOnly(WindowsSpecifics.Drives)] - public void TrimSlashes_DriveRoot_AppendsTrailingSlash() - { - Assert.That(@"c:".TrimSlashes(), Is.EqualTo(@"c:\")); - } - - [Test] - [WindowsOnly(WindowsSpecifics.Drives)] - public void TrimSlashes_DriveRoot_TrimsExcessTrailingSlash() - { - Assert.That(@"c:\\".TrimSlashes(), Is.EqualTo(@"c:\")); - } - - [Test] - [WindowsOnly(WindowsSpecifics.Drives)] - public void TrimSlashes_DriveRoot_NormalizeAlternateSlash() - { - Assert.That(@"c:/".TrimSlashes(), Is.EqualTo(@"c:\")); - } - - [Test] - [WindowsOnly(WindowsSpecifics.Drives)] - public void TrimSlashes_RootedPath_TrimsAllTrailingSlashes() - { - Assert.That(@"c:\x\".TrimSlashes(), Is.EqualTo(@"c:\x")); - } - - [Test] - public void TrimSlashes_RootedPath_DoNotAlterPathWithoutTrailingSlashes() - { - Assert.That(XFS.Path(@"c:\x").TrimSlashes(), Is.EqualTo(XFS.Path(@"c:\x"))); - } - - [Test] - [UnixOnly(UnixSpecifics.SlashRoot)] - public void TrimSlashes_SlashRoot_TrimsExcessTrailingSlash() - { - Assert.That("//".TrimSlashes(), Is.EqualTo("/")); - } - - [Test] - [UnixOnly(UnixSpecifics.SlashRoot)] - public void TrimSlashes_SlashRoot_PreserveSlashRoot() - { - Assert.That("/".TrimSlashes(), Is.EqualTo("/")); - } - - [TestCase(@"\\unc\folder\file.txt", @"\\unc\folder\file.txt")] - [TestCase(@"//unc/folder/file.txt", @"\\unc\folder\file.txt")] - [WindowsOnly(WindowsSpecifics.UNCPaths)] - public void NormalizeSlashes_KeepsUNCPathPrefix(string path, string expectedValue) - { - Assert.That(path.NormalizeSlashes(), Is.EqualTo(expectedValue)); - } - } -} diff --git a/tests/TestableIO.System.IO.Abstractions.Wrappers.Tests/ConvertersTests.cs b/tests/TestableIO.System.IO.Abstractions.Wrappers.Tests/ConvertersTests.cs deleted file mode 100644 index e83483352..000000000 --- a/tests/TestableIO.System.IO.Abstractions.Wrappers.Tests/ConvertersTests.cs +++ /dev/null @@ -1,75 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using System.Linq; -using NUnit.Framework; - -namespace System.IO.Abstractions.Tests -{ - [TestFixture] - public class ConvertersTests - { - private sealed class CrashingEnumerable : IEnumerable - { - private sealed class CrashingEnumerator : IEnumerator - { - object IEnumerator.Current => throw new NotSupportedException(); - - public T Current => throw new NotSupportedException(); - - public bool MoveNext() { throw new NotSupportedException(); } - - public void Reset() { } - - public void Dispose() { } - } - - public IEnumerator GetEnumerator() => new CrashingEnumerator(); - - IEnumerator IEnumerable.GetEnumerator() => GetEnumerator(); - } - - [Test] - public void WrapFileSystemInfos_with_IEnumerable_is_lazy() - { - var crashingFileSystemInfos = new CrashingEnumerable(); - - Assert.DoesNotThrow(() => crashingFileSystemInfos.WrapFileSystemInfos(new FileSystem())); - } - - [Test] - public void WrapFiles_with_IEnumerable_is_lazy() - { - var crashingFileInfos = new CrashingEnumerable(); - - Assert.DoesNotThrow(() => crashingFileInfos.WrapFiles(new FileSystem())); - } - - [Test] - public void WrapDirectories_with_IEnumerable_is_lazy() - { - var crashingDirectoryInfos = new CrashingEnumerable(); - - Assert.DoesNotThrow(() => crashingDirectoryInfos.WrapDirectories(new FileSystem())); - } - - [Test] - public void WrapFileSystemInfo_handles_null_FileSystemInfo() - { - Assert.That(Converters.WrapFileSystemInfo(null, new FileSystem()), Is.Null); - } - - [Test] - public void WrapDirectories_handles_null_DirectoryInfo() - { - List directoryInfos = new() { null }; - Assert.That(directoryInfos.WrapDirectories(new FileSystem()).Single(), Is.Null); - } - - [Test] - public void WrapFiles_handles_null_FileInfo() - { - List fileInfos = new() { null }; - Assert.That(fileInfos.WrapFiles(new FileSystem()).Single(), Is.Null); - } - } -} From 4f8592ee5466f85d2ab2018f9cc3d01d546d8737 Mon Sep 17 00:00:00 2001 From: Valentin Date: Sat, 22 Feb 2025 20:29:16 +0100 Subject: [PATCH 3/3] Keep internals visible to for `DynamicProxyGenAssembly2` --- .../TestableIO.System.IO.Abstractions.Wrappers.csproj | 6 +++++- .../TestableIO.System.IO.Abstractions.Wrappers_net472.txt | 1 + .../TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt | 1 + .../TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt | 1 + .../TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt | 1 + ...bleIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt | 1 + ...bleIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt | 1 + 7 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj index 6d7f8e5bf..91cf86273 100644 --- a/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj +++ b/src/TestableIO.System.IO.Abstractions.Wrappers/TestableIO.System.IO.Abstractions.Wrappers.csproj @@ -12,11 +12,15 @@ - + <_Parameter1>true + + + + \ No newline at end of file diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt index 9e49b9e65..ae59ef379 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net472.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETFramework,Version=v4.7.2", FrameworkDisplayName=".NET Framework 4.7.2")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt index 7ac13d531..a9edda72e 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net6.0.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v6.0", FrameworkDisplayName=".NET 6.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt index 2fc4b6305..f0902c9b5 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net8.0.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v8.0", FrameworkDisplayName=".NET 8.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt index 01709553c..76213edff 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_net9.0.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETCoreApp,Version=v9.0", FrameworkDisplayName=".NET 9.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt index 9fd9694be..41cc10bbe 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.0.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.0", FrameworkDisplayName=".NET Standard 2.0")] namespace System.IO.Abstractions { diff --git a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt index 92f8ee82b..a159f9c70 100644 --- a/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt +++ b/tests/TestableIO.System.IO.Abstractions.Api.Tests/Expected/TestableIO.System.IO.Abstractions.Wrappers_netstandard2.1.txt @@ -1,5 +1,6 @@ [assembly: System.CLSCompliant(true)] [assembly: System.Reflection.AssemblyMetadata("RepositoryUrl", "https://github.com/TestableIO/System.IO.Abstractions.git")] +[assembly: System.Runtime.CompilerServices.InternalsVisibleTo(@"DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")] [assembly: System.Runtime.Versioning.TargetFramework(".NETStandard,Version=v2.1", FrameworkDisplayName=".NET Standard 2.1")] namespace System.IO.Abstractions {