コード例 #1
0
        public void ConsoleLoggerParametersSingleOption(bool useShortSwitchNames)
        {
            const MSBuildLoggerOptions options = MSBuildLoggerOptions.ErrorsOnly;

            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments
            {
                ConsoleLoggerParameters = new MSBuildConsoleLoggerParameters
                {
                    Options = options
                }
            };

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}:{options}");
        }
コード例 #2
0
        public void ConsoleLoggerParametersMultipleOptions(bool useShortSwitchNames)
        {
            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments
            {
                ConsoleLoggerParameters = new MSBuildConsoleLoggerParameters
                {
                    Options = MSBuildLoggerOptions.ErrorsOnly
                              | MSBuildLoggerOptions.DisableMPLogging
                              | MSBuildLoggerOptions.ShowCommandLine
                }
            };

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}:\"ErrorsOnly;ShowCommandLine;DisableMPLogging\"");
        }
コード例 #3
0
        public void ConsoleLoggerParametersVerbosity(bool useShortSwitchNames)
        {
            foreach (LoggerVerbosity verbosity in Enum.GetValues(typeof(LoggerVerbosity)).Cast <LoggerVerbosity>())
            {
                MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments
                {
                    ConsoleLoggerParameters = new MSBuildConsoleLoggerParameters
                    {
                        Verbosity = verbosity
                    }
                };

                commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}:{GetVerbositySwitch(verbosity, useShortSwitchNames)}");
            }
        }
コード例 #4
0
        public void ConsoleLoggerParametersOptionsAndVerbosity(bool useShortSwitchNames)
        {
            const LoggerVerbosity expectedVerbosity = LoggerVerbosity.Diagnostic;

            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments
            {
                ConsoleLoggerParameters = new MSBuildConsoleLoggerParameters
                {
                    Options = MSBuildLoggerOptions.ForceConsoleColor
                              | MSBuildLoggerOptions.ForceNoAlign
                              | MSBuildLoggerOptions.ShowEventId,
                    Verbosity = expectedVerbosity
                }
            };

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}:\"ShowEventId;ForceNoAlign;ForceConsoleColor;{GetVerbositySwitch(expectedVerbosity, useShortSwitchNames)}\"");
        }
コード例 #5
0
        public void TargetMultiple(bool useShortSwitchNames)
        {
            var targets = new List <string>
            {
                "Test1",
                "test2",
                "Test3"
            };

            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments();

            foreach (var target in targets)
            {
                commandLineArguments.Targets.Add(target);
            }

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}:{String.Join(";", targets)}");
        }
コード例 #6
0
        public void FileLoggerMultiple(bool useShortSwitchNames)
        {
            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments();

            commandLineArguments.FileLoggers.Add(new MSBuildFileLoggerParameters
            {
                LogFile = "warnings.log",
                Options = MSBuildLoggerOptions.WarningsOnly,
            });

            commandLineArguments.FileLoggers.Add(new MSBuildFileLoggerParameters
            {
                LogFile = "errors.log",
                Options = MSBuildLoggerOptions.ErrorsOnly,
            });

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"/{GetSwitchName(useShortSwitchNames)}0 /{GetSecondarySwitchName(useShortSwitchNames)}0:\"LogFile={commandLineArguments.FileLoggers[0].LogFile};{commandLineArguments.FileLoggers[0].Options}\" /{GetSwitchName(useShortSwitchNames)}1 /{GetSecondarySwitchName(useShortSwitchNames)}1:\"LogFile={commandLineArguments.FileLoggers[1].LogFile};{commandLineArguments.FileLoggers[1].Options}\"");
        }
コード例 #7
0
        public void PropertyMultiple(bool useShortSwitchNames)
        {
            IDictionary <string, string> properties = new Dictionary <string, string>
            {
                { "Property1", "Test" },
                { "Property2", "\"This is a test\"" },
                { "Property3", "Quote \"\" in the middle" }
            };

            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments();

            foreach (var item in properties)
            {
                commandLineArguments.Properties.Add(item.Key, item.Value);
            }

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe(String.Join(" ", properties.Select(i => String.Format("/{3}:{1}{0}={2}{1}", i.Key, i.Value.Contains("\"") ? "\"" : String.Empty, i.Value.Replace("\"", "\\\""), GetSwitchName(useShortSwitchNames)))));
        }
コード例 #8
0
        public void LoggerParametersMultipleTest(bool useShortSwitchNames)
        {
            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments();

            commandLineArguments.Loggers.Add(new MSBuildLoggerParameters
            {
                Assembly   = "MyLogger,Version=1.0.2,Culture=neutral",
                ClassName  = "XMLLogger",
                Parameters = "1 2 3",
            });

            commandLineArguments.Loggers.Add(new MSBuildLoggerParameters
            {
                Assembly  = "CustomLogger",
                ClassName = "LoggerA",
            });

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"\"/{GetSwitchName(useShortSwitchNames)}:{commandLineArguments.Loggers.First().ClassName},{commandLineArguments.Loggers.First().Assembly};{commandLineArguments.Loggers.First().Parameters}\" \"/{GetSwitchName(useShortSwitchNames)}:{commandLineArguments.Loggers.Last().ClassName},{commandLineArguments.Loggers.Last().Assembly}\"");
        }
コード例 #9
0
        public void LoggerParametersSingleTest(bool useShortSwitchNames)
        {
            MSBuildCommandLineArguments commandLineArguments = new MSBuildCommandLineArguments();

            commandLineArguments.DistributedLoggers.Add(new MSBuildDistributedLoggerParameters
            {
                CentralLogger = new MSBuildLoggerParameters
                {
                    Assembly   = "MyLogger,Version=1.0.2,Culture=neutral",
                    ClassName  = "XMLLogger",
                    Parameters = "1 2 3",
                },
                ForwardingLogger = new MSBuildLoggerParameters
                {
                    Assembly  = "ForwardingLogger,Version=1.0,Culture=neutral",
                    ClassName = "XMLLogger",
                }
            });

            commandLineArguments.ToString(useShortSwitchNames: useShortSwitchNames).ShouldBe($"\"/{GetSwitchName(useShortSwitchNames)}:{commandLineArguments.DistributedLoggers.First().CentralLogger.ClassName},{commandLineArguments.DistributedLoggers.First().CentralLogger.Assembly};{commandLineArguments.DistributedLoggers.First().CentralLogger.Parameters}*{commandLineArguments.DistributedLoggers.First().ForwardingLogger.ClassName},{commandLineArguments.DistributedLoggers.First().ForwardingLogger.Assembly}\"");
        }