runtime/pprof: try to use real stack in TestTryAdd
TestTryAdd is particularly brittle because it tests some real cases by constructing fake sample stack frames. If those frames don't correctly represent what the runtime would generate then they may fail to catch regressions. Instead, call runtime.Callers at the bottom of real function calls to generate real frames as a base for truncation, etc in tests. Several of these tests still have to fake parts of the frames to test the right thing, but this is a bit less fragile. This change is equivalent to the original 0dfb0513 (golang.org/cl/227484), except that the test skips if the test functions aren't inline (e.g., noopt builders). Change-Id: Ie9e32b5660cfe28a924f9cfcddcd887ea2effd66 Reviewed-on: https://go-review.googlesource.com/c/go/+/227922 Run-TryBot: Michael Pratt <mpratt@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by:Bryan C. Mills <bcmills@google.com>
Loading
Please sign in to comment