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"