diff --git a/src/GitVersionExe.Tests/ExecCmdLineArgumentTest.cs b/src/GitVersionExe.Tests/ExecCmdLineArgumentTest.cs index ceeccb18ed..43f6dca932 100644 --- a/src/GitVersionExe.Tests/ExecCmdLineArgumentTest.cs +++ b/src/GitVersionExe.Tests/ExecCmdLineArgumentTest.cs @@ -72,14 +72,16 @@ public void CheckBuildServerVerbosityConsole(string verbosityArg, string expecte } [Test] - public void WorkingDirectoryWithoutGitFolderCrashesWithInformativeMessage() + public void WorkingDirectoryWithoutGitFolderFailsWithInformativeMessage() { - var results = GitVersionHelper.ExecuteIn(Environment.SystemDirectory, null, false); - results.Output.ShouldContain("Can't find the .git directory in"); + var result = GitVersionHelper.ExecuteIn(Environment.SystemDirectory, null, false); + + result.ExitCode.ShouldNotBe(0); + result.Output.ShouldContain("Can't find the .git directory in"); } [Test] - public void WorkingDirectoryDoesNotExistCrashesWithInformativeMessage() + public void WorkingDirectoryDoesNotExistFailsWithInformativeMessage() { var workingDirectory = Path.Combine(PathHelper.GetCurrentDirectory(), Guid.NewGuid().ToString("N")); var executable = PathHelper.GetExecutable(); @@ -98,7 +100,7 @@ public void WorkingDirectoryDoesNotExistCrashesWithInformativeMessage() args, PathHelper.GetCurrentDirectory()); - exitCode.ShouldBe(0); + exitCode.ShouldNotBe(0); var outputString = output.ToString(); outputString.ShouldContain($"The working directory '{workingDirectory}' does not exist.", () => outputString); } diff --git a/src/GitVersionExe/GitVersionApp.cs b/src/GitVersionExe/GitVersionApp.cs index 241f99d74b..ec2fcdb878 100644 --- a/src/GitVersionExe/GitVersionApp.cs +++ b/src/GitVersionExe/GitVersionApp.cs @@ -27,11 +27,12 @@ public Task StartAsync(CancellationToken cancellationToken) { var arguments = options.Value; log.Verbosity = arguments.Verbosity; - gitVersionExecutor.Execute(arguments); + System.Environment.ExitCode = gitVersionExecutor.Execute(arguments); } catch (Exception exception) { Console.Error.WriteLine(exception.Message); + System.Environment.ExitCode = 1; } applicationLifetime.StopApplication();