Exemple #1
0
            public void ShouldSetWorkingDirectoryToBinaryPathIfNoOutputDirectorySpecified()
            {
                // Given
                const string Expected = "/Working/bin";
                var          fixture  = new CMakeBuildRunnerFixture();

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Process.WorkingDirectory.FullPath);
            }
Exemple #2
0
            public void ShouldAppendBinaryDirectoryToArguments()
            {
                // Given
                const string Expected = "--build \"/Working/bin\"";
                var          fixture  = new CMakeBuildRunnerFixture();

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Args);
            }
Exemple #3
0
            public void ShouldLookInProgramFiles()
            {
                // Given
                var          fixture  = new CMakeBuildRunnerFixture(defaultToolExist: false);
                const string Expected = "/ProgramFilesX86/cmake/bin/cmake.exe";

                fixture.FileSystem.CreateFile(Expected);
                fixture.Environment.SetSpecialPath(SpecialPath.ProgramFilesX86, "/ProgramFilesX86");

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Path.FullPath);
            }
Exemple #4
0
            public void ShouldThrowIfSettingsAreNull()
            {
                // Given
                var fixture = new CMakeBuildRunnerFixture
                {
                    Settings = null
                };

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.NotNull(result);
                Assert.IsType <ArgumentNullException>(result);
                Assert.Equal("settings", ((ArgumentNullException)result).ParamName);
            }
Exemple #5
0
            public void ShouldUseCMakeExecutableFromToolPathIfProvided(string toolPath, string expected)
            {
                // Given
                var fixture = new CMakeBuildRunnerFixture(toolPath: expected)
                {
                    Settings =
                    {
                        ToolPath = toolPath
                    }
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(expected, result.Path.FullPath);
            }
Exemple #6
0
        public void ShouldAppendOptionsSeparatedByDash()
        {
            // Given
            const string Expected = "--build \"/Working/bin\" -- \"/m:4\"";
            var          fixture  = new CMakeBuildRunnerFixture
            {
                Settings =
                {
                    Options = new [] { "/m:4" }
                }
            };

            // When
            var result = fixture.Run();

            // Then
            Assert.Equal(Expected, result.Args);
        }
Exemple #7
0
            public void ShouldAppendConfigurationToArguments()
            {
                // Given
                const string Expected = "--build \"/Working/bin\" --config Debug";
                var          fixture  = new CMakeBuildRunnerFixture
                {
                    Settings =
                    {
                        Configuration = "Debug"
                    }
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Args);
            }
Exemple #8
0
            public void ShouldAppendTargetsToArguments()
            {
                // Given
                const string Expected = "--build \"/Working/bin\" --target Debug,Release";
                var          fixture  = new CMakeBuildRunnerFixture
                {
                    Settings =
                    {
                        Targets = new [] { "Debug", "Release" }
                    }
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Args);
            }
Exemple #9
0
            public void ShouldAppendCleanFirstToArguments()
            {
                // Given
                const string Expected = "--build \"/Working/bin\" --clean-first";
                var          fixture  = new CMakeBuildRunnerFixture
                {
                    Settings =
                    {
                        CleanFirst = true
                    }
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Args);
            }
Exemple #10
0
            public void ShouldSetWorkingDirectoryToBinaryPathIfSet()
            {
                // Given
                const string Expected = "/Working/build";
                var          fixture  = new CMakeBuildRunnerFixture
                {
                    Settings =
                    {
                        BinaryPath = "./build"
                    }
                };

                // When
                var result = fixture.Run();

                // Then
                Assert.Equal(Expected, result.Process.WorkingDirectory.FullPath);
            }
Exemple #11
0
            public void ShouldThrowIfBinaryPathIsNull()
            {
                // Given
                var fixture = new CMakeBuildRunnerFixture
                {
                    Settings =
                    {
                        BinaryPath = null
                    }
                };

                // When
                var result = Record.Exception(() => fixture.Run());

                // Then
                Assert.NotNull(result);
                Assert.IsType <ArgumentNullException>(result);
                Assert.Equal(nameof(CMakeBuildSettings.BinaryPath), ((ArgumentException)result).ParamName);
            }