private static void run(OptionsXmlReader parser, PipeJunction junction) { var handles = new List <ManualResetEvent>(); foreach (var plugin in getPlugins(parser)) { foreach (var run in parser.Options.TestRuns) { foreach (var assembly in run.Assemblies) { WriteNow("Running tests for " + assembly.Assembly + " using " + plugin.Type); var pipeName = Guid.NewGuid().ToString(); junction.Combine(pipeName); var process = new SubDomainRunner(plugin, run.ID, run.Categories, assembly, _arguments.Logging, pipeName); if (_arguments.RunInParallel) { var handle = new ManualResetEvent(false); handles.Add(handle); ThreadPool.QueueUserWorkItem(process.Run, handle); } else { process.Run(null); } } } } if (_arguments.RunInParallel) { WaitHandle.WaitAll(handles.ToArray()); } }
private static void run(OptionsXmlReader parser, PipeJunction junction) { foreach (var plugin in getPlugins(parser)) { var instance = plugin.New(); foreach (var currentRuns in parser.Options.TestRuns.Where(x => x.ID.ToLower().Equals("any") || instance.Handles(x.ID))) { var run = getTestRunsFor(instance, currentRuns); if (run == null) { continue; } foreach (var assembly in run.Assemblies) { WriteNow("Running tests for " + assembly.Assembly + " using " + plugin.Type); var pipeName = Guid.NewGuid().ToString(); junction.Combine(pipeName); var process = new SubDomainRunner(plugin, run.ID, run.Categories, assembly, _arguments.Logging, pipeName, _arguments.CompatabilityMode); process.Run(null); } } } }
private static void run(OptionsXmlReader parser, PipeJunction junction) { foreach (var plugin in getPlugins(parser)) { var instance = plugin.New(); foreach (var currentRuns in parser.Options.TestRuns.Where(x => x.ID.ToLower().Equals("any") || instance.Handles(x.ID))) { var run = getTestRunsFor(instance, currentRuns); if (run == null) continue; foreach (var assembly in run.Assemblies) { WriteNow("Running tests for " + assembly.Assembly + " using " + plugin.Type); var pipeName = Guid.NewGuid().ToString(); junction.Combine(pipeName); var process = new SubDomainRunner(plugin, run.ID, run.Categories, assembly, _arguments.Logging, pipeName, _arguments.CompatabilityMode); process.Run(null); } } } }
private static void run(OptionsXmlReader parser) { var handles = new List<ManualResetEvent>(); foreach (var plugin in getPlugins(parser)) { foreach (var run in parser.Options.TestRuns) { foreach (var assembly in run.Assemblies) { WriteNow("Running tests for " + assembly.Assembly); var process = new SubDomainRunner(plugin, run.ID, run.Categories, assembly, _arguments.Logging); if (_arguments.RunInParallel) { var handle = new ManualResetEvent(false); handles.Add(handle); ThreadPool.QueueUserWorkItem(process.Run, handle); } else process.Run(null); } } } if (_arguments.RunInParallel) WaitHandle.WaitAll(handles.ToArray()); }