github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/tiltfile/include/include_test.go (about)

     1  package include
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  
     7  	"github.com/stretchr/testify/assert"
     8  	"go.starlark.net/starlark"
     9  
    10  	"github.com/tilt-dev/tilt/internal/tiltfile/starkit"
    11  )
    12  
    13  func TestLoadError(t *testing.T) {
    14  	f := NewFixture(t)
    15  
    16  	f.File("Tiltfile", `
    17  include('./foo/Tiltfile')
    18  `)
    19  	f.File("foo/Tiltfile", `
    20  x = 1
    21  y = x // 0
    22  `)
    23  
    24  	_, err := f.ExecFile("Tiltfile")
    25  	if assert.Error(t, err) {
    26  		backtrace := err.(*starlark.EvalError).Backtrace()
    27  		assert.Contains(t, backtrace, fmt.Sprintf("%s:2:8: in <toplevel>", f.JoinPath("Tiltfile")))
    28  		assert.Contains(t, backtrace, fmt.Sprintf("%s:3:7: in <toplevel>", f.JoinPath("foo", "Tiltfile")))
    29  	}
    30  }
    31  
    32  func NewFixture(tb testing.TB) *starkit.Fixture {
    33  	return starkit.NewFixture(tb, &IncludeFn{})
    34  }