diff options
author | Tao Qingyun <qingyunha@gmail.com> | 2021-03-18 00:10:38 +0000 |
---|---|---|
committer | Ian Lance Taylor <iant@golang.org> | 2021-03-19 01:04:37 +0000 |
commit | 67048432026062a98a3937a865aeb05a398148c5 (patch) | |
tree | 9cc01e17553038545f4cf64ffc4036666b827fd3 /src/testing/testing.go | |
parent | dcc96e4b9403a3a1e135b81d5f556a72a04a2add (diff) | |
download | go-67048432026062a98a3937a865aeb05a398148c5.tar.gz go-67048432026062a98a3937a865aeb05a398148c5.zip |
testing: update helperNames just before checking it
parent's helperNames has not been set when frameSkip called, moving
helperNames initilazing to frameSkip.
Fixes #44887
Change-Id: I5107c5951033e5e47d1ac441eac3ba5344a7bdc0
GitHub-Last-Rev: 44b90b2e2eeca8e2bb4a2084ec6fdd279c88f76d
GitHub-Pull-Request: golang/go#45071
Reviewed-on: https://go-review.googlesource.com/c/go/+/302469
Trust: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Diffstat (limited to 'src/testing/testing.go')
-rw-r--r-- | src/testing/testing.go | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/testing/testing.go b/src/testing/testing.go index fafc67c5b7..383e56a20e 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -509,6 +509,13 @@ func (c *common) frameSkip(skip int) runtime.Frame { } return prevFrame } + // If more helper PCs have been added since we last did the conversion + if c.helperNames == nil { + c.helperNames = make(map[string]struct{}) + for pc := range c.helperPCs { + c.helperNames[pcToName(pc)] = struct{}{} + } + } if _, ok := c.helperNames[frame.Function]; !ok { // Found a frame that wasn't inside a helper function. return frame @@ -521,14 +528,6 @@ func (c *common) frameSkip(skip int) runtime.Frame { // and inserts the final newline if needed and indentation spaces for formatting. // This function must be called with c.mu held. func (c *common) decorate(s string, skip int) string { - // If more helper PCs have been added since we last did the conversion - if c.helperNames == nil { - c.helperNames = make(map[string]struct{}) - for pc := range c.helperPCs { - c.helperNames[pcToName(pc)] = struct{}{} - } - } - frame := c.frameSkip(skip) file := frame.File line := frame.Line |