internal/regtest/bench: fix BenchmarkRename and add more benchmark tests for gopls
Change-Id: I8863f3f5b5a50b92a3e844b4fec1902bda1061ce
Reviewed-on: https://go-review.googlesource.com/c/tools/+/461802
Reviewed-by: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dylan Le <dungtuanle@google.com>
diff --git a/gopls/internal/regtest/bench/editor_features_test.go b/gopls/internal/regtest/bench/editor_features_test.go
index 92df344..bba6baa 100644
--- a/gopls/internal/regtest/bench/editor_features_test.go
+++ b/gopls/internal/regtest/bench/editor_features_test.go
@@ -47,9 +47,37 @@
b.ResetTimer()
- for i := 0; i < b.N; i++ {
+ for i := 1; i < b.N; i++ {
pos := env.RegexpSearch("internal/imports/mod.go", "gopathwalk")
newName := fmt.Sprintf("%s%d", "gopathwalk", i)
env.Rename("internal/imports/mod.go", pos, newName)
}
}
+
+func BenchmarkFindAllImplementations(b *testing.B) {
+ env := benchmarkEnv(b)
+
+ env.OpenFile("internal/imports/mod.go")
+ pos := env.RegexpSearch("internal/imports/mod.go", "initAllMods")
+ env.Await(env.DoneWithOpen())
+
+ b.ResetTimer()
+
+ for i := 0; i < b.N; i++ {
+ env.Implementations("internal/imports/mod.go", pos)
+ }
+}
+
+func BenchmarkHover(b *testing.B) {
+ env := benchmarkEnv(b)
+
+ env.OpenFile("internal/imports/mod.go")
+ pos := env.RegexpSearch("internal/imports/mod.go", "bytes")
+ env.Await(env.DoneWithOpen())
+
+ b.ResetTimer()
+
+ for i := 0; i < b.N; i++ {
+ env.Hover("internal/imports/mod.go", pos)
+ }
+}