private void RunTestsSequentially(ITestEventListener listener, TestFilter filter, List <TestEngineResult> results, bool disposeRunners) { foreach (ITestEngineRunner runner in Runners) { var task = new TestExecutionTask(runner, listener, filter, disposeRunners); task.Execute(); LogResultsFromTask(task, results); } }
private static void LogResultsFromTask(TestExecutionTask task, List <TestEngineResult> results) { var result = task.Result; if (result != null) { results.Add(result); } //if (task.UnloadException != null) //{ // unloadExceptions.Add(task.UnloadException); //} }
private void RunTestsInParallel(ITestEventListener listener, TestFilter filter, List <TestEngineResult> results, bool disposeRunners) { var workerPool = new ParallelTaskWorkerPool(LevelOfParallelism); var tasks = new List <TestExecutionTask>(); foreach (ITestEngineRunner runner in Runners) { var task = new TestExecutionTask(runner, listener, filter, disposeRunners); tasks.Add(task); workerPool.Enqueue(task); } workerPool.Start(); workerPool.WaitAll(); foreach (var task in tasks) { LogResultsFromTask(task, results); } }