Fix timeouts in resourcemanager test (#86680)
authormadelson <1269046+madelson@users.noreply.github.com>
Wed, 24 May 2023 20:38:16 +0000 (16:38 -0400)
committerGitHub <noreply@github.com>
Wed, 24 May 2023 20:38:16 +0000 (13:38 -0700)
* Update BinaryResourceWriterUnitTest.cs

Apply suggestion from https://github.com/dotnet/runtime/issues/86013#issuecomment-1560231543

Co-authored-by: Buyaa Namnan <buyankhishig.namnan@microsoft.com>
src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs

index 21accbc..848d5a9 100644 (file)
@@ -526,9 +526,15 @@ namespace System.Resources.Extensions.Tests
 
             const int Threads = 10;
             using Barrier barrier = new(Threads);
-            Task task = Task.WhenAll(Enumerable.Range(0, Threads).Select(_ => Task.Run(WaitForBarrierThenEnumerateResources)));
-
-            Assert.True(task.Wait(TimeSpan.FromSeconds(30)));
+            Task[] tasks = Enumerable.Range(0, Threads)
+                .Select(_ => Task.Factory.StartNew(
+                    WaitForBarrierThenEnumerateResources,
+                    CancellationToken.None,
+                    TaskCreationOptions.LongRunning,
+                    TaskScheduler.Default))
+                .ToArray();
+
+            Assert.True(Task.WaitAll(tasks, TimeSpan.FromSeconds(30)));
 
             void WaitForBarrierThenEnumerateResources()
             {