From c13bbb8184ea35a8ff7590877d3af104ec4792dc Mon Sep 17 00:00:00 2001 From: madelson <1269046+madelson@users.noreply.github.com> Date: Tue, 23 May 2023 21:08:48 -0400 Subject: [PATCH 1/2] Update BinaryResourceWriterUnitTest.cs Apply suggestion from https://github.com/dotnet/runtime/issues/86013#issuecomment-1560231543 --- .../tests/BinaryResourceWriterUnitTest.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs b/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs index 21accbca7fe127..804ed248019a5e 100644 --- a/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs +++ b/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs @@ -526,7 +526,13 @@ public static void TestResourceManagerIsSafeForConcurrentAccessAndEnumeration(bo const int Threads = 10; using Barrier barrier = new(Threads); - Task task = Task.WhenAll(Enumerable.Range(0, Threads).Select(_ => Task.Run(WaitForBarrierThenEnumerateResources))); + Task[] tasks = Enumerable.Range(0, Threads) + .Select(_ => Task.Factory.StartNew( + WaitForBarrierThenEnumerateResources, + CancellationToken.None, + TaskCreationOptions.LongRunning, + TaskScheduler.Default)) + .ToArray(); Assert.True(task.Wait(TimeSpan.FromSeconds(30))); From 00c4106b34891fb33b084068127956c5683684e9 Mon Sep 17 00:00:00 2001 From: Buyaa Namnan Date: Tue, 23 May 2023 19:39:28 -0700 Subject: [PATCH 2/2] Fix build failure --- .../tests/BinaryResourceWriterUnitTest.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs b/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs index 804ed248019a5e..848d5a9abcf6ed 100644 --- a/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs +++ b/src/libraries/System.Resources.Extensions/tests/BinaryResourceWriterUnitTest.cs @@ -534,7 +534,7 @@ public static void TestResourceManagerIsSafeForConcurrentAccessAndEnumeration(bo TaskScheduler.Default)) .ToArray(); - Assert.True(task.Wait(TimeSpan.FromSeconds(30))); + Assert.True(Task.WaitAll(tasks, TimeSpan.FromSeconds(30))); void WaitForBarrierThenEnumerateResources() {