diff --git a/tests/MongoDB.Bson.TestHelpers/Threading/TasksUtils.cs b/tests/MongoDB.Bson.TestHelpers/Threading/TasksUtils.cs index ca9676217e4..9f8fd0323c3 100644 --- a/tests/MongoDB.Bson.TestHelpers/Threading/TasksUtils.cs +++ b/tests/MongoDB.Bson.TestHelpers/Threading/TasksUtils.cs @@ -45,6 +45,15 @@ public static Task[] CreateTasksOnOwnThread(int count, Func functi new ThreadPerTaskScheduler())) .ToArray(); + public static Task[] RunTasksOnOwnThread(int count, Func taskCreator, CancellationToken cancellationToken = default) => + Enumerable.Range(0, count) + .Select(i => Task.Factory.StartNew( + () => taskCreator(i), + cancellationToken, + TaskCreationOptions.None, + new ThreadPerTaskScheduler()).Unwrap()) + .ToArray(); + public static Task[] CreateTasks(int count, Func> taskCreator) => Enumerable.Range(0, count) .Select(i => taskCreator(i)) diff --git a/tests/MongoDB.Bson.TestHelpers/Threading/ThreadingUtilities.cs b/tests/MongoDB.Bson.TestHelpers/Threading/ThreadingUtilities.cs index e774598c42b..b0b97b6b809 100644 --- a/tests/MongoDB.Bson.TestHelpers/Threading/ThreadingUtilities.cs +++ b/tests/MongoDB.Bson.TestHelpers/Threading/ThreadingUtilities.cs @@ -92,7 +92,7 @@ public static async Task ExecuteTasksOnNewThreadsCollectExceptions( var exceptions = new ConcurrentBag(); var tasksExecutingCountEvent = new CountdownEvent(threadsCount); - var allTasks = TasksUtils.CreateTasksOnOwnThread(threadsCount, async i => + var allTasks = TasksUtils.RunTasksOnOwnThread(threadsCount, async i => { try {