commit | cfb609bfb70027e60d71a5ac7e9202144246b98a | [log] [tgz] |
---|---|---|
author | Bryan C. Mills <bcmills@google.com> | Thu Feb 04 22:46:23 2021 -0500 |
committer | Bryan C. Mills <bcmills@google.com> | Thu Mar 04 17:47:28 2021 +0000 |
tree | 85dbc883ebc8182e84f82509cdefa5e9732b36d6 | |
parent | 9c54f878d26e106f8e375c31aabceb1e36ff4050 [diff] |
cmd/go: ensure that the test subprocess always times out in TestScript/test_write_profiles_on_timeout This test verifies the behavior of a test that fails due to timing out. However, the test to be timed out was only sleeping for 1s before returning successfully. That is empirically not always long enough for the test process itself to detect the timeout and terminate. We could replace the sleep with a select{}, but that would assume that the deadlock detector does not terminate a test that reaches that state (true today, but not necessarily so). We could replace the arbitrarily sleep with an arbitrarily longer sleep, but that's, well, arbitrary. Instead, have the test sleep in an unbounded loop to ensure that it always continues to run until the timeout is detected, and check the test output to ensure that it actually reached the timeout path. Fixes #32983 Change-Id: Ie7f210b36ef0cc0a4db473f780e15a3d6def8bda Reviewed-on: https://go-review.googlesource.com/c/go/+/289889 Trust: Bryan C. Mills <bcmills@google.com> Run-TryBot: Bryan C. Mills <bcmills@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Jay Conrod <jayconrod@google.com>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://golang.org/doc/contribute.html.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.