public void Should_Not_Append_SummaryOutputLevel_If_Default() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { SummaryOutputLevel = MSBuildLoggerOutputLevel.Default }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild", result.Args); }
public void Should_Append_HideItemAndPropertyList_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { HideItemAndPropertyList = true }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:NoItemAndPropertyList", result.Args); }
public void Should_Append_PerformanceSummary_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { PerformanceSummary = true }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:PerformanceSummary", result.Args); }
public void Should_Append_SummaryOutputLevel_If_Specified(MSBuildLoggerOutputLevel outputLevel) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { SummaryOutputLevel = outputLevel }); // When var result = fixture.Run(); // Then Assert.Equal($"msbuild /fileLogger /fileloggerparameters:{outputLevel}", result.Args); }
public void Should_Throw_If_Logger_Has_No_Assembly_Value(string loggerAssembly) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.Loggers.Add(new MSBuildLogger { Assembly = loggerAssembly }); // When var result = Record.Exception(() => fixture.Run()); // Then AssertEx.IsArgumentNullException(result, "Assembly"); }
public void Should_Append_LogFile_If_Empty() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { LogFile = string.Empty }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:LogFile=\"\"", result.Args); }
public void Should_Add_FileLogger_Arguments() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { AppendToLogFile = false, PerformanceSummary = true, Verbosity = DotNetCoreVerbosity.Diagnostic }); // When var result = fixture.Run(); // Then Assert.Equal(@"msbuild /fileLogger /fileloggerparameters:PerformanceSummary;Verbosity=Diagnostic", result.Args); }
public void Should_Add_Logger_Argument() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.Loggers.Add(new MSBuildLogger { Assembly = "A" }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /logger:\"A\"", result.Args); }
public void Should_Throw_If_ToolVersion_Is_Invalid(int toolVersion) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.ToolVersion = (MSBuildVersion)toolVersion; // When var result = Record.Exception(() => fixture.Run()); // Then Assert.IsType <ArgumentOutOfRangeException>(result); Assert.Equal("toolVersion", ((ArgumentOutOfRangeException)result)?.ParamName); Assert.Equal(toolVersion, (int)((ArgumentOutOfRangeException)result)?.ActualValue); }
public void Should_Throw_If_Settings_Are_Null() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Project = "./src/*"; fixture.Settings = null; fixture.GivenDefaultToolDoNotExist(); // When var result = Record.Exception(() => fixture.Run()); // Then AssertEx.IsArgumentNullException(result, "settings"); }
public void Should_Append_Verbosity_If_Specified(DotNetCoreVerbosity verbosity) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { Verbosity = verbosity }); // When var result = fixture.Run(); // Then Assert.Equal($"msbuild /fileLogger /fileloggerparameters:Verbosity={verbosity}", result.Args); }
public void Should_Append_DisableMultiprocessorLogging_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { DisableMultiprocessorLogging = true }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:DisableMPLogging", result.Args); }
public void Should_Append_ForceNoAlign_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { ForceNoAlign = true }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:ForceNoAlign", result.Args); }
public void Should_Append_ForceConsoleColor_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { ConsoleColorType = MSBuildConsoleColorType.ForceAnsi }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:ForceConsoleColor", result.Args); }
public void Should_Append_DisableConsoleColor_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.ConsoleLoggerSettings = new MSBuildLoggerSettings { ConsoleColorType = MSBuildConsoleColorType.Disabled }; // When var result = fixture.Run(); // Then Assert.Equal("msbuild /consoleloggerparameters:DisableConsoleColor", result.Args); }
public void Should_Append_LogFile_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { LogFile = "msbuild.log" }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /fileLogger /fileloggerparameters:LogFile=\"/Working/msbuild.log\"", result.Args); }
public void Should_Throw_If_Process_Has_A_Non_Zero_Exit_Code() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture() { Project = "./src/*" }; fixture.GivenProcessExitsWithCode(1); // When var result = Record.Exception(() => fixture.Run()); // Then AssertEx.IsCakeException(result, ".NET Core CLI: Process returned an error (exit code 1)."); }
public void Should_Append_ShowEventId_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.ConsoleLoggerSettings = new MSBuildLoggerSettings { ShowEventId = true }; // When var result = fixture.Run(); // Then Assert.Equal("msbuild /consoleloggerparameters:ShowEventId", result.Args); }
public void Should_Append_FileEncoding_If_Specified() { // Given const string fileEncoding = "UTF8"; var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings { FileEncoding = fileEncoding }); // When var result = fixture.Run(); // Then Assert.Equal($"msbuild /fileLogger /fileloggerparameters:Encoding={fileEncoding}", result.Args); }
public void Should_Throw_If_Process_Was_Not_Started() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture() { Project = "./src/*", Settings = new DotNetCoreMSBuildSettings() }; fixture.GivenProcessCannotStart(); // When var result = Record.Exception(() => fixture.Run()); // Then AssertEx.IsCakeException(result, ".NET Core CLI: Process was not started."); }
public void Should_Add_WarnAsMessage_Argument(MSBuildTreatAllWarningsAs treatAllWarningsAs, string[] errorCodes, string expectedValue) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.TreatAllWarningsAs = treatAllWarningsAs; foreach (var errorCode in errorCodes) { fixture.Settings.WarningCodesAsMessage.Add(errorCode); } // When var result = fixture.Run(); // Then Assert.Equal($"msbuild /warnasmessage{expectedValue}", result.Args); }
public void Should_Add_ConsoleLoggerParameters_If_Specified() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.ConsoleLoggerSettings = new MSBuildLoggerSettings { PerformanceSummary = true, SummaryOutputLevel = MSBuildLoggerOutputLevel.ErrorsOnly, Verbosity = DotNetCoreVerbosity.Diagnostic }; // When var result = fixture.Run(); // Then Assert.Equal("msbuild /consoleloggerparameters:PerformanceSummary;ErrorsOnly;Verbosity=Diagnostic", result.Args); }
public void Should_Append_Binary_Logging_If_Specified(bool enabled, string fileName, MSBuildBinaryLoggerImports imports, string args) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.BinaryLogger = new MSBuildBinaryLoggerSettings { Enabled = enabled, FileName = fileName, Imports = imports }; // When var result = fixture.Run(); // Then Assert.Equal(args, result.Args); }
public void Should_Add_Multiple_Logger_Arguments_When_Multiple_Values() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.Loggers.Add(new MSBuildLogger { Assembly = "A" }); fixture.Settings.Loggers.Add(new MSBuildLogger { Class = "C", Assembly = "B" }); fixture.Settings.Loggers.Add(new MSBuildLogger { Class = "E", Assembly = "F", Parameters = "g" }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /logger:\"A\" /logger:C,B /logger:E,F;g", result.Args); }
public void Should_Throw_If_DistributedLogger_Has_No_Assembly_Value(string centralLoggerAssembly, string forwardingLoggerAssembly) { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.DistributedLoggers.Add(new MSBuildDistributedLogger { CentralLogger = new MSBuildLogger { Assembly = centralLoggerAssembly }, ForwardingLogger = new MSBuildLogger { Assembly = forwardingLoggerAssembly } }); // When var result = Record.Exception(() => fixture.Run()); // Then AssertEx.IsArgumentNullException(result, "Assembly"); }
public void Should_Add_DistributedLogger_Argument() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.DistributedLoggers.Add(new MSBuildDistributedLogger { CentralLogger = new MSBuildLogger { Assembly = "A" }, ForwardingLogger = new MSBuildLogger { Assembly = "B" } }); // When var result = fixture.Run(); // Then Assert.Equal("msbuild /distributedlogger:\"A\"*\"B\"", result.Args); }
public void Should_Throw_Exception_For_Too_Many_FileLoggers() { // Given var fixture = new DotNetCoreMSBuildBuilderFixture(); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); fixture.Settings.FileLoggers.Add(new MSBuildFileLoggerSettings()); // When var ex = Assert.Throws <InvalidOperationException>(() => fixture.Run()); // Then Assert.Equal(@"Too Many FileLoggers", ex.Message); }