fleet/server/contexts/ctxerr/stack_test.go

36 lines
632 B
Go
Raw Normal View History

package ctxerr
import (
"regexp"
"testing"
"github.com/stretchr/testify/require"
)
type mockStack struct {
trace []string
}
func (s mockStack) List() []string {
return s.trace
}
func buildStack(depth int) stack {
if depth == 0 {
return newStack(0)
}
return buildStack(depth - 1)
}
func TestStack(t *testing.T) {
trace := buildStack(maxDepth)
lines := trace.List()
require.Equal(t, len(lines), len(trace))
re := regexp.MustCompile(`server/contexts/ctxerr\.buildStack \(stack_test.go:\d+\)$`)
for i, line := range lines {
require.Regexpf(t, re, line, "expected line %d to match %q, got %q", i, re, line)
}
}