Skip to content

Commit 09cc1f3

Browse files
committed
Add 30-second timeouts to concurrency tests
- AsyncVisitorConcurrencyTests - AsyncVisitorResultConcurrencyTests - VisitorConcurrencyTests - VisitorResultConcurrencyTests - AsyncTemplateMethodTests (concurrency scenario) - BridgeTests (concurrency scenario) These tests could hang on deadlocks; timeouts ensure they fail fast rather than blocking CI indefinitely.
1 parent d1b035c commit 09cc1f3

6 files changed

Lines changed: 6 additions & 6 deletions

File tree

test/PatternKit.Tests/Behavioral/AsyncTemplateMethodTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public Task ExecuteAsync_RunsHooks_And_Returns()
5858
.AssertPassed();
5959

6060
[Scenario("Not synchronized allows concurrency")]
61-
[Fact]
61+
[Fact(Timeout = 30_000)]
6262
public Task Allows_Concurrency_When_Not_Synchronized()
6363
=> Given("a non-synchronized template with delay", () => new SampleAsyncTemplate(delayMs: 25, sync: false))
6464
.When("ExecuteAsync on 1..4 in parallel", t =>

test/PatternKit.Tests/Behavioral/AsyncVisitorConcurrencyTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private sealed record Add(Node Left, Node Right) : Node;
1616
private sealed record Neg(Node Inner) : Node;
1717

1818
[Scenario("AsyncActionVisitor executes correctly under concurrent calls across tasks")]
19-
[Fact]
19+
[Fact(Timeout = 30_000)]
2020
public Task AsyncActionVisitor_Concurrent_Dispatch()
2121
=> Given("an async action visitor and a mixed dataset", () =>
2222
{

test/PatternKit.Tests/Behavioral/AsyncVisitorResultConcurrencyTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private sealed record Add(Node Left, Node Right) : Node;
1616
private sealed record Neg(Node Inner) : Node;
1717

1818
[Scenario("Async Result Visitor returns correct codes under concurrent tasks")]
19-
[Fact]
19+
[Fact(Timeout = 30_000)]
2020
public Task AsyncResultVisitor_Concurrent_Dispatch()
2121
=> Given("an async result visitor and a mixed dataset", () =>
2222
{

test/PatternKit.Tests/Behavioral/VisitorConcurrencyTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private sealed record Add(Node Left, Node Right) : Node;
1616
private sealed record Neg(Node Inner) : Node;
1717

1818
[Scenario("ActionVisitor executes correctly under concurrent calls across threads")]
19-
[Fact]
19+
[Fact(Timeout = 30_000)]
2020
public Task ActionVisitor_Concurrent_Dispatch()
2121
=> Given("an action visitor and a mixed dataset", () =>
2222
{

test/PatternKit.Tests/Behavioral/VisitorResultConcurrencyTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ private sealed record Add(Node Left, Node Right) : Node;
1616
private sealed record Neg(Node Inner) : Node;
1717

1818
[Scenario("Result Visitor returns correct codes under parallel calls across threads")]
19-
[Fact]
19+
[Fact(Timeout = 30_000)]
2020
public Task ResultVisitor_Concurrent_Dispatch()
2121
=> Given("a result visitor and a mixed dataset", () =>
2222
{

test/PatternKit.Tests/Structural/Bridge/BridgeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public Task Missing_Operation_Throws()
8686
.AssertPassed();
8787

8888
[Scenario("Concurrency: many Execute calls increment op count exactly once each")]
89-
[Fact]
89+
[Fact(Timeout = 30_000)]
9090
public async Task Concurrency_Execute_Is_Safe()
9191
{
9292
var bridge = Bridge<Job, string, Renderer>

0 commit comments

Comments
 (0)