github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/git/git_test.go (about) 1 package git 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 "go.starlark.net/starlark" 8 9 "github.com/tilt-dev/tilt/internal/tiltfile/starkit" 10 ) 11 12 func TestGitRepoPath(t *testing.T) { 13 f := NewFixture(t) 14 15 f.UseRealFS() 16 f.File("Tiltfile", ` 17 print(local_git_repo('.').paths('.git/index')) 18 `) 19 f.File(".git/index", "HEAD") 20 21 _, err := f.ExecFile("Tiltfile") 22 assert.NoError(t, err) 23 assert.Contains(t, f.PrintOutput(), f.JoinPath(".git", "index")) 24 } 25 26 func TestGitRepoBadMethodCall(t *testing.T) { 27 f := NewFixture(t) 28 29 f.UseRealFS() 30 f.File("Tiltfile", ` 31 local_git_repo('.').asdf() 32 `) 33 f.File(".git/index", "HEAD") 34 35 _, err := f.ExecFile("Tiltfile") 36 if assert.Error(t, err) { 37 msg := err.(*starlark.EvalError).Backtrace() 38 assert.Contains(t, msg, "Tiltfile:2:20: in <toplevel>") 39 assert.Contains(t, msg, "Error: git.Repo has no .asdf field or method") 40 } 41 } 42 43 func NewFixture(tb testing.TB) *starkit.Fixture { 44 return starkit.NewFixture(tb, NewPlugin()) 45 }