public void RegisterGoodDistributedAndCentralLogger() { string configurableClassName = "Microsoft.Build.Logging.ConfigurableForwardingLogger"; string distributedClassName = "Microsoft.Build.Logging.DistributedFileLogger"; LoggerDescription configurableDescription = CreateLoggerDescription(configurableClassName, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, true); LoggerDescription distributedDescription = CreateLoggerDescription(distributedClassName, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, true); DistributedFileLogger fileLogger = new DistributedFileLogger(); RegularILogger regularILogger = new RegularILogger(); Assert.True(_initializedService.RegisterDistributedLogger(regularILogger, configurableDescription)); Assert.True(_initializedService.RegisterDistributedLogger(null, distributedDescription)); Assert.NotNull(_initializedService.RegisteredLoggerTypeNames); // Should have 2 central loggers and 2 forwarding logger Assert.Equal(4, _initializedService.RegisteredLoggerTypeNames.Count); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConfigurableForwardingLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.DistributedFileLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.NullCentralLogger")); // Should have 2 event sink Assert.NotNull(_initializedService.RegisteredSinkNames); Assert.Equal(2, _initializedService.RegisteredSinkNames.Count); Assert.Equal(2, _initializedService.LoggerDescriptions.Count); }
public void RegisterDuplicateForwardingLoggerLogger() { string className = "Microsoft.Build.Logging.ConfigurableForwardingLogger"; LoggerDescription description = CreateLoggerDescription(className, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, true); RegularILogger regularILogger = new RegularILogger(); Assert.True(_initializedService.RegisterDistributedLogger(regularILogger, description)); Assert.True(_initializedService.RegisterDistributedLogger(null, description)); Assert.Equal(4, _initializedService.RegisteredLoggerTypeNames.Count); // Verify there are two versions in the type names, one for each description int countForwardingLogger = 0; foreach (string loggerName in _initializedService.RegisteredLoggerTypeNames) { if (String.Compare("Microsoft.Build.Logging.ConfigurableForwardingLogger", loggerName, StringComparison.OrdinalIgnoreCase) == 0) { countForwardingLogger++; } } Assert.Equal(2, countForwardingLogger); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.NullCentralLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); // Should have 2 sink Assert.NotNull(_initializedService.RegisteredSinkNames); Assert.Equal(2, _initializedService.RegisteredSinkNames.Count); Assert.Equal(2, _initializedService.LoggerDescriptions.Count); }
public void RegisterLoggerServiceShutdown() { _initializedService.ShutdownComponent(); RegularILogger regularILogger = new RegularILogger(); _initializedService.RegisterLogger(regularILogger); }
public void RegisterLoggerServiceShutdown() { Assert.Throws <InternalErrorException>(() => { _initializedService.ShutdownComponent(); RegularILogger regularILogger = new RegularILogger(); _initializedService.RegisterLogger(regularILogger); } ); }
public void RegisterILoggerAndINodeLoggerGood() { ConsoleLogger consoleLogger = new ConsoleLogger(); RegularILogger regularILogger = new RegularILogger(); Assert.True(_initializedService.RegisterLogger(consoleLogger)); Assert.True(_initializedService.RegisterLogger(regularILogger)); Assert.NotNull(_initializedService.RegisteredLoggerTypeNames); // Should have 2 central loggers and 1 forwarding logger Assert.Equal(3, _initializedService.RegisteredLoggerTypeNames.Count); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.CentralForwardingLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConsoleLogger")); // Should have 1 event sink Assert.NotNull(_initializedService.RegisteredSinkNames); Assert.Equal(1, _initializedService.RegisteredSinkNames.Count); }
public void RegisterDuplicateDistributedCentralLogger() { string className = "Microsoft.Build.Logging.ConfigurableForwardingLogger"; LoggerDescription description = CreateLoggerDescription(className, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, true); RegularILogger regularILogger = new RegularILogger(); Assert.True(_initializedService.RegisterDistributedLogger(regularILogger, description)); Assert.False(_initializedService.RegisterDistributedLogger(regularILogger, description)); // Should have 2 central loggers and 1 forwarding logger Assert.Equal(2, _initializedService.RegisteredLoggerTypeNames.Count); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConfigurableForwardingLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); // Should have 1 sink Assert.NotNull(_initializedService.RegisteredSinkNames); Assert.Equal(1, _initializedService.RegisteredSinkNames.Count); Assert.Equal(1, _initializedService.LoggerDescriptions.Count); }
public void RegisterDuplicateLogger() { ConsoleLogger consoleLogger = new ConsoleLogger(); RegularILogger regularILogger = new RegularILogger(); Assert.IsTrue(_initializedService.RegisterLogger(consoleLogger)); Assert.IsFalse(_initializedService.RegisterLogger(consoleLogger)); Assert.IsTrue(_initializedService.RegisterLogger(regularILogger)); Assert.IsFalse(_initializedService.RegisterLogger(regularILogger)); Assert.IsNotNull(_initializedService.RegisteredLoggerTypeNames); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Count == 3); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.CentralForwardingLogger")); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConsoleLogger")); // Should have 1 event sink Assert.IsNotNull(_initializedService.RegisteredSinkNames); Assert.IsTrue(_initializedService.RegisteredSinkNames.Count == 1); }
public void RegisterGoodDistributedAndCentralLoggerTestBuildStartedFinished() { string configurableClassNameA = "Microsoft.Build.Logging.ConfigurableForwardingLogger"; string configurableClassNameB = "Microsoft.Build.Logging.ConfigurableForwardingLogger"; LoggerDescription configurableDescriptionA = CreateLoggerDescription(configurableClassNameA, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, true); LoggerDescription configurableDescriptionB = CreateLoggerDescription(configurableClassNameB, Assembly.GetAssembly(typeof(ProjectCollection)).FullName, false); RegularILogger regularILoggerA = new RegularILogger(); RegularILogger regularILoggerB = new RegularILogger(); RegularILogger regularILoggerC = new RegularILogger(); Assert.True(_initializedService.RegisterDistributedLogger(regularILoggerA, configurableDescriptionA)); Assert.True(_initializedService.RegisterDistributedLogger(regularILoggerB, configurableDescriptionB)); Assert.True(_initializedService.RegisterLogger(regularILoggerC)); Assert.NotNull(_initializedService.RegisteredLoggerTypeNames); _initializedService.LogBuildStarted(); Assert.Equal(1, regularILoggerA.BuildStartedCount); Assert.Equal(1, regularILoggerB.BuildStartedCount); Assert.Equal(1, regularILoggerC.BuildStartedCount); _initializedService.LogBuildFinished(true); Assert.Equal(1, regularILoggerA.BuildFinishedCount); Assert.Equal(1, regularILoggerB.BuildFinishedCount); Assert.Equal(1, regularILoggerC.BuildFinishedCount); // Make sure if we call build started again we only get one other build started event. _initializedService.LogBuildStarted(); Assert.Equal(2, regularILoggerA.BuildStartedCount); Assert.Equal(2, regularILoggerB.BuildStartedCount); Assert.Equal(2, regularILoggerC.BuildStartedCount); // Make sure if we call build started again we only get one other build started event. _initializedService.LogBuildFinished(true); Assert.Equal(2, regularILoggerA.BuildFinishedCount); Assert.Equal(2, regularILoggerB.BuildFinishedCount); Assert.Equal(2, regularILoggerC.BuildFinishedCount); }
public void RegisterDuplicateLogger() { ConsoleLogger consoleLogger = new ConsoleLogger(); RegularILogger regularILogger = new RegularILogger(); Assert.True(_initializedService.RegisterLogger(consoleLogger)); Assert.False(_initializedService.RegisterLogger(consoleLogger)); Assert.True(_initializedService.RegisterLogger(regularILogger)); Assert.False(_initializedService.RegisterLogger(regularILogger)); Assert.NotNull(_initializedService.RegisteredLoggerTypeNames); Assert.Equal(3, _initializedService.RegisteredLoggerTypeNames.Count); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.CentralForwardingLogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); Assert.True(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConsoleLogger")); // Should have 1 event sink Assert.NotNull(_initializedService.RegisteredSinkNames); Assert.Equal(1, _initializedService.RegisteredSinkNames.Count); }
public void RegisterLoggerServiceShutdown() { Assert.Throws<InternalErrorException>(() => { _initializedService.ShutdownComponent(); RegularILogger regularILogger = new RegularILogger(); _initializedService.RegisterLogger(regularILogger); } ); }
public void RegisterILoggerAndINodeLoggerGood() { ConsoleLogger consoleLogger = new ConsoleLogger(); RegularILogger regularILogger = new RegularILogger(); Assert.IsTrue(_initializedService.RegisterLogger(consoleLogger)); Assert.IsTrue(_initializedService.RegisterLogger(regularILogger)); Assert.IsNotNull(_initializedService.RegisteredLoggerTypeNames); // Should have 2 central loggers and 1 forwarding logger Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Count == 3); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.BackEnd.Logging.CentralForwardingLogger")); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.UnitTests.Logging.LoggingService_Tests+RegularILogger")); Assert.IsTrue(_initializedService.RegisteredLoggerTypeNames.Contains("Microsoft.Build.Logging.ConsoleLogger")); // Should have 1 event sink Assert.IsNotNull(_initializedService.RegisteredSinkNames); Assert.IsTrue(_initializedService.RegisteredSinkNames.Count == 1); }