From 5ce0feda2a43d7c6daad440c98281e9d3ba4d40e Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz Date: Fri, 15 Jul 2022 12:35:37 +0200 Subject: [PATCH 1/3] Disabling LinuxBionic tests that fail on staging. --- .../tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs | 2 ++ .../TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs | 2 ++ .../TarReader/TarReader.TarEntry.ExtractToFile.Tests.Unix.cs | 2 +- .../TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs index 5a68d5a95d5d2..fa10a599adbab 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs @@ -99,6 +99,7 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, null); + [PlatformSpecific(~TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -109,6 +110,7 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, new string('a', 99)); + [PlatformSpecific(~TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs index a35a22c1050f5..e19d8c2046cea 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs @@ -125,6 +125,7 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, null); + [PlatformSpecific(~TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -135,6 +136,7 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, new string('a', 99)); + [PlatformSpecific(~TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] diff --git a/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFile.Tests.Unix.cs b/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFile.Tests.Unix.cs index 361a85a95bcec..fee4da56fa7c9 100644 --- a/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFile.Tests.Unix.cs +++ b/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFile.Tests.Unix.cs @@ -9,7 +9,7 @@ namespace System.Formats.Tar.Tests { public partial class TarReader_TarEntry_ExtractToFile_Tests : TarTestsBase { - [PlatformSpecific(TestPlatforms.AnyUnix & ~TestPlatforms.tvOS)] // https://github.com/dotnet/runtime/issues/68360 + [PlatformSpecific(TestPlatforms.AnyUnix & ~TestPlatforms.tvOS & ~TestPlatforms.LinuxBionic)] // https://github.com/dotnet/runtime/issues/68360 [ConditionalFact(nameof(IsUnixButNotSuperUser))] public void SpecialFile_Unelevated_Throws() { diff --git a/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs b/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs index 2e36ad85b76e5..3fff936fd125d 100644 --- a/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs +++ b/src/libraries/System.Formats.Tar/tests/TarReader/TarReader.TarEntry.ExtractToFileAsync.Tests.Unix.cs @@ -9,7 +9,7 @@ namespace System.Formats.Tar.Tests { public partial class TarReader_TarEntry_ExtractToFileAsync_Tests : TarTestsBase { - [PlatformSpecific(TestPlatforms.AnyUnix & ~TestPlatforms.tvOS)] // https://github.com/dotnet/runtime/issues/68360 + [PlatformSpecific(TestPlatforms.AnyUnix & ~TestPlatforms.tvOS & ~TestPlatforms.LinuxBionic)] // https://github.com/dotnet/runtime/issues/68360 [ConditionalFact(nameof(IsUnixButNotSuperUser))] public async Task SpecialFile_Unelevated_Throws_Async() { From c2abac6f0025f614edbf251a9b80d7d505a2d073 Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz Date: Fri, 15 Jul 2022 15:22:26 +0200 Subject: [PATCH 2/3] Attempt 2. --- .../tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs | 4 ++-- .../TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs index fa10a599adbab..1bb68bf0f5ab5 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs @@ -99,7 +99,7 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, null); - [PlatformSpecific(~TestPlatforms.LinuxBionic)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -110,7 +110,7 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, new string('a', 99)); - [PlatformSpecific(~TestPlatforms.LinuxBionic)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs index e19d8c2046cea..4b2fe76f864f2 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs @@ -125,7 +125,7 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, null); - [PlatformSpecific(~TestPlatforms.LinuxBionic)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -136,7 +136,7 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, new string('a', 99)); - [PlatformSpecific(~TestPlatforms.LinuxBionic)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] From d2c78a5dfd10bfb1b14a82a9113363ce23b3c05f Mon Sep 17 00:00:00 2001 From: Ilona Tomkowicz Date: Fri, 15 Jul 2022 15:57:08 +0200 Subject: [PATCH 3/3] Fix 3 - partial, w/o SpecialFile_Unelevated_Throws --- .../Common/tests/TestUtilities/System/PlatformDetection.cs | 2 +- .../tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs | 2 -- .../TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs index aaa85840679da..27042345397ba 100644 --- a/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs +++ b/src/libraries/Common/tests/TestUtilities/System/PlatformDetection.cs @@ -243,7 +243,7 @@ private static bool GetAlpnSupport() public static bool SupportsAlpn => s_supportsAlpn.Value; public static bool SupportsClientAlpn => SupportsAlpn || IsOSX || IsMacCatalyst || IsiOS || IstvOS; - public static bool SupportsHardLinkCreation => !IsAndroid; + public static bool SupportsHardLinkCreation => !IsAndroid && !IsLinuxBionic; private static readonly Lazy s_supportsTls10 = new Lazy(GetTls10Support); private static readonly Lazy s_supportsTls11 = new Lazy(GetTls11Support); diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs index 1bb68bf0f5ab5..5a68d5a95d5d2 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectory.Stream.Tests.cs @@ -99,7 +99,6 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, null); - [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -110,7 +109,6 @@ public void Extract_LinkEntry_TargetOutsideDirectory(TarEntryType entryType) [InlineData(TarEntryFormat.Gnu)] public void Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal(TarEntryType.SymbolicLink, format, new string('a', 99)); - [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] diff --git a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs index 4b2fe76f864f2..a35a22c1050f5 100644 --- a/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs +++ b/src/libraries/System.Formats.Tar/tests/TarFile/TarFile.ExtractToDirectoryAsync.Stream.Tests.cs @@ -125,7 +125,6 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, null); - [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)] @@ -136,7 +135,6 @@ public async Task Extract_LinkEntry_TargetOutsideDirectory_Async(TarEntryType en [InlineData(TarEntryFormat.Gnu)] public Task Extract_SymbolicLinkEntry_TargetInsideDirectory_LongBaseDir_Async(TarEntryFormat format) => Extract_LinkEntry_TargetInsideDirectory_Internal_Async(TarEntryType.SymbolicLink, format, new string('a', 99)); - [ActiveIssue("https://github.com/dotnet/runtime/issues/68360", TestPlatforms.LinuxBionic)] [ConditionalTheory(typeof(PlatformDetection), nameof(PlatformDetection.SupportsHardLinkCreation))] [InlineData(TarEntryFormat.Pax)] [InlineData(TarEntryFormat.Gnu)]