]> Cypherpunks.ru repositories - gostls13.git/commit
cmd/dist,cmd/go: set GOTRACEBACK to "system" for testing
authorMichael Anthony Knyszek <mknyszek@google.com>
Mon, 3 May 2021 18:11:55 +0000 (18:11 +0000)
committerMichael Knyszek <mknyszek@google.com>
Tue, 4 May 2021 17:32:31 +0000 (17:32 +0000)
commitd83baa1aa22d074b44d8b705e1d8dafa30ecceb1
tree4454ec48d855628cce35b1e1293a14c18398ffa1
parent10d625d5b41f17c118da18a592c683e60fcdcb3b
cmd/dist,cmd/go: set GOTRACEBACK to "system" for testing

If we're testing through dist, we're testing the implementation of Go,
so we're interested in any package failing with potential runtime
issues. In these cases, we'd like to have as much relevant detail as
possible, but currently runtime stack frames and goroutines are
suppressed due to the default GOTRACEBACK setting.

So, try to set GOTRACEBACK to system if it's unset. Check if it's unset
first so we don't override the user asking for a lower or higher level.

This change was brought up in the context of #45916, since there's an
apparent deadlock (or something!) in the runtime that appears when
running other code, but it's difficult to see exactly where it's
blocked. However, this change is very generally useful.

This change also runs scripted tests with GOTRACEBACK=system, upgrading
from GOTRACEBACK=all. Often, script tests can trigger failures deep in
the runtime in interesting ways because they start many individual Go
processes, so being able to identify points of interest in the runtime
is quite useful.

For #45916.

Change-Id: I3d50658d0d0090fb4c9182b87200d266c7f8f915
Reviewed-on: https://go-review.googlesource.com/c/go/+/316469
Trust: Michael Knyszek <mknyszek@google.com>
Trust: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
src/cmd/dist/test.go
src/cmd/go/script_test.go