Exemplo n.º 1
0
        protected LoggingTestBase(ITestOutputHelper xUnitOutputHelper, string derivedClassName = null)
        {
            XunitOutputHelper = xUnitOutputHelper;

            var sinkWriters = new List <ILineWriter>();

            var testId = TestIdCounter.Increment();

            var config = TestingConfig.ReadFromFromEnvVars(xUnitOutputHelper);

            if (config.LogToSysDiagTraceEnabled)
            {
                sinkWriters.Add(new SystemDiagnosticsTraceLineWriter(string.Format(config.LogToSysDiagTraceLinePrefix, testId)));
            }

            if (config.LogToConsoleEnabled)
            {
                sinkWriters.Add(new SystemDiagnosticsTraceLineWriter(string.Format(config.LogToConsoleLinePrefix, testId)));
            }

            LoggerForNonXunitSinks = new LineWriterToLoggerAdaptor(new SplittingLineWriter(sinkWriters.ToArray()), config.LogLevel);
            if (derivedClassName != null)
            {
                LoggerForNonXunitSinks = LoggerForNonXunitSinks.Scoped(derivedClassName);
            }
            TestDisplayName = GetTestDisplayName(xUnitOutputHelper);
            LoggerForNonXunitSinks.Info()?.Log("Starting test: {UnitTestDisplayName}", TestDisplayName);

            sinkWriters.Add(new XunitOutputToLineWriterAdaptor(xUnitOutputHelper));
            Logger = new LineWriterToLoggerAdaptor(new SplittingLineWriter(sinkWriters.ToArray()), config.LogLevel);
            if (derivedClassName != null)
            {
                Logger = Logger.Scoped(derivedClassName);
            }
        }
Exemplo n.º 2
0
        private static (int, string) GetSeed(int?seedArg, ITestOutputHelper xUnitOutputHelper)
        {
            if (seedArg.HasValue)
            {
                return(seedArg.Value, "passed as argument");
            }

            var config = TestingConfig.ReadFromFromEnvVars(xUnitOutputHelper);

            // ReSharper disable once ConvertIfStatementToReturnStatement
            if (config.RandomSeed.HasValue)
            {
                return(config.RandomSeed.Value, "configured via environment variables");
            }

            return(new Random().Next(), "randomly generated");
        }
Exemplo n.º 3
0
        protected LoggingTestBase(ITestOutputHelper xUnitOutputHelper)
        {
            TestOutputHelper = xUnitOutputHelper;
            CurrentXunitTest = GetCurrentXunitTest(xUnitOutputHelper);

            var lineWriters = new List <ILineWriter>();

            var testId = TestIdCounter.Increment();

            var config = TestingConfig.ReadFromFromEnvVars(xUnitOutputHelper);

            if (config.LogToSysDiagTraceEnabled)
            {
                lineWriters.Add(new SystemDiagnosticsTraceLineWriter(string.Format(config.LogToSysDiagTraceLinePrefix, testId)));
            }

            if (config.LogToConsoleEnabled)
            {
                lineWriters.Add(new FlushingTextWriterToLineWriterAdaptor(Console.Out, string.Format(config.LogToConsoleLinePrefix, testId)));
            }

            var writerForStartFinish = lineWriters.ToArray();

            if (config.LogToXunitEnabled)
            {
                lineWriters.Add(new XunitOutputToLineWriterAdaptor(xUnitOutputHelper, string.Format(config.LogToXunitLinePrefix, testId)));
                if (!TestingConfig.IsRunningInIde)
                {
                    writerForStartFinish = lineWriters.ToArray();
                }
            }

            _loggerForStartFinish = new LineWriterToLoggerAdaptor(new SplittingLineWriter(writerForStartFinish), config.LogLevel);

            LogProgress("Starting test: {UnitTestDisplayName}...");

            LoggerBase = new LineWriterToLoggerAdaptor(new SplittingLineWriter(lineWriters.ToArray()), config.LogLevel);
        }