More assert functions for repo_harness
Added two assert functions to the repo_harness package.
This of course required adding a number of helper functions to
different libraries.
BUG=chromium:980346
TEST=run_tests.sh
Change-Id: I062638741d9d8e527ab436807f5152e2937b649f
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/1716140
Reviewed-by: Benjamin Gordon <bmgordon@chromium.org>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
Commit-Queue: Jack Neus <jackneus@google.com>
Tested-by: Jack Neus <jackneus@google.com>
diff --git a/internal/git/git_test.go b/internal/git/git_test.go
index 5b9202f..745c835 100644
--- a/internal/git/git_test.go
+++ b/internal/git/git_test.go
@@ -126,11 +126,43 @@
ExpectedDir: "project",
Stdout: sha,
}
- res, err := GetGitRepoRevision("project")
+ res, err := GetGitRepoRevision("project", "")
assert.NilError(t, err)
assert.Equal(t, res, sha)
}
+func TestIsReachable_true(t *testing.T) {
+ fakeGitRepo := "gitRepo"
+ toRef := "beef"
+ fromRef := "deaf"
+
+ CommandRunnerImpl = cmd.FakeCommandRunner{
+ ExpectedCmd: []string{"git", "merge-base", "--is-ancestor", toRef, fromRef},
+ ExpectedDir: fakeGitRepo,
+ }
+
+ ok, err := IsReachable(fakeGitRepo, toRef, fromRef)
+ assert.NilError(t, err)
+ assert.Assert(t, ok)
+}
+
+func TestIsReachable_false(t *testing.T) {
+ fakeGitRepo := "gitRepo"
+ toRef := "beef"
+ fromRef := "deaf"
+
+ CommandRunnerImpl = cmd.FakeCommandRunner{
+ ExpectedCmd: []string{"git", "merge-base", "--is-ancestor", toRef, fromRef},
+ ExpectedDir: fakeGitRepo,
+ FailCommand: true,
+ FailError: "exit status 1",
+ }
+
+ ok, err := IsReachable(fakeGitRepo, toRef, fromRef)
+ assert.NilError(t, err)
+ assert.Assert(t, !ok)
+}
+
func TestCreateBranch(t *testing.T) {
fakeGitRepo := "top-secret-project"
branchName := "project z"