diff --git a/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorCollection.cs b/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorCollection.cs
new file mode 100644
index 00000000..ec3bde8c
--- /dev/null
+++ b/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorCollection.cs
@@ -0,0 +1,12 @@
+namespace ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests;
+
+///
+/// Marks DataConnectionManagerActorTests as non-parallel with any other tests in the
+/// same collection. This prevents CPU-contention-induced timing flakiness in DCL002
+/// (and neighbours) where actor message dispatch + async I/O must complete before an
+/// AwaitCondition deadline. xUnit runs all tests in the same [Collection] sequentially
+/// within the assembly; the generous 30 s AwaitCondition ceiling handles cross-assembly
+/// contention when the full solution test suite runs in parallel.
+///
+[CollectionDefinition("DataConnectionManagerActor", DisableParallelization = true)]
+public class DataConnectionManagerActorCollection { }
diff --git a/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorTests.cs b/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorTests.cs
index 093f0ccf..039f72aa 100644
--- a/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorTests.cs
+++ b/tests/ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests/DataConnectionManagerActorTests.cs
@@ -12,6 +12,7 @@ namespace ZB.MOM.WW.ScadaBridge.DataConnectionLayer.Tests;
///
/// WP-34: Tests for DataConnectionManagerActor routing and lifecycle.
///
+[Collection("DataConnectionManagerActor")]
public class DataConnectionManagerActorTests : TestKit
{
private readonly IDataConnectionFactory _mockFactory;
@@ -108,7 +109,7 @@ public class DataConnectionManagerActorTests : TestKit
// completes under CPU contention.
AwaitCondition(
() => mockAdapter.ReceivedCalls().Any(c => c.GetMethodInfo().Name == "ConnectAsync"),
- TimeSpan.FromSeconds(5));
+ TimeSpan.FromSeconds(30));
// Register a subscription.
manager.Tell(new SubscribeTagsRequest("c1", "inst1", "conn1", ["tag1"], DateTimeOffset.UtcNow));
@@ -122,7 +123,7 @@ public class DataConnectionManagerActorTests : TestKit
// actor processes the message under CPU load.
AwaitCondition(
() => mockAdapter.ReceivedCalls().Any(c => c.GetMethodInfo().Name == "WriteAsync"),
- TimeSpan.FromSeconds(5));
+ TimeSpan.FromSeconds(30));
// After the crash the subscription state must survive: the health report
// still shows the subscribed/resolved tag. With Restart it would be 0.