gopls/coverage: repair coverage.go

Coverage.go computes the test coverage from running all the gopls tests.

This CL accounts for the changed source tree (internal/lsp is gone)
and new actions returned by go test -json ('pause' and 'cont').

Change-Id: I970b3ec107746ce02e3dcdcad9f8c19cffad8d11
Reviewed-on: https://go-review.googlesource.com/c/tools/+/448295
Run-TryBot: Peter Weinberger <pjw@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/gopls/internal/coverage/coverage.go b/gopls/internal/coverage/coverage.go
index 1ceabef..9a7d219 100644
--- a/gopls/internal/coverage/coverage.go
+++ b/gopls/internal/coverage/coverage.go
@@ -188,7 +188,12 @@
 		if *verbose > 3 {
 			fmt.Printf("%s %s %q %.3f\n", m.Action, m.Test, m.Output, m.Elapsed)
 		}
+	case "pause", "cont":
+		if *verbose > 2 {
+			fmt.Printf("%s %s %.3f\n", m.Action, m.Test, m.Elapsed)
+		}
 	default:
+		fmt.Printf("%#v\n", m)
 		log.Fatalf("unknown action %s\n", m.Action)
 	}
 }
@@ -228,7 +233,7 @@
 	if err != nil {
 		log.Fatal(err)
 	}
-	// we expect to be a the root of golang.org/x/tools
+	// we expect to be at the root of golang.org/x/tools
 	cmd := exec.Command("go", "list", "-m", "-f", "{{.Dir}}", "golang.org/x/tools")
 	buf, err := cmd.Output()
 	buf = bytes.Trim(buf, "\n \t") // remove \n at end
@@ -243,10 +248,6 @@
 	if err != nil {
 		log.Fatalf("expected a gopls directory, %v", err)
 	}
-	_, err = os.Stat("internal/lsp")
-	if err != nil {
-		log.Fatalf("expected to see internal/lsp, %v", err)
-	}
 }
 
 func listDirs(dir string) []string {