diff options
| author | Felix Geisendörfer <felix.geisendoerfer@datadoghq.com> | 2024-08-27 21:07:57 +0200 |
|---|---|---|
| committer | Michael Knyszek <mknyszek@google.com> | 2024-09-23 15:02:42 +0000 |
| commit | 6eb40d158a80985460afc3924c4239dc97a34ae0 (patch) | |
| tree | 3df8096e85d0add2cab2ae19007c3733f16e26f8 /src/internal/trace/trace_test.go | |
| parent | 89a5a60da623ca9e7f91a93cd34b35785e30ab7e (diff) | |
| download | go-6eb40d158a80985460afc3924c4239dc97a34ae0.tar.xz | |
cmd/trace,internal/trace,runtime: refactor to access frames via range over func
Change-Id: Id0be0eb35ae8560bd5338ec296a086aaf4617db0
Reviewed-on: https://go-review.googlesource.com/c/go/+/608856
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/internal/trace/trace_test.go')
| -rw-r--r-- | src/internal/trace/trace_test.go | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/internal/trace/trace_test.go b/src/internal/trace/trace_test.go index dcf9d05fb4..facac47eef 100644 --- a/src/internal/trace/trace_test.go +++ b/src/internal/trace/trace_test.go @@ -16,6 +16,7 @@ import ( "os" "path/filepath" "runtime" + "slices" "strings" "testing" ) @@ -148,12 +149,11 @@ func TestTraceCPUProfile(t *testing.T) { if hogRegion != nil && ev.Goroutine() == hogRegion.Goroutine() { traceSamples++ var fns []string - ev.Stack().Frames()(func(frame trace.StackFrame) bool { + for frame := range ev.Stack().Frames() { if frame.Func != "runtime.goexit" { fns = append(fns, fmt.Sprintf("%s:%d", frame.Func, frame.Line)) } - return true - }) + } stack := strings.Join(fns, "|") traceStacks[stack]++ } @@ -436,21 +436,15 @@ func TestTraceStacks(t *testing.T) { }...) } stackMatches := func(stk trace.Stack, frames []frame) bool { - i := 0 - match := true - stk.Frames()(func(f trace.StackFrame) bool { + for i, f := range slices.Collect(stk.Frames()) { if f.Func != frames[i].fn { - match = false return false } if line := uint64(frames[i].line); line != 0 && line != f.Line { - match = false return false } - i++ - return true - }) - return match + } + return true } r, err := trace.NewReader(bytes.NewReader(tb)) if err != nil { |
