blob: 62b87554ea2f63939de82aa456260a9c7720a80e [file] [log] [blame]
package git_common
import (
"context"
"testing"
"github.com/stretchr/testify/require"
"go.skia.org/infra/go/exec"
"go.skia.org/infra/go/testutils/unittest"
)
func TestFindGit(t *testing.T) {
unittest.SmallTest(t)
execCount := 0
mockRun := exec.CommandCollector{}
mockRun.SetDelegateRun(func(ctx context.Context, cmd *exec.Command) error {
execCount++
return exec.DefaultRun(ctx, cmd)
})
ctx := exec.NewContext(context.Background(), mockRun.Run)
check := func() {
git, major, minor, err := FindGit(ctx)
require.NoError(t, err)
require.NotEqual(t, "", git)
require.NotEqual(t, "git", git)
require.NotEqual(t, 0, major)
require.NotEqual(t, 0, minor)
// TODO(borenet): We want to ensure that we get Git from CIPD
// on all bots and servers, but we don't want to impose that
// restriction on developers.
//require.True(t, IsFromCIPD(git))
}
check()
require.Equal(t, 1, execCount)
// Ensure that we cached the results.
check()
require.Equal(t, 1, execCount)
}