static TestSession CreateTestSession(ConesoleConfiguration config, ISessionLogger baseLogger) { return new TestSession(CreateLogger(config, baseLogger)) { IncludeSuite = config.IncludeSuite, ShouldSkipTest = x => !config.IncludeTest(x) }; }
static ISessionLogger CreateLogger(ConesoleConfiguration config, ISessionLogger baseLogger) { var loggers = new List<ISessionLogger> { baseLogger }; if (config.XmlConsole) { loggers.Add(new XmlSessionLogger(new XmlTextWriter(Console.Out){ Formatting = Formatting.Indented })); } else if(config.TeamCityOutput) loggers.Add(new TeamCityLogger(Console.Out)); else { var settings = new ConsoleLoggerSettings { Verbosity = config.Verbosity, SuccessColor = config.IsDryRun ? ConsoleColor.DarkGreen : ConsoleColor.Green, Multicore = config.Multicore, ShowTimings = config.ShowTimings, }; loggers.Add(new ConsoleSessionLogger(settings)); } if (config.XmlOutput.IsSomething) { loggers.Add(CreateXmlLogger(config.XmlOutput.Value)); } return loggers.Count == 1 ? loggers[0] : new MulticastSessionLogger(loggers); }
public static ConesoleConfiguration Parse(params string[] args) { var result = new ConesoleConfiguration(); foreach(var item in args) result.ParseOption(item); if(result.testFilter == null) result.testFilter = _ => true; if(result.suiteFilter == null) result.suiteFilter = _ => true; return result; }
public static ConesoleConfiguration Parse(params string[] args) { var result = new ConesoleConfiguration(); var paths = new List<string>(); foreach(var item in args) { if(!IsOption(item)) paths.Add(Path.GetFullPath(item)); else result.ParseOption(item); } result.AssemblyPaths = paths.ToArray(); return result; }