commit | f4a41298b9a5f9d177439df56013fe5205e09c34 | [log] [tgz] |
---|---|---|
author | Rob Findley <rfindley@google.com> | Wed May 05 15:09:54 2021 -0400 |
committer | Robert Findley <rfindley@google.com> | Thu May 06 02:57:18 2021 +0000 |
tree | ad3b1d76f08e58d7f7f1cf1791822f658aece397 | |
parent | dd255f23517e12f99e036a76f0b414cbadfe50cd [diff] |
internal/lsp/regtest: add a benchmark for didChange Add a benchmark for the processing of workspace/didChange notifications, attempting to isolate the synchronous change processing from asynchronous diagnostics. To enable this, add a new type of expectation that asserts on work that has been _started_, but not necessarily completed. Of course, what we really want to know is whether the current notification has been processed, but that's ~equivalent to knowing whether the next one has been started. Really, it's off-by-one, but amortized over e.g. the 100 iterations of a benchmark we get approximately the right results. Also change some functions to accept testing.TB, because in a first pass at this I modified the regtest framework to operate on testing.B in addition to testing.T... but that didn't work out as IWL is just too slow to execute the benchmarks outside of the environment -- even though we can ResetTimer, the benchmark execution is just too slow to be usable. It seems like a fine change to accept testing.TB is some places, though. For golang/go#45686 Change-Id: I8894444b01177dc947bbed56ec7df80a15a2eae9 Reviewed-on: https://go-review.googlesource.com/c/tools/+/317292 Trust: Robert Findley <rfindley@google.com> Run-TryBot: Robert Findley <rfindley@google.com> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
This repository uses prettier to format JS and CSS files.
The version of prettier
used is 1.18.2.
It is encouraged that all JS and CSS code be run through this before submitting a change. However, it is not a strict requirement enforced by CI.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.