コード例 #1
0
ファイル: FileLogger_Tests.cs プロジェクト: ststeiger/msbuild
        public void DistributedLoggerBadPath()
        {
            Assert.Throws <LoggerException>(() =>
            {
                DistributedFileLogger fileLogger = new DistributedFileLogger();
                fileLogger.NodeId = 0;
                fileLogger.Initialize(new EventSourceSink());

                fileLogger.NodeId     = 1;
                fileLogger.Parameters = "logfile="
                                        + Path.Combine(
                    Directory.GetCurrentDirectory(),
                    Path.DirectorySeparatorChar + "DONTEXIST" + Path.DirectorySeparatorChar
                    + "mylogfile.log");

                fileLogger.Initialize(new EventSourceSink());
                Assert.True(
                    string.Compare(
                        fileLogger.InternalFilelogger.Parameters,
                        ";ShowCommandLine;logfile="
                        + Path.Combine(
                            Directory.GetCurrentDirectory(),
                            Path.DirectorySeparatorChar + "DONTEXIST" + Path.DirectorySeparatorChar + "mylogfile2.log"),
                        StringComparison.OrdinalIgnoreCase) == 0);
            }
                                            );
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: FileLogger_Tests.cs プロジェクト: zhuweijia/msbuild
        public void DistributedLoggerNullEmpty()
        {
            DistributedFileLogger fileLogger = new DistributedFileLogger();

            fileLogger.NodeId = 0;
            fileLogger.Initialize(new EventSourceSink());

            fileLogger.NodeId     = 1;
            fileLogger.Parameters = "logfile=";
            fileLogger.Initialize(new EventSourceSink());
            Assert.Fail();
        }
コード例 #4
0
ファイル: FileLogger_Tests.cs プロジェクト: zhuweijia/msbuild
        public void DistributedLoggerBadPath()
        {
            DistributedFileLogger fileLogger = new DistributedFileLogger();

            fileLogger.NodeId = 0;
            fileLogger.Initialize(new EventSourceSink());

            fileLogger.NodeId     = 1;
            fileLogger.Parameters = "logfile=" + Path.Combine(Environment.CurrentDirectory, "\\DONTEXIST\\mylogfile.log");
            fileLogger.Initialize(new EventSourceSink());
            Assert.IsTrue(string.Compare(fileLogger.InternalFilelogger.Parameters, ";ShowCommandLine;logfile=" + Path.Combine(Environment.CurrentDirectory, "\\DONTEXIST\\mylogfile2.log"), StringComparison.OrdinalIgnoreCase) == 0);
        }
コード例 #5
0
ファイル: FileLogger_Tests.cs プロジェクト: Nirmal4G/msbuild
        public void DistributedLoggerNullEmpty()
        {
            Assert.Throws <LoggerException>(() =>
            {
                DistributedFileLogger fileLogger = new DistributedFileLogger();
                fileLogger.NodeId = 0;
                fileLogger.Initialize(new EventSourceSink());

                fileLogger.NodeId     = 1;
                fileLogger.Parameters = "logfile=";
                fileLogger.Initialize(new EventSourceSink());
                Assert.True(false);
            }
                                            );
        }
コード例 #6
0
ファイル: FileLogger_Tests.cs プロジェクト: zhuweijia/msbuild
        public void DistributedFileLoggerParameters()
        {
            DistributedFileLogger fileLogger = new DistributedFileLogger();

            try
            {
                fileLogger.NodeId = 0;
                fileLogger.Initialize(new EventSourceSink());
                Assert.IsTrue(string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=msbuild0.log;", StringComparison.OrdinalIgnoreCase) == 0);
                fileLogger.Shutdown();

                fileLogger.NodeId     = 3;
                fileLogger.Parameters = "logfile=" + Path.Combine(Environment.CurrentDirectory, "mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.IsTrue(string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Environment.CurrentDirectory, "mylogfile3.log") + ";", StringComparison.OrdinalIgnoreCase) == 0);
                fileLogger.Shutdown();

                fileLogger.NodeId     = 4;
                fileLogger.Parameters = "logfile=" + Path.Combine(Environment.CurrentDirectory, "mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.IsTrue(string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Environment.CurrentDirectory, "mylogfile4.log") + ";", StringComparison.OrdinalIgnoreCase) == 0);
                fileLogger.Shutdown();

                Directory.CreateDirectory(Path.Combine(Environment.CurrentDirectory, "tempura"));
                fileLogger.NodeId     = 1;
                fileLogger.Parameters = "logfile=" + Path.Combine(Environment.CurrentDirectory, "tempura\\mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.IsTrue(string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Environment.CurrentDirectory, "tempura\\mylogfile1.log") + ";", StringComparison.OrdinalIgnoreCase) == 0);
                fileLogger.Shutdown();
            }
            finally
            {
                if (Directory.Exists(Path.Combine(Environment.CurrentDirectory, "tempura")))
                {
                    File.Delete(Path.Combine(Environment.CurrentDirectory, "tempura\\mylogfile1.log"));
                    Directory.Delete(Path.Combine(Environment.CurrentDirectory, "tempura"));
                }
                File.Delete(Path.Combine(Environment.CurrentDirectory, "mylogfile0.log"));
                File.Delete(Path.Combine(Environment.CurrentDirectory, "mylogfile3.log"));
                File.Delete(Path.Combine(Environment.CurrentDirectory, "mylogfile4.log"));
            }
        }
コード例 #7
0
ファイル: FileLogger_Tests.cs プロジェクト: Nirmal4G/msbuild
        public void DistributedFileLoggerParameters()
        {
            DistributedFileLogger fileLogger = new DistributedFileLogger();

            try
            {
                fileLogger.NodeId = 0;
                fileLogger.Initialize(new EventSourceSink());
                Assert.Equal(0, string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=msbuild0.log;", StringComparison.OrdinalIgnoreCase));
                fileLogger.Shutdown();

                fileLogger.NodeId     = 3;
                fileLogger.Parameters = "logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.Equal(0, string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "mylogfile3.log") + ";", StringComparison.OrdinalIgnoreCase));
                fileLogger.Shutdown();

                fileLogger.NodeId     = 4;
                fileLogger.Parameters = "logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.Equal(0, string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "mylogfile4.log") + ";", StringComparison.OrdinalIgnoreCase));
                fileLogger.Shutdown();

                Directory.CreateDirectory(Path.Combine(Directory.GetCurrentDirectory(), "tempura"));
                fileLogger.NodeId     = 1;
                fileLogger.Parameters = "logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "tempura", "mylogfile.log");
                fileLogger.Initialize(new EventSourceSink());
                Assert.Equal(0, string.Compare(fileLogger.InternalFilelogger.Parameters, "ForceNoAlign;ShowEventId;ShowCommandLine;logfile=" + Path.Combine(Directory.GetCurrentDirectory(), "tempura", "mylogfile1.log") + ";", StringComparison.OrdinalIgnoreCase));
                fileLogger.Shutdown();
            }
            finally
            {
                if (Directory.Exists(Path.Combine(Directory.GetCurrentDirectory(), "tempura")))
                {
                    File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "tempura", "mylogfile1.log"));
                    FileUtilities.DeleteWithoutTrailingBackslash(Path.Combine(Directory.GetCurrentDirectory(), "tempura"));
                }
                File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "mylogfile0.log"));
                File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "mylogfile3.log"));
                File.Delete(Path.Combine(Directory.GetCurrentDirectory(), "mylogfile4.log"));
            }
        }