diff options
| author | Keith Randall <keithr@alum.mit.edu> | 2019-05-17 13:31:12 -0700 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2019-05-17 22:32:30 +0000 |
| commit | 1ab063ce532f72851cef735238ba656cc7680b66 (patch) | |
| tree | 202ab4622f3e28d1043fad727444aebea765ac33 /src/testing | |
| parent | 5c3f3fbd0f91cf642e2d5c9109a2b3a9c65fe14b (diff) | |
| download | go-1ab063ce532f72851cef735238ba656cc7680b66.tar.xz | |
testing: callerName only needs one PC in the traceback
callerName requested 2 PCs from Callers, and that causes
both to be looked up in the file/line mapping.
We really only need to do the work for one PC.
(And in fact the caller doesn't need file/line at all, but
the Callers API can't express that.)
We used to request 2 PCs because in 1.11 and earlier we
stored an inline skip count in the second entry.
That's not necessary any more (as of 1.12).
Fixes #32093
Change-Id: I7b272626ef6496e848ee8af388cdaafd2556857b
Reviewed-on: https://go-review.googlesource.com/c/go/+/177858
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Caleb Spare <cespare@gmail.com>
Diffstat (limited to 'src/testing')
| -rw-r--r-- | src/testing/testing.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/testing/testing.go b/src/testing/testing.go index 753de9f27c..339df13f43 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -771,7 +771,7 @@ func (c *common) Helper() { // for the caller after skip frames (where 0 means the current function). func callerName(skip int) string { // Make room for the skip PC. - var pc [2]uintptr + var pc [1]uintptr n := runtime.Callers(skip+2, pc[:]) // skip + runtime.Callers + callerName if n == 0 { panic("testing: zero callers found") |
