go/internal
Bryan C. Mills c20fd7c261 internal/lsp/regtest: eliminate arbitrary timeouts
We care that gopls operations complete within a reasonable time.
However, what is “reasonable” depends strongly on the specifics of the
user and the hardware they are running on: a timeout that would be
perfectly reasonable on a high-powered user workstation with little
other load may be far too short on an overloaded and/or underpowered
CI builder.

This change adjusts the regtest runner to use the test deadline
instead of an arbitrary, flag-defined timeout; we expect the user or
system running the test to scale the test timeout appropriately to the
specific platform and system load.

When the testing package gains support for per-test timeouts
(golang/go#48157), this approach will automatically apply those
timeouts too.

If we decide that we also want to test specific performance and/or
latency targets, we can set up specific configurations for that (as
either aggressive per-test timeouts or benchmarks) in a followup
change.

For golang/go#50582

Change-Id: I1ab11b2049effb097aa620046fe11609269f91c4
Reviewed-on: https://go-review.googlesource.com/c/tools/+/380497
Trust: Bryan Mills <bcmills@google.com>
Run-TryBot: Bryan Mills <bcmills@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Robert Findley <rfindley@google.com>
2022-01-25 21:51:33 +00:00
..
analysisinternal internal/lsp/fuzzy: fix return value on no match 2020-08-28 15:37:48 +00:00
apidiff all: add copyright notices to files that are missing them 2021-01-06 17:23:47 +00:00
event internal/lsp/debug: add a facility to track known bugs 2021-05-10 23:21:19 +00:00
fakenet internal/fakenet: add a fake network connection 2020-05-27 14:27:59 +00:00
fastwalk x/tools/internal/fastwalk: fixes "interrupted system call" error 2021-02-24 01:32:32 +00:00
gocommand internal/gocommand: run 'go list' on the unsafe package when fetching release tags 2021-05-29 00:21:43 +00:00
gopathwalk internal/imports: fix crash when adding stdlib imports 2020-08-13 17:47:04 +00:00
imports internal/imports: avoid rare panic 2022-01-11 14:03:54 +00:00
jsonrpc2 internal/jsonrpc2: make Serve wait for all connections to close 2021-11-08 20:32:21 +00:00
jsonrpc2_v2 internal/lsp/lsprpc: update binder tests to handle forwarding 2021-06-25 19:21:47 +00:00
lsp internal/lsp/regtest: eliminate arbitrary timeouts 2022-01-25 21:51:33 +00:00
memoize internal/memoize: do not allow (*Generation).Acquire to fail 2021-12-02 03:25:35 +00:00
mod internal/mod: add workfile parser 2021-06-24 04:20:08 +00:00
packagesinternal internal/lsp/cache: disable network for mod tidy diagnostics 2021-02-05 19:41:14 +00:00
proxydir all: remove version-specific test files 2020-05-28 17:13:50 +00:00
span internal/span: fix a comment about windows drive letters 2021-08-03 19:59:22 +00:00
stack internal/stack: add the leak test 2020-05-27 14:25:42 +00:00
testenv gopls/internal/regtest/codelens: use the test's deadline instead of a hard-coded timeout 2022-01-24 16:28:24 +00:00
tool internal/lsp/cmd: print flags when running gopls help 2021-07-08 16:04:41 +00:00
typeparams internal/typeparams/example: start adding a guide to generics for tools 2022-01-22 21:07:13 +00:00
typesinternal internal/typesinternal: document ReadGo116ErrorData 2021-09-21 03:32:29 +00:00
xcontext