Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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");
        }
Example #6
0
        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);
        }
Example #7
0
        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);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }
Example #10
0
        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);
        }
Example #11
0
        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);
        }
Example #12
0
        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);
        }
Example #13
0
        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);
        }
Example #14
0
        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);
        }
Example #15
0
        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);
        }
Example #16
0
        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);
        }
Example #17
0
        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);
        }
Example #18
0
        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);
        }
Example #19
0
        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);
        }
Example #20
0
        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);
        }
Example #21
0
        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);
        }
Example #22
0
        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);
        }
Example #23
0
        public static void SetsWorkingDirectory()
        {
            // arrange
            var msbuild = new Derived { WorkingDirectory = "foo", };

            // act
            var startInfo = msbuild.GetStartInfoPublic();

            // assert
            startInfo.WorkingDirectory.Should().Be(msbuild.WorkingDirectory);
        }
Example #24
0
        public static void DoesNotUseShellExecute()
        {
            // arrange
            var msbuild = new Derived();

            // act
            var startInfo = msbuild.GetStartInfoPublic();

            // assert
            startInfo.UseShellExecute.Should().BeFalse();
        }