/// <summary> /// Initializes the runner strategy and returns a test logger /// </summary> /// <param name="runnerStrategy">The Runner strategy for the corresponding Taupo test runner</param> /// <param name="writers"> Any additional writers to add to the loggers</param> /// <returns>A test log writer to log results from this test execution</returns> public ITestLogWriter Initialize(RunnerStrategy runnerStrategy, params ITestLogWriter[] writers) { ExceptionUtilities.CheckArgumentNotNull(runnerStrategy, "runnerStrategy"); List <TextWriter> textWriters = new List <TextWriter>(); List <ITestLogWriter> testLogWriters = new List <ITestLogWriter>(); testLogWriters.AddRange(writers); string resultFileName = null; if (runnerStrategy.Parameters.TryGetValue("resultfile", out resultFileName)) { TextWriter resultsTextWriter = runnerStrategy.CreateLogTextWriter(resultFileName); textWriters.Add(resultsTextWriter); TextWriterLogWriter textWriterLog = new TextWriterLogWriter(resultsTextWriter); textWriterLog.MaxLogLevel = LogLevel.Info; testLogWriters.Add(textWriterLog); } string logFile = null; if (runnerStrategy.Parameters.TryGetValue("logFile", out logFile)) { TextWriter xmlLogWriter = runnerStrategy.CreateLogTextWriter(logFile); textWriters.Add(xmlLogWriter); var ltmLogger = new LtmXmlLogWriter(xmlLogWriter); testLogWriters.Add(ltmLogger); } string durationFile = null; if (runnerStrategy.Parameters.TryGetValue("durationFile", out durationFile)) { var durationTextWriter = runnerStrategy.CreateLogTextWriter(durationFile); textWriters.Add(durationTextWriter); var durationLogger = new DurationLogWriter(durationTextWriter); testLogWriters.Add(durationLogger); } CompositeTestLogWriter compositeTestLogWriter = new CompositeTestLogWriter(testLogWriters.ToArray()); this.compositeToTextWritersLookup.Add(compositeTestLogWriter, textWriters); return(compositeTestLogWriter); }
/// <summary> /// Initializes the runner strategy and returns a test logger /// </summary> /// <param name="runnerStrategy">The Runner strategy for the corresponding Taupo test runner</param> /// <param name="writers"> Any additional writers to add to the loggers</param> /// <returns>A test log writer to log results from this test execution</returns> public ITestLogWriter Initialize(RunnerStrategy runnerStrategy, params ITestLogWriter[] writers) { ExceptionUtilities.CheckArgumentNotNull(runnerStrategy, "runnerStrategy"); List<TextWriter> textWriters = new List<TextWriter>(); List<ITestLogWriter> testLogWriters = new List<ITestLogWriter>(); testLogWriters.AddRange(writers); string resultFileName = null; if (runnerStrategy.Parameters.TryGetValue("resultfile", out resultFileName)) { TextWriter resultsTextWriter = runnerStrategy.CreateLogTextWriter(resultFileName); textWriters.Add(resultsTextWriter); TextWriterLogWriter textWriterLog = new TextWriterLogWriter(resultsTextWriter); textWriterLog.MaxLogLevel = LogLevel.Info; testLogWriters.Add(textWriterLog); } string logFile = null; if (runnerStrategy.Parameters.TryGetValue("logFile", out logFile)) { TextWriter xmlLogWriter = runnerStrategy.CreateLogTextWriter(logFile); textWriters.Add(xmlLogWriter); var ltmLogger = new LtmXmlLogWriter(xmlLogWriter); testLogWriters.Add(ltmLogger); } string durationFile = null; if (runnerStrategy.Parameters.TryGetValue("durationFile", out durationFile)) { var durationTextWriter = runnerStrategy.CreateLogTextWriter(durationFile); textWriters.Add(durationTextWriter); var durationLogger = new DurationLogWriter(durationTextWriter); testLogWriters.Add(durationLogger); } CompositeTestLogWriter compositeTestLogWriter = new CompositeTestLogWriter(testLogWriters.ToArray()); this.compositeToTextWritersLookup.Add(compositeTestLogWriter, textWriters); return compositeTestLogWriter; }