Esempio n. 1
0
            public void Should_Quote_FileName_On_Windows()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: true);

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

                // Then
                Assert.Equal("\"/Program Files/Cake.exe\"", result.FileName);
            }
Esempio n. 2
0
            public void Should_Throw_If_Filename_Is_Null()
            {
                // Given
                var fixture = new ProcessRunnerFixture();

                fixture.ProcessFilePath = null;

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

                // Then
                AssertEx.IsArgumentNullException(result, "filePath");
            }
Esempio n. 3
0
            public void Should_Throw_If_Process_Settings_Are_Null()
            {
                // Given
                var fixture = new ProcessRunnerFixture();

                fixture.ProcessSettings = null;

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

                // Then
                AssertEx.IsArgumentNullException(result, "settings");
            }
Esempio n. 4
0
            public void Should_Throw_If_Tools_Is_Null()
            {
                // Given
                var fixture = new ProcessRunnerFixture();

                fixture.Tools = null;

                // Given, When
                var result = Record.Exception(() => fixture.CreateProcessRunner());

                // Then
                AssertEx.IsArgumentNullException(result, "tools");
            }
Esempio n. 5
0
            public void Should_Not_Coerse_Mono_On_Windows_And_CoreClr()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: true);

                fixture.GivenIsCoreClr();

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

                // Then
                Assert.Equal("\"/Program Files/Cake.exe\"", result.FileName);
            }
Esempio n. 6
0
            public void Should_Not_Coerse_Mono_On_Unix_And_CoreClr_With_Config_NoMonoCoersion()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: false);

                fixture.GivenIsCoreClr();
                fixture.GivenConfigNoMonoCoersion();

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

                // Then
                Assert.Equal("/Program Files/Cake.exe", result.FileName);
            }
Esempio n. 7
0
            public void Should_Not_Log_If_Setting_Silent()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: true);

                fixture.ProcessSettings.Silent = true;

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

                // Then
                fixture.Log
                .Received(0);
            }
Esempio n. 8
0
            public void Should_Not_Log_Secret_Arguments()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: true);

                fixture.GivenSecretArgument();

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

                // Then
                fixture.Log
                .Received(1)
                .Verbose(Verbosity.Diagnostic, "Executing: {0}", "\"/Program Files/Cake.exe\" [REDACTED]");
            }
Esempio n. 9
0
            public void Should_Not_Coerse_Mono_On_Unix_And_CoreClr_If_Mono_Not_Resolved()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: false);

                fixture.GivenIsCoreClr();
                fixture.GivenMonoNotResolved();

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

                // Then
                Assert.Equal("/Program Files/Cake.exe", result.FileName);
                fixture.Log
                .Received(1)
                .Write(Verbosity.Diagnostic, LogLevel.Verbose, "{0} is a .NET Framework executable, you might need to install Mono for it to execute successfully.", "/Program Files/Cake.exe");
            }
Esempio n. 10
0
            public void Should_Coerse_Mono_On_Unix_And_CoreClr()
            {
                // Given
                var fixture = new ProcessRunnerFixture(windows: false);

                fixture.GivenIsCoreClr();

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

                // Then
                Assert.Equal("/Program Files/mono.exe", result.FileName);
                Assert.Equal("\"/Program Files/Cake.exe\"", result.Arguments);
                fixture.Log
                .Received(1)
                .Write(Verbosity.Diagnostic, LogLevel.Verbose, "{0} is a .NET Framework executable, will try execute using Mono.", "/Program Files/Cake.exe");
            }