From 0969048555c1a6b27fae5574cf4ac7a8986c5128 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 25 Aug 2022 09:00:38 -0700 Subject: Disable distributed transaction tests on ARM (#74573) To unblock CI build failures, works around #74170 Co-authored-by: Shay Rojansky --- .../System.Transactions.Local/tests/OleTxTests.cs | 48 ++++++++++++++-------- 1 file changed, 32 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/libraries/System.Transactions.Local/tests/OleTxTests.cs b/src/libraries/System.Transactions.Local/tests/OleTxTests.cs index 80b854f7e17..8ff6a221da1 100644 --- a/src/libraries/System.Transactions.Local/tests/OleTxTests.cs +++ b/src/libraries/System.Transactions.Local/tests/OleTxTests.cs @@ -28,9 +28,11 @@ public class OleTxTests : IClassFixture [InlineData(Phase1Vote.ForceRollback, Phase1Vote.Prepared, EnlistmentOutcome.Aborted, EnlistmentOutcome.Aborted, TransactionStatus.Aborted)] public void Two_durable_enlistments_commit(Phase1Vote vote1, Phase1Vote vote2, EnlistmentOutcome expectedOutcome1, EnlistmentOutcome expectedOutcome2, TransactionStatus expectedTxStatus) { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } using var tx = new CommittableTransaction(); @@ -61,9 +63,11 @@ public class OleTxTests : IClassFixture [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] public void Two_durable_enlistments_rollback() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } using var tx = new CommittableTransaction(); @@ -89,9 +93,11 @@ public class OleTxTests : IClassFixture [InlineData(2)] public void Volatile_and_durable_enlistments(int volatileCount) { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } using var tx = new CommittableTransaction(); @@ -122,9 +128,11 @@ public class OleTxTests : IClassFixture [ConditionalFact(nameof(IsRemoteExecutorSupportedAndNotNano))] public void Promotion() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } // This simulates the full promotable flow, as implemented for SQL Server. @@ -301,9 +309,11 @@ public class OleTxTests : IClassFixture [ConditionalFact(nameof(IsRemoteExecutorSupportedAndNotNano))] public void Recovery() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } // We are going to spin up an external process to also enlist in the transaction, and then to crash when it @@ -413,9 +423,11 @@ public class OleTxTests : IClassFixture [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] public void TransmitterPropagationToken() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } using var tx = new CommittableTransaction(); @@ -434,9 +446,11 @@ public class OleTxTests : IClassFixture [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))] public void GetExportCookie() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } using var tx = new CommittableTransaction(); @@ -483,9 +497,11 @@ public class OleTxTests : IClassFixture { public OleTxFixture() { - if (!Environment.Is64BitProcess) + if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process) { - return; // Temporarily skip on 32-bit where we have an issue + // Temporarily skip on 32-bit where we have an issue + // ARM64 issue: https://github.com/dotnet/runtime/issues/74170 + return; } // In CI, we sometimes get XACT_E_TMNOTAVAILABLE on the very first attempt to connect to MSDTC; -- cgit v1.2.3