Skip to content

Commit 82bb3de

Browse files
committed
Fix another race condition
1 parent 1190895 commit 82bb3de

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

test/Microsoft.TestPlatform.CrossPlatEngine.UnitTests/MultiTestRunFinalization/MultiTestRunFinalizationManagerTests.cs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -392,20 +392,27 @@ public async Task FinalizeMultiTestRunAsync_ShouldReturnNullThroughEventsHandler
392392

393393
mockAttachmentHandler1.Setup(h => h.HandleDataCollectionAttachmentSets(It.IsAny<ICollection<AttachmentSet>>(), It.IsAny<CancellationToken>())).Returns((ICollection<AttachmentSet> i1, CancellationToken cancellation) =>
394394
{
395-
for (int i = 0; i < 1000; ++i)
396-
{
397-
Task.Delay(100);
398-
Console.WriteLine($"Iteration: {i}");
395+
try
396+
{
397+
for (int i = 0; i < 1000; ++i)
398+
{
399+
Task.Delay(100).Wait();
400+
Console.WriteLine($"Iteration: {i}");
399401

400-
if (cancellation.IsCancellationRequested) break;
402+
cancellation.ThrowIfCancellationRequested();
401403

402-
if (i == 3)
403-
{
404-
cancellationTokenSource.Cancel();
404+
if (i == 3)
405+
{
406+
cancellationTokenSource.Cancel();
407+
Task.Delay(500).Wait();
408+
}
405409
}
406410
}
407-
408-
innerTaskCompletionSource.TrySetResult(null);
411+
finally
412+
{
413+
innerTaskCompletionSource.TrySetResult(null);
414+
}
415+
409416
return outputAttachments;
410417
});
411418

0 commit comments

Comments
 (0)