commit | 71dfda0503371efaacb2be1d5226572b72bbe60d | [log] [tgz] |
---|---|---|
author | Alan Donovan <adonovan@google.com> | Tue Oct 02 16:24:02 2018 -0400 |
committer | Alan Donovan <adonovan@google.com> | Wed Oct 03 17:40:11 2018 +0000 |
tree | 04c188fb7704517389886694127fbebf9f3c616a | |
parent | 9fb5a2f241faf72fa927d328771f18998e4126b0 [diff] |
go/analysis/analysistest: support testing of facts This change adds support for testing the facts produced by an Analyzer using a similar mechanism to the way it checks for diagnostics. A "// want ..." comment may now contain a mixture of expectations for diagnostics and facts. Diagnostics are indicated by a string literal, as before. Facts are indicated by name:"regexp" where name identifies the object (declared on the same line) with which the fact is associated. func neverReturns() { // want neverReturns:"noReturn" for {} } Also: - analysistest: report errors during package loading. (We don't yet have a way to test RunDespiteErrors Analyzers in the face of errors.) - tests for Facts produced by findcall and pkgfacts. (Findcall now produces facts just for testing.) - Add String method to various Fact types. Should the Fact interface have this method? Change-Id: Ifa15fbd49d6ec3042b5fe9d3ebf22f4bdfdc8769 Reviewed-on: https://go-review.googlesource.com/139157 Reviewed-by: Michael Matloob <matloob@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 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.