public static void SetsResponseFile() { // arrange var msbuild = new Derived { ResponseFile = "foo.rsp", }; var expectedArgs = "@foo.rsp"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsPreprocess(string preprocess, string expectedArgs) { // arrange var msbuild = new Derived { Preprocess = preprocess, }; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsProperties() { // arrange var msbuild = new Derived { Properties = new { Configuration = "Release", WarningLevel = 2, }, }; var expectedArgs = "/property:Configuration=Release /property:WarningLevel=2"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsVersion() { // arrange var msbuild = new Derived { Version = true, }; var expectedArgs = "/version"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void GivesHintsForSupportedVisualStudioVersions(string version) { // arrange var msbuild = new Derived { MSBuildVersion = version, }; // act var ex = Record.Exception(() => msbuild.GetStartInfoPublic()); // assert ex.Should().BeOfType<InvalidOperationException>(); ex.Message.Should().ContainEquivalentOf("MSBuild 2.0 (Visual Studio 2005) or later"); }
public static void SetsToolsVersion() { // arrange var msbuild = new Derived { ToolsVersion = "3.5" }; var expectedArgs = "/toolsversion:3.5"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsValidate(string validate, string expectedArgs) { // arrange var msbuild = new Derived { Validate = validate, }; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsIgnoreProjectExtensions() { // arrange var msbuild = new Derived { IgnoreProjectExtensions = new[] { ".vcproj", ".sln" }, }; var expectedArgs = "/ignoreprojectextensions:.vcproj,.sln"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsLoggers() { // arrange var msbuild = new Derived(); msbuild.Loggers.Add(new Logger("C1.dll") { LoggerClass = "C1.Foo", LoggerParameters = "C1Bar;C1Baz" }); msbuild.Loggers.Add(new Logger("F1.dll")); msbuild.Loggers.Add(new Logger("C2.dll") { LoggerClass = "C2.Foo" }); msbuild.Loggers.Add(new Logger("F2.dll") { LoggerParameters = "F2Bar;F2Baz" }); var expectedArgs = "/logger:C1.Foo,C1.dll;C1Bar;C1Baz " + "/logger:F1.dll " + "/logger:C2.Foo,C2.dll " + "/logger:F2.dll;F2Bar;F2Baz"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsFileLoggerParameters() { // arrange var msbuild = new Derived(); // defaults msbuild.FileLoggers.Add(new FileLogger()); // default parameters msbuild.FileLoggers.Add(new FileLogger { FileLoggerParameters = new FileLoggerParameters(), }); // no number msbuild.FileLoggers.Add(new FileLogger { Number = null, FileLoggerParameters = new FileLoggerParameters { DisableConsoleColor = true, EnableMPLogging = true, DisableMPLogging = true, ErrorsOnly = true, ForceNoAlign = true, NoItemAndPropertyList = true, NoSummary = true, PerformanceSummary = true, ShowCommandLine = true, ShowEventId = true, ShowTimestamp = true, Summary = true, Verbosity = Verbosity.Minimal, WarningsOnly = true, Append = true, LogFile = "logfile.txt", Encoding = "UTF-8", } }); // the lot msbuild.FileLoggers.Add(new FileLogger { Number = 1, FileLoggerParameters = new FileLoggerParameters { DisableConsoleColor = true, EnableMPLogging = true, DisableMPLogging = true, ErrorsOnly = true, ForceNoAlign = true, NoItemAndPropertyList = true, NoSummary = true, PerformanceSummary = true, ShowCommandLine = true, ShowEventId = true, ShowTimestamp = true, Summary = true, Verbosity = Verbosity.Minimal, WarningsOnly = true, Append = false, LogFile = "logfile1.txt", Encoding = "Unicode", } }); msbuild.FileLoggers.Add(new FileLogger { Number = 2, FileLoggerParameters = new FileLoggerParameters { // NOTE (adamralph): no Append DisableConsoleColor = true, EnableMPLogging = true, DisableMPLogging = true, ErrorsOnly = true, ForceNoAlign = true, NoItemAndPropertyList = true, NoSummary = true, PerformanceSummary = true, ShowCommandLine = true, ShowEventId = true, ShowTimestamp = true, Summary = true, Verbosity = Verbosity.Minimal, WarningsOnly = true, LogFile = "logfile2.txt", Encoding = "ASCII", } }); msbuild.FileLoggers.Add(new FileLogger { Number = 3, }); var expectedArgs = "/fileLogger" + " " + "/fileLogger" + " " + "/fileLogger /fileloggerparameters:DisableConsoleColor;DisableMPLogging;EnableMPLogging;" + "ErrorsOnly;ForceNoAlign;NoItemAndPropertyList;NoSummary;PerformanceSummary;ShowCommandLine;" + "ShowEventId;ShowTimestamp;Summary;WarningsOnly;Append=true;Encoding=UTF-8;LogFile=logfile.txt;verbosity=minimal" + " " + "/fileLogger1 /fileloggerparameters1:DisableConsoleColor;DisableMPLogging;EnableMPLogging;" + "ErrorsOnly;ForceNoAlign;NoItemAndPropertyList;NoSummary;PerformanceSummary;ShowCommandLine;" + "ShowEventId;ShowTimestamp;Summary;WarningsOnly;Append=false;Encoding=Unicode;LogFile=logfile1.txt;verbosity=minimal" + " " + "/fileLogger2 /fileloggerparameters2:DisableConsoleColor;DisableMPLogging;EnableMPLogging;" + "ErrorsOnly;ForceNoAlign;NoItemAndPropertyList;NoSummary;PerformanceSummary;ShowCommandLine;" + "ShowEventId;ShowTimestamp;Summary;WarningsOnly;Encoding=ASCII;LogFile=logfile2.txt;verbosity=minimal" + " " + "/fileLogger3"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsHelp() { // arrange var msbuild = new Derived { Help = true }; var expectedArgs = "/help"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsDistributedFileLogger() { // arrange var msbuild = new Derived { DistributedFileLogger = true, }; var expectedArgs = "/distributedFileLogger"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsDetailedSummary() { // arrange var msbuild = new Derived { DetailedSummary = true, }; var expectedArgs = "/detailedsummary"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsConsoleLoggerParameters() { // arrange var msbuild = new Derived { ConsoleLoggerParameters = new ConsoleLoggerParameters { DisableConsoleColor = true, EnableMPLogging = true, DisableMPLogging = true, ErrorsOnly = true, ForceNoAlign = true, NoItemAndPropertyList = true, NoSummary = true, PerformanceSummary = true, ShowCommandLine = true, ShowEventId = true, ShowTimestamp = true, Summary = true, Verbosity = Verbosity.Minimal, WarningsOnly = true, } }; var expectedArgs = "/consoleloggerparameters:DisableConsoleColor;DisableMPLogging;EnableMPLogging;" + "ErrorsOnly;ForceNoAlign;NoItemAndPropertyList;NoSummary;PerformanceSummary;ShowCommandLine;" + "ShowEventId;ShowTimestamp;Summary;WarningsOnly;verbosity=minimal"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsSolution() { // arrange var msbuild = new Derived { Solution = "Foo.sln", }; var expectedArgs = "Foo.sln"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsNoAutoResponse() { // arrange var msbuild = new Derived { NoAutoResponse = true, }; var expectedArgs = "/noautoresponse"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsTargets() { // arrange var msbuild = new Derived { Targets = new[] { "Clean", "Build", } }; var expectedArgs = "/target:Clean;Build"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsNoConsoleLogger() { // arrange var msbuild = new Derived { NoConsoleLogger = true }; var expectedArgs = "/noconsolelogger"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsUnlimitedMaxCpuCount() { // arrange var msbuild = new Derived { MaxCpuCount = int.MaxValue, }; var expectedArgs = "/maxcpucount"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsNodeReuse(bool nodeReuse, string expectedArgs) { // arrange var msbuild = new Derived { NodeReuse = nodeReuse, }; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsVerbosity(Verbosity verbosity, string expectedArgs) { // arrange var msbuild = new Derived { Verbosity = verbosity, }; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsNoLogo() { // arrange var msbuild = new Derived { NoLogo = true, }; var expectedArgs = "/nologo"; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.Arguments.Should().Be(expectedArgs); }
public static void SetsWorkingDirectory() { // arrange var msbuild = new Derived { WorkingDirectory = "foo", }; // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.WorkingDirectory.Should().Be(msbuild.WorkingDirectory); }
public static void DoesNotUseShellExecute() { // arrange var msbuild = new Derived(); // act var startInfo = msbuild.GetStartInfoPublic(); // assert startInfo.UseShellExecute.Should().BeFalse(); }