github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/internal/task/executor_test.go (about) 1 package task 2 3 import ( 4 "context" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 "github.com/wagoodman/go-progress" 9 10 "github.com/anchore/syft/internal/sbomsync" 11 "github.com/anchore/syft/syft/event/monitor" 12 "github.com/anchore/syft/syft/file" 13 ) 14 15 func Test_TaskExecutor_PanicHandling(t *testing.T) { 16 tsk := NewTask("panicking-cataloger", func(_ context.Context, _ file.Resolver, _ sbomsync.Builder) error { 17 panic("something bad happened") 18 }) 19 ex := NewTaskExecutor([]Task{tsk}, 1) 20 21 err := ex.Execute(context.Background(), nil, nil, &monitor.CatalogerTaskProgress{ 22 Manual: progress.NewManual(-1), 23 }) 24 25 require.Error(t, err) 26 require.Contains(t, err.Error(), "executor_test.go") 27 }