Skip to content

Commit 0e22782

Browse files
committed
Use async-compatible wait mechanism
1 parent cd5cfeb commit 0e22782

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

src/DotNext.Tests/Runtime/CompilerServices/SpawningAsyncTaskMethodBuilderTests.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ public sealed class SpawningAsyncTaskMethodBuilderTests : Test
88
[Fact]
99
public static async Task ForkAsyncMethodWithResult()
1010
{
11-
using var resetEvent = new ManualResetEventSlim(initialState: false);
11+
var resetEvent = new TaskCompletionSource();
1212
var task = Sum(40, 2, Thread.CurrentThread.ManagedThreadId);
13-
True(resetEvent.Wait(DefaultTimeout));
13+
await resetEvent.Task.WaitAsync(DefaultTimeout);
1414

1515
Equal(42, await task);
1616

1717
[AsyncMethodBuilder(typeof(SpawningAsyncTaskMethodBuilder<>))]
1818
async Task<int> Sum(int x, int y, int callerThreadId)
1919
{
20-
resetEvent.Set();
20+
resetEvent.SetResult();
2121
NotEqual(callerThreadId, Thread.CurrentThread.ManagedThreadId);
2222

2323
await Task.CompletedTask;
@@ -28,16 +28,16 @@ async Task<int> Sum(int x, int y, int callerThreadId)
2828
[Fact]
2929
public static async Task ForkAsyncMethodWithoutResult()
3030
{
31-
using var resetEvent = new ManualResetEventSlim(initialState: false);
31+
var resetEvent = new TaskCompletionSource();
3232
var task = CheckThreadId(Thread.CurrentThread.ManagedThreadId);
33-
True(resetEvent.Wait(DefaultTimeout));
33+
await resetEvent.Task.WaitAsync(DefaultTimeout);
3434

3535
await task;
3636

3737
[AsyncMethodBuilder(typeof(SpawningAsyncTaskMethodBuilder))]
3838
async Task CheckThreadId(int callerThreadId)
3939
{
40-
resetEvent.Set();
40+
resetEvent.SetResult();
4141
NotEqual(callerThreadId, Thread.CurrentThread.ManagedThreadId);
4242

4343
await Task.CompletedTask;
@@ -47,17 +47,17 @@ async Task CheckThreadId(int callerThreadId)
4747
[Fact]
4848
public static async Task CancellationOfSpawnedMethod()
4949
{
50-
using var resetEvent = new ManualResetEventSlim(initialState: false);
50+
var resetEvent = new TaskCompletionSource();
5151
var task = CheckThreadId(Thread.CurrentThread.ManagedThreadId, new(true));
52-
True(resetEvent.Wait(DefaultTimeout));
52+
await resetEvent.Task.WaitAsync(DefaultTimeout);
5353

5454
await task.ConfigureAwait(ConfigureAwaitOptions.ContinueOnCapturedContext | ConfigureAwaitOptions.SuppressThrowing);
5555
True(task.IsCanceled);
5656

5757
[AsyncMethodBuilder(typeof(SpawningAsyncTaskMethodBuilder))]
5858
async Task CheckThreadId(int callerThreadId, CancellationToken token)
5959
{
60-
resetEvent.Set();
60+
resetEvent.SetResult();
6161
NotEqual(callerThreadId, Thread.CurrentThread.ManagedThreadId);
6262

6363
await Task.Delay(DefaultTimeout, token);

0 commit comments

Comments
 (0)