static async Task <ActiveRunner[]> InitializeRunners(RunDescriptor runDescriptor, List <EndpointBehavior> endpointBehaviors) { var routingTable = CreateRoutingTable(endpointBehaviors); var runnerInitializations = endpointBehaviors.Select(async endpointBehavior => { var endpointName = GetEndpointNameForRun(endpointBehavior); if (endpointName.Length > 77) { throw new Exception($"Endpoint name '{endpointName}' is larger than 77 characters and will cause issues with MSMQ queue names. Rename the test class or endpoint."); } var runner = new ActiveRunner { Instance = new EndpointRunner(), EndpointName = endpointName }; try { await runner.Instance.Initialize(runDescriptor, endpointBehavior, routingTable, endpointName).ConfigureAwait(false); } catch (Exception) { Console.WriteLine($"Endpoint {runner.Instance.Name()} failed to initialize"); throw; } return(runner); }); try { var x = await Task.WhenAll(runnerInitializations).ConfigureAwait(false); return(x); } catch (Exception e) { Console.WriteLine(e); throw; } }
static async Task<ActiveRunner[]> InitializeRunners(RunDescriptor runDescriptor, List<EndpointBehavior> endpointBehaviors) { var routingTable = CreateRoutingTable(endpointBehaviors); var runnerInitializations = endpointBehaviors.Select(async endpointBehavior => { var endpointName = GetEndpointNameForRun(endpointBehavior); if (endpointName.Length > 77) { throw new Exception($"Endpoint name '{endpointName}' is larger than 77 characters and will cause issues with MSMQ queue names. Rename the test class or endpoint."); } var runner = new ActiveRunner { Instance = new EndpointRunner(), EndpointName = endpointName }; try { await runner.Instance.Initialize(runDescriptor, endpointBehavior, routingTable, endpointName).ConfigureAwait(false); } catch (Exception) { Console.WriteLine($"Endpoint {runner.Instance.Name()} failed to initialize"); throw; } return runner; }); try { var x = await Task.WhenAll(runnerInitializations).ConfigureAwait(false); return x; } catch (Exception e) { Console.WriteLine(e); throw; } }