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}"); }
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\""); }
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)}"); } }
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)}\""); }
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)}"); }
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}\""); }
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))))); }
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}\""); }
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}\""); }