infra/go: add test to git package
New code using the 'git' package exposed a bug with git.IsReachable.
BUG=none
TEST=run_tests.sh
Change-Id: Ie2c820257d16d1eef6479068e5bf6d3c98c8def6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/infra/go/+/1724997
Commit-Queue: Jack Neus <jackneus@google.com>
Tested-by: Jack Neus <jackneus@google.com>
Reviewed-by: Evan Hernandez <evanhernandez@chromium.org>
diff --git a/internal/git/git_test.go b/internal/git/git_test.go
index 687a73e..c02bac5 100644
--- a/internal/git/git_test.go
+++ b/internal/git/git_test.go
@@ -163,6 +163,25 @@
assert.Assert(t, !ok)
}
+func TestIsReachable_self(t *testing.T) {
+ CommandRunnerImpl = cmd.RealCommandRunner{}
+
+ tmpDir := "gittest_tmp_dir"
+ tmpDir, err := ioutil.TempDir("", tmpDir)
+ defer os.RemoveAll(tmpDir)
+
+ assert.NilError(t, err)
+ // Create repo.
+ assert.NilError(t, Init(tmpDir, false))
+ // Make commit.
+ commit, err := CommitEmpty(tmpDir, "empty commit")
+ assert.NilError(t, err)
+ // Check that a SHA is reachable from itself.
+ ok, err := IsReachable(tmpDir, commit, commit)
+ assert.NilError(t, err)
+ assert.Assert(t, ok)
+}
+
func TestCreateBranch(t *testing.T) {
fakeGitRepo := "top-secret-project"
branchName := "project z"