diff --git a/internal/fxreflect/stack_120_test.go b/internal/fxreflect/stack_120_test.go new file mode 100644 index 000000000..4c2e118c0 --- /dev/null +++ b/internal/fxreflect/stack_120_test.go @@ -0,0 +1,30 @@ +//go:build !go1.21 +// +build !go1.21 + +package fxreflect + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestDeepStack(t *testing.T) { + t.Run("nest", func(t *testing.T) { + // Introduce a few frames. + frames := func() []Frame { + return func() []Frame { + return CallerStack(0, 0) + }() + }() + + require.True(t, len(frames) > 3, "expected at least three frames") + for i, name := range []string{"func1.1.1", "func1.1", "func1"} { + f := frames[i] + assert.Equal(t, "go.uber.org/fx/internal/fxreflect.TestDeepStack."+name, f.Function) + assert.Contains(t, f.File, "internal/fxreflect/stack_120_test.go") + assert.NotZero(t, f.Line) + } + }) +} diff --git a/internal/fxreflect/stack_121_test.go b/internal/fxreflect/stack_121_test.go new file mode 100644 index 000000000..e955bba28 --- /dev/null +++ b/internal/fxreflect/stack_121_test.go @@ -0,0 +1,30 @@ +//go:build go1.21 +// +build go1.21 + +package fxreflect + +import ( + "testing" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func TestDeepStack(t *testing.T) { + t.Run("nest", func(t *testing.T) { + // Introduce a few frames. + frames := func() []Frame { + return func() []Frame { + return CallerStack(0, 0) + }() + }() + + require.True(t, len(frames) > 3, "expected at least three frames") + for i, name := range []string{"func1.TestDeepStack.func1.1.func2", "func1.1", "func1"} { + f := frames[i] + assert.Equal(t, "go.uber.org/fx/internal/fxreflect.TestDeepStack."+name, f.Function) + assert.Contains(t, f.File, "internal/fxreflect/stack_121_test.go") + assert.NotZero(t, f.Line) + } + }) +} diff --git a/internal/fxreflect/stack_test_120.go b/internal/fxreflect/stack_test_120.go deleted file mode 100644 index c1aa64c64..000000000 --- a/internal/fxreflect/stack_test_120.go +++ /dev/null @@ -1,28 +0,0 @@ -//go:build !go1.21 -// +build !go1.21 - -package fxreflect - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestDeepStack(t *testing.T) { - // Introduce a few frames. - frames := func() []Frame { - return func() []Frame { - return CallerStack(0, 0) - }() - }() - - require.True(t, len(frames) > 3, "expected at least three frames") - for i, name := range []string{"func2.1.1", "func2.1", "func2"} { - f := frames[i] - assert.Equal(t, "go.uber.org/fx/internal/fxreflect.TestStack."+name, f.Function) - assert.Contains(t, f.File, "internal/fxreflect/stack_test.go") - assert.NotZero(t, f.Line) - } -} diff --git a/internal/fxreflect/stack_test_121.go b/internal/fxreflect/stack_test_121.go deleted file mode 100644 index 40b03a2fe..000000000 --- a/internal/fxreflect/stack_test_121.go +++ /dev/null @@ -1,28 +0,0 @@ -//go:build go1.21 -// +build go1.21 - -package fxreflect - -import ( - "testing" - - "github.com/stretchr/testify/assert" - "github.com/stretchr/testify/require" -) - -func TestDeepStack(t *testing.T) { - // Introduce a few frames. - frames := func() []Frame { - return func() []Frame { - return CallerStack(0, 0) - }() - }() - - require.True(t, len(frames) > 3, "expected at least three frames") - for i, name := range []string{"func2.TestStack.func2.1.func2", "func2.1", "func2"} { - f := frames[i] - assert.Equal(t, "go.uber.org/fx/internal/fxreflect.TestStack."+name, f.Function) - assert.Contains(t, f.File, "internal/fxreflect/stack_test.go") - assert.NotZero(t, f.Line) - } -}