From 08eb60170873d9fbae01997028bb8a224271aa59 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 11 Aug 2021 09:35:57 -0400 Subject: [PATCH 01/35] [MacCatalyst][Libraries] Reenable MacCatalyst x64 crashing test suites --- .../BasicEventSourceTest/TestsWriteEventToListener.cs | 1 + src/libraries/tests.proj | 10 ---------- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs b/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs index d7c7046ab693ed..d7eda639afbb7e 100644 --- a/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs +++ b/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs @@ -452,6 +452,7 @@ public void Test_EventSourceCreatedEvents_AfterListener() [Theory] [InlineData(true)] [InlineData(false)] + [ActiveIssue("Add issue", TestPlatforms.MacCatalyst)] public void Test_EventListenerThrows_ExceptionIsNotRethrownToCaller(bool setThrowOnEventWriteErrorsFlag) { TestUtilities.CheckNoEventSourcesRunning("Start"); diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f32deab2d7b92a..ae13226d589d17 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -199,16 +199,6 @@ - - - - - - - - - - From 8490e6d7d68136f6e58d60a29fe5441e5442f573 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 11 Aug 2021 09:36:54 -0400 Subject: [PATCH 02/35] [MacCatalyst][Libraries] Reenable MacCatalyst arm64 crashing test suites --- src/libraries/tests.proj | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index ae13226d589d17..a262fd533f2713 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -193,12 +193,6 @@ - - - - - - From 9f8629eedb7907640d1fee03fb1b9307944d1010 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 11 Aug 2021 09:37:46 -0400 Subject: [PATCH 03/35] Temporarily enable MacCatalyst arm64 lane --- eng/pipelines/runtime-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 40ca5bf9b2fabe..b280e7606eb6a1 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -66,11 +66,11 @@ jobs: runtimeFlavor: mono platforms: - MacCatalyst_x64 + - MacCatalyst_arm64 - iOSSimulator_x64 - tvOSSimulator_x64 # don't run tests on arm64 PRs until we can get significantly more devices - ${{ if eq(variables['isFullMatrix'], true) }}: - - MacCatalyst_arm64 - iOSSimulator_arm64 variables: # map dependencies variables to local variables From 139e96755c0b230c0cc0f934f7a4508709929713 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 16 Aug 2021 11:26:48 -0400 Subject: [PATCH 04/35] Readd consistently crashing suites to iOS tvOS MacCatalyst skips --- src/libraries/tests.proj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index a262fd533f2713..8c19e863afe5b0 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -167,7 +167,10 @@ - + + + + From f98dfa752c3547b2f9f5d66aab002e73694a2b3d Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 16 Aug 2021 15:52:17 -0400 Subject: [PATCH 05/35] Address crashes and PNSE failures on iOS MacCatalyst --- .../tests/System/EnvironmentTests.cs | 2 +- .../SignedCms/SignedCmsTests.netcoreapp.cs | 2 ++ .../tests/CollectionTests.cs | 1 + .../tests/ExportTests.cs | 2 ++ .../PfxFormatTests.SingleCertGenerator.cs | 1 + .../tests/PfxFormatTests.cs | 19 +++++++++++++++++++ .../tests/PfxTests.cs | 1 + src/libraries/tests.proj | 19 +++++++++++++++++++ 8 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs index f2b35eb6c2cdf7..2a755cba6e97da 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs @@ -347,7 +347,7 @@ public void GetFolderPath_Unix_PersonalIsHomeAndUserProfile() Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); } // tvOS effectively doesn't have a HOME - if (!PlatformDetection.IstvOS) + if (!PlatformDetection.IsiOS && !Platform.Detection.IstvOS) { Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)); } diff --git a/src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.netcoreapp.cs b/src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.netcoreapp.cs index 9d90fe7905550f..cfa17458204e57 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.netcoreapp.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/tests/SignedCms/SignedCmsTests.netcoreapp.cs @@ -377,6 +377,7 @@ public static void AddAttributeToIndefiniteLengthContent() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void AddSigner_RSA_EphemeralKey() { using (RSA rsa = RSA.Create()) @@ -435,6 +436,7 @@ public static void AddSigner_DSA_EphemeralKey() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void AddSigner_ECDSA_EphemeralKey() { using (ECDsa ecdsa = ECDsa.Create()) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs index e31f2c3a84a0cf..35e9ce439f28d6 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs @@ -833,6 +833,7 @@ public static void ExportMultiplePrivateKeys() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void CanAddMultipleCertsWithSinglePrivateKey() { using (var oneWithKey = new X509Certificate2(TestData.PfxData, TestData.PfxDataPassword, X509KeyStorageFlags.Exportable | Cert.EphemeralIfPossible)) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/ExportTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/ExportTests.cs index 0051bc4da70e67..951a1329b77244 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/ExportTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/ExportTests.cs @@ -104,6 +104,7 @@ public static void ExportAsPfxVerifyPassword() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void ExportAsPfxWithPrivateKeyVerifyPassword() { using (var cert = new X509Certificate2(TestData.PfxData, TestData.PfxDataPassword, X509KeyStorageFlags.Exportable)) @@ -124,6 +125,7 @@ public static void ExportAsPfxWithPrivateKeyVerifyPassword() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void ExportAsPfxWithPrivateKey() { using (X509Certificate2 cert = new X509Certificate2(TestData.PfxData, TestData.PfxDataPassword, X509KeyStorageFlags.Exportable)) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.SingleCertGenerator.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.SingleCertGenerator.cs index de3a5f18004e4e..3fad2b9d3beb08 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.SingleCertGenerator.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.SingleCertGenerator.cs @@ -62,6 +62,7 @@ public static IEnumerable AllSingleCertVariations [Theory] [MemberData(nameof(AllSingleCertVariations))] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCertWithOneKey(SingleCertOptions options) { bool sameContainer = (options & SingleCertOptions.KeyAndCertInSameContents) != 0; diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.cs index 3b83ac201e5097..c73af1ac3173a7 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxFormatTests.cs @@ -158,6 +158,7 @@ public void EmptyPfx_BadPassword() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_NoKeys_EncryptedNullPassword_NoMac() { using (X509Certificate2 cert = new X509Certificate2(TestData.MsCertificate)) @@ -175,6 +176,7 @@ public void OneCert_NoKeys_EncryptedNullPassword_NoMac() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_NoKeys_EncryptedEmptyPassword_NoMac() { using (X509Certificate2 cert = new X509Certificate2(TestData.MsCertificate)) @@ -196,6 +198,7 @@ public void OneCert_NoKeys_EncryptedEmptyPassword_NoMac() [InlineData(false, true)] [InlineData(true, false)] [InlineData(true, true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_EncryptedEmptyPassword_OneKey_EncryptedNullPassword_NoMac(bool encryptKeySafe, bool associateKey) { // This test shows that while a null or empty password will result in both @@ -237,6 +240,7 @@ public void OneCert_EncryptedEmptyPassword_OneKey_EncryptedNullPassword_NoMac(bo } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_MismatchedKey() { string pw = nameof(OneCert_MismatchedKey); @@ -285,6 +289,7 @@ public void OneCert_MismatchedKey() [Theory] [InlineData(false)] [InlineData(true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_TwoKeys_FirstWins(bool correctKeyFirst) { string pw = nameof(OneCert_TwoKeys_FirstWins); @@ -356,6 +361,7 @@ public void OneCert_TwoKeys_FirstWins(bool correctKeyFirst) [Theory] [InlineData(false)] [InlineData(true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void TwoCerts_OneKey(bool certWithKeyFirst) { string pw = nameof(TwoCerts_OneKey); @@ -400,6 +406,7 @@ public void TwoCerts_OneKey(bool certWithKeyFirst) } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_ExtraKeyWithUnknownAlgorithm() { string pw = nameof(OneCert_ExtraKeyWithUnknownAlgorithm); @@ -445,6 +452,7 @@ public void OneCert_ExtraKeyWithUnknownAlgorithm() [Theory] [InlineData(true)] [InlineData(false)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_ExtraKeyBadEncoding(bool badTag) { string pw = nameof(OneCert_ExtraKeyBadEncoding); @@ -503,6 +511,7 @@ public void OneCert_ExtraKeyBadEncoding(bool badTag) } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_NoKey_WithLocalKeyId() { string pw = nameof(OneCert_NoKey_WithLocalKeyId); @@ -524,6 +533,7 @@ public void OneCert_NoKey_WithLocalKeyId() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void OneCert_TwentyKeys_NoMatches() { string pw = nameof(OneCert_NoKey_WithLocalKeyId); @@ -562,6 +572,7 @@ public void OneCert_TwentyKeys_NoMatches() [Theory] [InlineData(true)] [InlineData(false)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void TwoCerts_TwentyKeys_NoMatches(bool msCertFirst) { string pw = nameof(OneCert_NoKey_WithLocalKeyId); @@ -635,6 +646,7 @@ public void OneCorruptCert() } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void CertAndKey_NoLocalKeyId() { string pw = nameof(CertAndKey_NoLocalKeyId); @@ -661,6 +673,7 @@ public void CertAndKey_NoLocalKeyId() [Theory] [InlineData(false)] [InlineData(true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void SameCertTwice_NoKeys(bool addLocalKeyId) { string pw = nameof(SameCertTwice_NoKeys); @@ -692,6 +705,7 @@ public void SameCertTwice_NoKeys(bool addLocalKeyId) } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void TwoCerts_CrossedKeys() { string pw = nameof(TwoCerts_CrossedKeys); @@ -766,6 +780,7 @@ public void TwoCerts_CrossedKeys() [InlineData(false, false)] [InlineData(true, false)] [InlineData(true, true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void CertAndKeyTwice(bool addLocalKeyId, bool crossIdentifiers) { string pw = nameof(CertAndKeyTwice); @@ -821,6 +836,7 @@ public void CertAndKeyTwice(bool addLocalKeyId, bool crossIdentifiers) } [Fact] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void CertAndKeyTwice_KeysUntagged() { string pw = nameof(CertAndKeyTwice); @@ -873,6 +889,7 @@ public void CertAndKeyTwice_KeysUntagged() [Theory] [InlineData(false)] [InlineData(true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void CertTwice_KeyOnce(bool addLocalKeyId) { string pw = nameof(CertTwice_KeyOnce); @@ -930,6 +947,7 @@ public void CertTwice_KeyOnce(bool addLocalKeyId) [Theory] [InlineData(false)] [InlineData(true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void CertTwice_KeyOnce_OtherCertBetter(bool addLocalKeyId) { string pw = nameof(CertTwice_KeyOnce); @@ -990,6 +1008,7 @@ public void CertTwice_KeyOnce_OtherCertBetter(bool addLocalKeyId) [InlineData(false, true)] [InlineData(true, false)] [InlineData(true, true)] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public void TwoCerts_TwoKeys_ManySafeContentsValues(bool invertCertOrder, bool invertKeyOrder) { string pw = nameof(TwoCerts_TwoKeys_ManySafeContentsValues); diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxTests.cs index bd853f1e098be6..1132d8d85a406b 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/PfxTests.cs @@ -141,6 +141,7 @@ private static void VerifyPrivateKey(RSA rsa) [Theory] [MemberData(nameof(StorageFlags))] + [SkipOnPlatform(TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS, "The PKCS#12 Exportable flag is not supported on iOS/MacCatalyst/tvOS")] public static void ExportWithPrivateKey(X509KeyStorageFlags keyStorageFlags) { using (var cert = new X509Certificate2(TestData.PfxData, TestData.PfxDataPassword, X509KeyStorageFlags.Exportable | keyStorageFlags)) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 8c19e863afe5b0..6152897ec7b99e 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -148,6 +148,7 @@ + @@ -167,12 +168,20 @@ + + + + + + + + @@ -196,6 +205,16 @@ + + + + + + + + + + From 3326f3de6887b75461d509baa85831b0778cb3d2 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 16 Aug 2021 15:59:43 -0400 Subject: [PATCH 06/35] Temporarily bump timeout for tvOS --- eng/pipelines/runtime-staging.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index b280e7606eb6a1..9e75cecbd6be98 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -82,7 +82,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true - timeoutInMinutes: 180 + timeoutInMinutes: 210 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), From acc81042764f168aa0930e25bf23abd448b2bb0e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 16 Aug 2021 19:52:23 -0400 Subject: [PATCH 07/35] fix typo --- .../System.Runtime.Extensions/tests/System/EnvironmentTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs index 2a755cba6e97da..3eb65fdef00e02 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs @@ -347,7 +347,7 @@ public void GetFolderPath_Unix_PersonalIsHomeAndUserProfile() Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); } // tvOS effectively doesn't have a HOME - if (!PlatformDetection.IsiOS && !Platform.Detection.IstvOS) + if (!PlatformDetection.IsiOS && !PlatformDetection.IstvOS) { Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)); } From f62cc552ca03d4a67f0bdefc13f79db4010c2bac Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 17 Aug 2021 10:05:38 -0400 Subject: [PATCH 08/35] Skip more crashed suites --- src/libraries/tests.proj | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 6152897ec7b99e..70ad2753d617d6 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -175,10 +175,8 @@ - - - + @@ -197,9 +195,6 @@ - - - @@ -208,11 +203,13 @@ + + From f12648d0e2766e9062bae8ade540353343ca7f45 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 17 Aug 2021 12:46:15 -0400 Subject: [PATCH 09/35] Undo temporary changes and Add ActiveIssue --- eng/pipelines/runtime-staging.yml | 4 ++-- .../tests/BasicEventSourceTest/TestsWriteEventToListener.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 9e75cecbd6be98..40ca5bf9b2fabe 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -66,11 +66,11 @@ jobs: runtimeFlavor: mono platforms: - MacCatalyst_x64 - - MacCatalyst_arm64 - iOSSimulator_x64 - tvOSSimulator_x64 # don't run tests on arm64 PRs until we can get significantly more devices - ${{ if eq(variables['isFullMatrix'], true) }}: + - MacCatalyst_arm64 - iOSSimulator_arm64 variables: # map dependencies variables to local variables @@ -82,7 +82,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true - timeoutInMinutes: 210 + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), diff --git a/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs b/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs index d7eda639afbb7e..97470a2ff4450e 100644 --- a/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs +++ b/src/libraries/System.Diagnostics.Tracing/tests/BasicEventSourceTest/TestsWriteEventToListener.cs @@ -452,7 +452,7 @@ public void Test_EventSourceCreatedEvents_AfterListener() [Theory] [InlineData(true)] [InlineData(false)] - [ActiveIssue("Add issue", TestPlatforms.MacCatalyst)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/51382", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst)] public void Test_EventListenerThrows_ExceptionIsNotRethrownToCaller(bool setThrowOnEventWriteErrorsFlag) { TestUtilities.CheckNoEventSourcesRunning("Start"); From 8ef4da1356f7070465d4ddd70674caff58a865e7 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 17 Aug 2021 13:04:55 -0400 Subject: [PATCH 10/35] Skip more crashing suites --- src/libraries/tests.proj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 70ad2753d617d6..f2d1d55dc958c9 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -173,6 +173,7 @@ + @@ -204,6 +205,7 @@ + From 29c7d44282f7a7d86eb98d6c646a7e44a764e6c7 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Tue, 17 Aug 2021 17:05:52 -0400 Subject: [PATCH 11/35] Skip iOS.Simulator.Aot.Test flake on MacCatalyst CI --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f2d1d55dc958c9..f5013d477b5429 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -199,6 +199,7 @@ + From 9e65ef070b63bcb0a9922dfb4af425629aa8206e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 18 Aug 2021 13:13:31 -0400 Subject: [PATCH 12/35] Add a couple crashing suites --- src/libraries/tests.proj | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index f5013d477b5429..b2c04772d877b6 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -181,6 +181,10 @@ + + + + @@ -189,6 +193,7 @@ + From d975c37bc56e2ffcc489e2e2732210f77553ecf2 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 19 Aug 2021 12:37:59 -0400 Subject: [PATCH 13/35] Remove sample skip in tests.proj as it doesnt do anything --- src/libraries/tests.proj | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index b2c04772d877b6..126bd726e90d92 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -181,10 +181,6 @@ - - - - From f8854ffbfc95b89741f175ec6d0ad39d9c72a4b3 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 19 Aug 2021 18:37:50 -0400 Subject: [PATCH 14/35] Add another flakey crashed test for MacCatalyst --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 126bd726e90d92..afa2e016bf615e 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -201,6 +201,7 @@ + From 1db446db2a2f6a026c88d4c48591e918efa6fc2f Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 25 Aug 2021 12:05:13 -0400 Subject: [PATCH 15/35] Skip System.Xml.Xsl.XslCompiledTransformApi on MacCatalyst --- src/libraries/tests.proj | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index afa2e016bf615e..81bd26e969f9e4 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -209,6 +209,7 @@ + From 7b8a61480ec03bafae5c57bf8a5246f1002cb331 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 26 Aug 2021 15:59:12 -0400 Subject: [PATCH 16/35] Temporarily remove test suite skips and enable arm64 lanes and bump lane timeout to evaluate crashes --- eng/pipelines/runtime-staging.yml | 8 +++--- src/libraries/tests.proj | 42 +++++++++++++++---------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 40ca5bf9b2fabe..18cc2b640fc6e4 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -69,9 +69,9 @@ jobs: - iOSSimulator_x64 - tvOSSimulator_x64 # don't run tests on arm64 PRs until we can get significantly more devices - - ${{ if eq(variables['isFullMatrix'], true) }}: - - MacCatalyst_arm64 - - iOSSimulator_arm64 + # - ${{ if eq(variables['isFullMatrix'], true) }}: + - MacCatalyst_arm64 + - iOSSimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -82,7 +82,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true - timeoutInMinutes: 180 + timeoutInMinutes: 240 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 81bd26e969f9e4..09a0d242408207 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -141,21 +141,21 @@ - + - + - - + - + - + - + - + - + - + - - + - + - + - - + From 70ef7ec17e8893e7a1e183da8f0168d3fe0bc4ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Fri, 27 Aug 2021 13:38:29 +0200 Subject: [PATCH 17/35] Reenable a test that was fixed --- .../tests/System/EnvironmentTests.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs index 3eb65fdef00e02..63723f0117a099 100644 --- a/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs +++ b/src/libraries/System.Runtime.Extensions/tests/System/EnvironmentTests.cs @@ -346,11 +346,8 @@ public void GetFolderPath_Unix_PersonalIsHomeAndUserProfile() Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.Personal)); Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)); } - // tvOS effectively doesn't have a HOME - if (!PlatformDetection.IsiOS && !PlatformDetection.IstvOS) - { - Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)); - } + + Assert.Equal(Environment.GetEnvironmentVariable("HOME"), Environment.GetFolderPath(Environment.SpecialFolder.UserProfile)); } [Theory] From 83739a138cd5964f8277fff02ef197db73dedc5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Fri, 27 Aug 2021 20:28:44 +0200 Subject: [PATCH 18/35] Update Microsoft.DotNet.Helix.Sdk Fixes an issue with mismatched dotnet SDK versions we're hitting in runtime-staging on mobile platforms (see https://github.com/dotnet/arcade/pull/7788) --- eng/Version.Details.xml | 4 ++-- global.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index fe5c43627c6e4e..c37673dfd81ec1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -18,9 +18,9 @@ https://github.com/dotnet/arcade 809cbb58dea1d1e477ab0e12855d1758d50844a8 - + https://github.com/dotnet/arcade - 809cbb58dea1d1e477ab0e12855d1758d50844a8 + 870d4582f5fe1a8a7ca9a14cc1de0fc88ee4d4f6 https://github.com/dotnet/arcade diff --git a/global.json b/global.json index c23bc9499c746e..bcb0e2427c6441 100644 --- a/global.json +++ b/global.json @@ -14,7 +14,7 @@ "msbuild-sdks": { "Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk": "6.0.0-beta.21425.3", "Microsoft.DotNet.Arcade.Sdk": "6.0.0-beta.21425.3", - "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21425.3", + "Microsoft.DotNet.Helix.Sdk": "6.0.0-beta.21427.1", "Microsoft.DotNet.SharedFramework.Sdk": "6.0.0-beta.21425.3", "Microsoft.Build.NoTargets": "3.1.0", "Microsoft.Build.Traversal": "3.0.23", From 5ee3b26944f47de1bca8896f9b8855f5c4164b32 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 12:13:05 -0400 Subject: [PATCH 19/35] [iOS] Skip ValidAccessLevelCombinations ReadWriteExecute for iOSSimulator arm64 --- .../tests/MemoryMappedViewAccessor.Tests.cs | 5 +++++ .../tests/MemoryMappedViewStream.Tests.cs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs index 8f7e2fae576eb0..91f566ac8f3162 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs @@ -97,6 +97,11 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor // Containers and OSX with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } + else if ((OperatingSystem.IsiOS() && PlatformDetection.IsArm64Process) && + (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) + { + throw new SkipTestException("Insufficient execute permission."); + } throw; } diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index d77a24ae0ddfa6..e9127423ce5fb5 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -97,6 +97,11 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor // Containers and OSX with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } + else if ((OperatingSystem.IsiOS() && PlatformDetection.IsArm64Process) && + (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) + { + throw new SkipTestException("Insufficient execute permission."); + } throw; } From 018fa0ddb5ab84541612c64051cab8a9721df3fc Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 12:19:01 -0400 Subject: [PATCH 20/35] Skip failing test suites --- src/libraries/tests.proj | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 72354e764a5a1b..c59f84ee84021c 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -143,12 +143,10 @@ - + - - + @@ -181,6 +179,11 @@ + + + + + From 98ee28aca5c8f99ccb48226aca7c518b70702a0d Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 12:30:27 -0400 Subject: [PATCH 21/35] Extend trampoline bump to iOS tvOS MacCatalyst --- src/tasks/AotCompilerTask/MonoAOTCompiler.props | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.props b/src/tasks/AotCompilerTask/MonoAOTCompiler.props index ca914c5c9639dd..5abee1127d5d68 100644 --- a/src/tasks/AotCompilerTask/MonoAOTCompiler.props +++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.props @@ -22,7 +22,8 @@ - + + From b70a72ef9b1b8742fde547ae90760b21b37ce401 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 14:39:00 -0400 Subject: [PATCH 22/35] Fixup typo --- .../tests/MemoryMappedViewAccessor.Tests.cs | 2 +- .../tests/MemoryMappedViewStream.Tests.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs index 91f566ac8f3162..a120cd13ae42de 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs @@ -97,7 +97,7 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor // Containers and OSX with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } - else if ((OperatingSystem.IsiOS() && PlatformDetection.IsArm64Process) && + else if ((OperatingSystem.IsIOS() && PlatformDetection.IsArm64Process) && (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) { throw new SkipTestException("Insufficient execute permission."); diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index e9127423ce5fb5..94b97047b3983f 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -97,7 +97,7 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor // Containers and OSX with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } - else if ((OperatingSystem.IsiOS() && PlatformDetection.IsArm64Process) && + else if ((OperatingSystem.IsIOS() && PlatformDetection.IsArm64Process) && (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) { throw new SkipTestException("Insufficient execute permission."); From 04d680fdd9baa1109349f1556a23dfac59d12dfe Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 15:14:34 -0400 Subject: [PATCH 23/35] Fix MonoAOTCompiler typo --- src/tasks/AotCompilerTask/MonoAOTCompiler.props | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.props b/src/tasks/AotCompilerTask/MonoAOTCompiler.props index 5abee1127d5d68..6ef2f973eb8140 100644 --- a/src/tasks/AotCompilerTask/MonoAOTCompiler.props +++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.props @@ -23,7 +23,7 @@ - + From 2c1fcc542d41e2e4e4058950c36e7baf4f918a1f Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 21:54:16 -0400 Subject: [PATCH 24/35] Bump trampolines for osxlike lanes --- src/tasks/AotCompilerTask/MonoAOTCompiler.props | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.props b/src/tasks/AotCompilerTask/MonoAOTCompiler.props index 6ef2f973eb8140..0f3948f5793dc9 100644 --- a/src/tasks/AotCompilerTask/MonoAOTCompiler.props +++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.props @@ -22,8 +22,7 @@ - - + @@ -32,6 +31,15 @@ + + + + + + + + + From a8b9bf48a15bfc4669473108f1146e95cbc9205b Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Mon, 30 Aug 2021 23:45:00 -0400 Subject: [PATCH 25/35] Add active issues for failing tests --- .../tests/FileSystemWatcher.WaitForChanged.cs | 1 + .../tests/CollectionTests.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/src/libraries/System.IO.FileSystem.Watcher/tests/FileSystemWatcher.WaitForChanged.cs b/src/libraries/System.IO.FileSystem.Watcher/tests/FileSystemWatcher.WaitForChanged.cs index aec8019cdceb9d..cce5f54469f2dd 100644 --- a/src/libraries/System.IO.FileSystem.Watcher/tests/FileSystemWatcher.WaitForChanged.cs +++ b/src/libraries/System.IO.FileSystem.Watcher/tests/FileSystemWatcher.WaitForChanged.cs @@ -111,6 +111,7 @@ public void NonZeroTimeout_NoEvents_TimesOut(bool enabledBeforeWait) [InlineData(WatcherChangeTypes.Changed, false)] [InlineData(WatcherChangeTypes.Renamed, true)] [InlineData(WatcherChangeTypes.All, true)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/58418", typeof(PlatformDetection), nameof(PlatformDetection.IsMacCatalyst), nameof(PlatformDetection.IsArm64Process))] public void NonZeroTimeout_NoActivity_TimesOut(WatcherChangeTypes changeType, bool enabledBeforeWait) { using (var testDirectory = new TempDirectory(GetTestFilePath())) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs index 35e9ce439f28d6..7370a319373cfd 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs @@ -886,6 +886,7 @@ public static void X509CertificateCollectionCopyTo() [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/57506", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsMariner))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/58416", TestPlatforms.Android)] public static void X509ChainElementCollection_CopyTo_NonZeroLowerBound_ThrowsIndexOutOfRangeException() { using (var microsoftDotCom = new X509Certificate2(TestData.MicrosoftDotComSslCertBytes)) From 65d9368a99a10c316887b0bebe5971ee931a9cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20K=C3=B6plinger?= Date: Wed, 1 Sep 2021 10:43:49 +0200 Subject: [PATCH 26/35] Remove ActiveIssue that was fixed --- .../tests/CollectionTests.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs index 7370a319373cfd..35e9ce439f28d6 100644 --- a/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs +++ b/src/libraries/System.Security.Cryptography.X509Certificates/tests/CollectionTests.cs @@ -886,7 +886,6 @@ public static void X509CertificateCollectionCopyTo() [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/57506", typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime), nameof(PlatformDetection.IsMariner))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/58416", TestPlatforms.Android)] public static void X509ChainElementCollection_CopyTo_NonZeroLowerBound_ThrowsIndexOutOfRangeException() { using (var microsoftDotCom = new X509Certificate2(TestData.MicrosoftDotComSslCertBytes)) From b083ec9659dae11d6c830aadff5ff179067231f2 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 10:59:38 -0400 Subject: [PATCH 27/35] Add IsIanaIdTest skip --- src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs b/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs index 832677cc22c7ee..58bf6a797955d3 100644 --- a/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs +++ b/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs @@ -2660,6 +2660,7 @@ public static void IsIanaIdWithNotCacheTest() } [ConditionalFact(nameof(SupportIanaNamesConversion))] + [ActiveIssue("https://github.com/dotnet/runtime/issues/58440", TestPlatforms.iOS || TestPlatforms.MacCatalyst || TestPlatforms.tvOS)] public static void IsIanaIdTest() { bool expected = !s_isWindows; From a9d1b04b2ce35b4bfda90cf41eef1cda12a00d82 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 11:00:37 -0400 Subject: [PATCH 28/35] Bump trampolines even higher --- src/tasks/AotCompilerTask/MonoAOTCompiler.props | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.props b/src/tasks/AotCompilerTask/MonoAOTCompiler.props index 0f3948f5793dc9..e5571155277298 100644 --- a/src/tasks/AotCompilerTask/MonoAOTCompiler.props +++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.props @@ -33,12 +33,12 @@ - - - - - - + + + + + + From 7cf11017ff1e0851994a41618dbba9c90f576f35 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 11:10:11 -0400 Subject: [PATCH 29/35] Address feedback --- .../tests/MemoryMappedViewAccessor.Tests.cs | 9 ++------- .../tests/MemoryMappedViewStream.Tests.cs | 9 ++------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs index a120cd13ae42de..0c8517ca4affe8 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs @@ -91,15 +91,10 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor } catch (UnauthorizedAccessException) { - if ((OperatingSystem.IsMacOS() || OperatingSystem.IsMacCatalyst() || PlatformDetection.IsInContainer) && + if ((OperatingSystem.IsMacOS() || OperatingSystem.IsMacCatalyst() || OperatingSystem.IsIOS() || OperatingSystem.IsTvOS() || PlatformDetection.IsInContainer) && (viewAccess == MemoryMappedFileAccess.ReadExecute || viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) { - // Containers and OSX with SIP enabled do not have execute permissions by default. - throw new SkipTestException("Insufficient execute permission."); - } - else if ((OperatingSystem.IsIOS() && PlatformDetection.IsArm64Process) && - (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) - { + // Containers and OSXlike platforms with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } diff --git a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs index 94b97047b3983f..a5340527df9011 100644 --- a/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs +++ b/src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs @@ -91,15 +91,10 @@ public void ValidAccessLevelCombinations(MemoryMappedFileAccess mapAccess, Memor } catch (UnauthorizedAccessException) { - if ((OperatingSystem.IsMacOS() || OperatingSystem.IsMacCatalyst() || PlatformDetection.IsInContainer) && + if ((OperatingSystem.IsMacOS() || OperatingSystem.IsMacCatalyst() || OperatingSystem.IsIOS() || OperatingSystem.IsTvOS() || PlatformDetection.IsInContainer) && (viewAccess == MemoryMappedFileAccess.ReadExecute || viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) { - // Containers and OSX with SIP enabled do not have execute permissions by default. - throw new SkipTestException("Insufficient execute permission."); - } - else if ((OperatingSystem.IsIOS() && PlatformDetection.IsArm64Process) && - (mapAccess == MemoryMappedFileAccess.ReadWriteExecute && viewAccess == MemoryMappedFileAccess.ReadWriteExecute)) - { + // Containers and OSXlike platforms with SIP enabled do not have execute permissions by default. throw new SkipTestException("Insufficient execute permission."); } From 8f834908024f37de970c17d871236da128c3a13e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 11:47:04 -0400 Subject: [PATCH 30/35] Fix typo --- src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs b/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs index 58bf6a797955d3..e58108123e5db7 100644 --- a/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs +++ b/src/libraries/System.Runtime/tests/System/TimeZoneInfoTests.cs @@ -2660,7 +2660,7 @@ public static void IsIanaIdWithNotCacheTest() } [ConditionalFact(nameof(SupportIanaNamesConversion))] - [ActiveIssue("https://github.com/dotnet/runtime/issues/58440", TestPlatforms.iOS || TestPlatforms.MacCatalyst || TestPlatforms.tvOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/58440", TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS)] public static void IsIanaIdTest() { bool expected = !s_isWindows; From 98698fd9c00cba694ac9dc806fe882a39e1ea857 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 16:06:36 -0400 Subject: [PATCH 31/35] Undo runtime-staging temporary changes and cleanup test skips --- eng/pipelines/runtime-staging.yml | 8 +-- src/libraries/tests.proj | 71 +++---------------- .../AotCompilerTask/MonoAOTCompiler.props | 12 +--- 3 files changed, 14 insertions(+), 77 deletions(-) diff --git a/eng/pipelines/runtime-staging.yml b/eng/pipelines/runtime-staging.yml index 18cc2b640fc6e4..40ca5bf9b2fabe 100644 --- a/eng/pipelines/runtime-staging.yml +++ b/eng/pipelines/runtime-staging.yml @@ -69,9 +69,9 @@ jobs: - iOSSimulator_x64 - tvOSSimulator_x64 # don't run tests on arm64 PRs until we can get significantly more devices - # - ${{ if eq(variables['isFullMatrix'], true) }}: - - MacCatalyst_arm64 - - iOSSimulator_arm64 + - ${{ if eq(variables['isFullMatrix'], true) }}: + - MacCatalyst_arm64 + - iOSSimulator_arm64 variables: # map dependencies variables to local variables - name: librariesContainsChange @@ -82,7 +82,7 @@ jobs: testGroup: innerloop nameSuffix: AllSubsets_Mono buildArgs: -s mono+libs+host+packs+libs.tests -c $(_BuildConfig) /p:ArchiveTests=true /p:RunAOTCompilation=true /p:MonoForceInterpreter=true /p:BuildDarwinFrameworks=true - timeoutInMinutes: 240 + timeoutInMinutes: 180 condition: >- or( eq(dependencies.evaluate_paths.outputs['SetPathVars_libraries.containsChange'], true), diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 558ecd663c204f..b3d36ddc3ccc34 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -141,42 +141,24 @@ - + - - - - - - - - - - - + + + + + - + @@ -184,43 +166,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/tasks/AotCompilerTask/MonoAOTCompiler.props b/src/tasks/AotCompilerTask/MonoAOTCompiler.props index e5571155277298..6ef2f973eb8140 100644 --- a/src/tasks/AotCompilerTask/MonoAOTCompiler.props +++ b/src/tasks/AotCompilerTask/MonoAOTCompiler.props @@ -22,7 +22,8 @@ - + + @@ -31,15 +32,6 @@ - - - - - - - - - From 4317e548f55101630ef753dbb6cdd74a500e035c Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Wed, 1 Sep 2021 19:56:57 -0400 Subject: [PATCH 32/35] Fix path typo --- src/libraries/tests.proj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index b3d36ddc3ccc34..59de0ecb3a6e41 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -151,7 +151,7 @@ - + From c5668c54e33b43d2ce4777c906aa3a3208ee804e Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Thu, 2 Sep 2021 09:54:25 -0400 Subject: [PATCH 33/35] Skip iOS sample --- src/libraries/tests.proj | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 59de0ecb3a6e41..42011026640b12 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -260,8 +260,9 @@ - + + Date: Thu, 2 Sep 2021 15:55:42 -0400 Subject: [PATCH 34/35] Add new activeIssue and skip flakey Android test crash --- .../tests/PhysicalFileProviderTests.cs | 3 ++- src/libraries/tests.proj | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/libraries/Microsoft.Extensions.FileProviders.Physical/tests/PhysicalFileProviderTests.cs b/src/libraries/Microsoft.Extensions.FileProviders.Physical/tests/PhysicalFileProviderTests.cs index 8f2b5691fa9f80..4aa57114fcdc69 100644 --- a/src/libraries/Microsoft.Extensions.FileProviders.Physical/tests/PhysicalFileProviderTests.cs +++ b/src/libraries/Microsoft.Extensions.FileProviders.Physical/tests/PhysicalFileProviderTests.cs @@ -137,7 +137,7 @@ public void PollingFileProviderShouldntConsumeINotifyInstances() } } } - + private void GetFileInfoReturnsNotFoundFileInfoForIllegalPathWithLeadingSlashes(string path) { using (var provider = new PhysicalFileProvider(Path.GetTempPath())) @@ -936,6 +936,7 @@ public void NoopChangeTokenForFilterThatNavigatesAboveRoot() [Fact] [ActiveIssue("https://github.com/dotnet/runtime/issues/34582", TestPlatforms.Windows, TargetFrameworkMonikers.Netcoreapp, TestRuntimes.Mono)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/58584", TestPlatforms.iOS | TestPlatforms.MacCatalyst | TestPlatforms.tvOS)] public void TokenForEmptyFilter() { using (var root = new DisposableFileSystem()) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 42011026640b12..9e50797b54993a 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -120,6 +120,7 @@ + From 8365cdd73b5e6fbaf26157e016fe018554353617 Mon Sep 17 00:00:00 2001 From: Mitchell Hwang Date: Fri, 3 Sep 2021 10:28:33 -0400 Subject: [PATCH 35/35] Skip functional tests crashing with exit code 0 --- src/libraries/tests.proj | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libraries/tests.proj b/src/libraries/tests.proj index 9e50797b54993a..554a410d6d8cfe 100644 --- a/src/libraries/tests.proj +++ b/src/libraries/tests.proj @@ -154,6 +154,8 @@ + +