public void Yields_Correct_Lines() { var lines = ProcessExtensions.ExecuteAndRead(null, false, false, null, TestExe).ToList(); lines.ShouldBe( new[] { "aaa", "bbb", "", "ccc", }); }
public IEnumerable <GitCommitInfo> RevList(int maxCount, IEnumerable <GitRev> revs) { Guard.NotNull(revs, nameof(revs)); revs = revs.ToList(); if (!revs.Any()) { throw new ArgumentException("Empty", nameof(revs)); } if (revs.Any(rev => rev == null)) { throw new ArgumentException("Null item", nameof(revs)); } if (maxCount < -1) { throw new ArgumentOutOfRangeException(nameof(maxCount)); } var args = new List <string>() { "-C", Path, "rev-list", "--format=fuller", "--date=iso-strict", "--parents", }; if (maxCount >= 0) { args.Add($"--max-count={maxCount}"); } args.AddRange(revs.Select(rev => rev.ToString())); try { return (ParseRevList( ProcessExtensions.ExecuteAndRead( null, false, true, null, "git", args.ToArray()) .GetEnumerator())); } catch (ProcessExecuteException pex) { throw new GitException(pex.Result); } }
public void Throws_ProcessExecuteException_On_Unsuccessful_ExitCode() { Should.Throw <ProcessExecuteException>(() => ProcessExtensions.ExecuteAndRead(null, false, false, null, TestExe, "99").ToList()); }