public static void PaketUpdate(this ICakeContext context, DirectoryPath paketDirectory, PaketUpdateSettings paketUpdateSettings) { context.PaketExecutableRetrieval(paketDirectory, paketUpdateSettings); var paketPath = FilePath.FromString(Path.Combine(paketDirectory.FullPath, Paket)); var runner = context.ProcessRunner; var arguments = new ProcessArgumentBuilder(); arguments.Append("update"); arguments.BuildArgumentString(paketUpdateSettings); context.Log.Information(arguments.RenderSafe()); var process = runner.Start(paketPath, new ProcessSettings() { Arguments = arguments }); process.WaitForExit(); var exitCode = process.GetExitCode(); if (exitCode > 0) { throw new CakeException("Error occured during Paket restore"); } }
public void SwitchesAreCorrectlyAppendedToCommandLineArgument() { // arrange var argumentBuilderDummy = new ProcessArgumentBuilder(); var settingFileDummy = new SwithOnlySettingFixture(); // act argumentBuilderDummy.BuildArgumentString(settingFileDummy); // assert var argumentString = argumentBuilderDummy.Render(); argumentString.Should().Be($"{ActiveSwitch1Name} {ActiveSwitch2Name}"); }
public void StringArrayArgumentsAreCorrectlyAppendedToCommandLineArguments() { // arrange var argumentBuilderDummy = new ProcessArgumentBuilder(); var settingFileDummy = new StringArrayOnlySettingFixture(); // act argumentBuilderDummy.BuildArgumentString(settingFileDummy); // assert var argumentString = argumentBuilderDummy.Render(); argumentString.Should().Be($"{ValidArrayName} {ArrayValue1} {ArrayValue2}"); }