Skip to content

Commit 0969048

Browse files
Disable distributed transaction tests on ARM (#74573)
To unblock CI build failures, works around #74170 Co-authored-by: Shay Rojansky <roji@roji.org>
1 parent 71b27a5 commit 0969048

File tree

1 file changed

+32
-16
lines changed

1 file changed

+32
-16
lines changed

src/libraries/System.Transactions.Local/tests/OleTxTests.cs

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,11 @@ public OleTxTests(OleTxFixture fixture)
2828
[InlineData(Phase1Vote.ForceRollback, Phase1Vote.Prepared, EnlistmentOutcome.Aborted, EnlistmentOutcome.Aborted, TransactionStatus.Aborted)]
2929
public void Two_durable_enlistments_commit(Phase1Vote vote1, Phase1Vote vote2, EnlistmentOutcome expectedOutcome1, EnlistmentOutcome expectedOutcome2, TransactionStatus expectedTxStatus)
3030
{
31-
if (!Environment.Is64BitProcess)
31+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
3232
{
33-
return; // Temporarily skip on 32-bit where we have an issue
33+
// Temporarily skip on 32-bit where we have an issue
34+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
35+
return;
3436
}
3537

3638
using var tx = new CommittableTransaction();
@@ -61,9 +63,11 @@ public void Two_durable_enlistments_commit(Phase1Vote vote1, Phase1Vote vote2, E
6163
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
6264
public void Two_durable_enlistments_rollback()
6365
{
64-
if (!Environment.Is64BitProcess)
66+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
6567
{
66-
return; // Temporarily skip on 32-bit where we have an issue
68+
// Temporarily skip on 32-bit where we have an issue
69+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
70+
return;
6771
}
6872

6973
using var tx = new CommittableTransaction();
@@ -89,9 +93,11 @@ public void Two_durable_enlistments_rollback()
8993
[InlineData(2)]
9094
public void Volatile_and_durable_enlistments(int volatileCount)
9195
{
92-
if (!Environment.Is64BitProcess)
96+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
9397
{
94-
return; // Temporarily skip on 32-bit where we have an issue
98+
// Temporarily skip on 32-bit where we have an issue
99+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
100+
return;
95101
}
96102

97103
using var tx = new CommittableTransaction();
@@ -122,9 +128,11 @@ public void Volatile_and_durable_enlistments(int volatileCount)
122128
[ConditionalFact(nameof(IsRemoteExecutorSupportedAndNotNano))]
123129
public void Promotion()
124130
{
125-
if (!Environment.Is64BitProcess)
131+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
126132
{
127-
return; // Temporarily skip on 32-bit where we have an issue
133+
// Temporarily skip on 32-bit where we have an issue
134+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
135+
return;
128136
}
129137

130138
// This simulates the full promotable flow, as implemented for SQL Server.
@@ -301,9 +309,11 @@ public void SinglePhaseCommit(SinglePhaseEnlistment singlePhaseEnlistment)
301309
[ConditionalFact(nameof(IsRemoteExecutorSupportedAndNotNano))]
302310
public void Recovery()
303311
{
304-
if (!Environment.Is64BitProcess)
312+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
305313
{
306-
return; // Temporarily skip on 32-bit where we have an issue
314+
// Temporarily skip on 32-bit where we have an issue
315+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
316+
return;
307317
}
308318

309319
// 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 void InDoubt(Enlistment enlistment)
413423
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
414424
public void TransmitterPropagationToken()
415425
{
416-
if (!Environment.Is64BitProcess)
426+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
417427
{
418-
return; // Temporarily skip on 32-bit where we have an issue
428+
// Temporarily skip on 32-bit where we have an issue
429+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
430+
return;
419431
}
420432

421433
using var tx = new CommittableTransaction();
@@ -434,9 +446,11 @@ public void TransmitterPropagationToken()
434446
[ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsNotWindowsNanoServer))]
435447
public void GetExportCookie()
436448
{
437-
if (!Environment.Is64BitProcess)
449+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
438450
{
439-
return; // Temporarily skip on 32-bit where we have an issue
451+
// Temporarily skip on 32-bit where we have an issue
452+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
453+
return;
440454
}
441455

442456
using var tx = new CommittableTransaction();
@@ -483,9 +497,11 @@ public class OleTxFixture
483497
{
484498
public OleTxFixture()
485499
{
486-
if (!Environment.Is64BitProcess)
500+
if (!Environment.Is64BitProcess || PlatformDetection.IsArm64Process)
487501
{
488-
return; // Temporarily skip on 32-bit where we have an issue
502+
// Temporarily skip on 32-bit where we have an issue
503+
// ARM64 issue: https://github.com/dotnet/runtime/issues/74170
504+
return;
489505
}
490506

491507
// In CI, we sometimes get XACT_E_TMNOTAVAILABLE on the very first attempt to connect to MSDTC;

0 commit comments

Comments
 (0)