• Russ Cox's avatar
    cmd/cover: invoke go command to find packages · fd263cce
    Russ Cox authored
    cmd/cover has always assumed that package x/y/z can be
    found in $GOPATH/src/x/y/z (roughly; by using go/build).
    That won't be true for too much longer. Instead, run the
    go command to find out where packages are.
    
    This will make 'go tool cover' safe for use with Go modules
    when they are in use in Go 1.11, and it continues to work
    with the existing Go toolchains too.
    
    An alternative would be to modify the cover profile format
    to record file names directly, but that would require also
    updating golang.org/x/tools/cover/profile and any tools
    that use it, which seems not worth the trouble.
    (That fork of the code does not contain any code to resolve
    package names to directory locations, so it's unaffected.)
    
    No new test here: cmd/go's TestCoverageFunc tests this code.
    
    Fixes #25318 (when people use Go 1.11 instead of vgo).
    
    Change-Id: I8769b15107aecf25f7aaf8692b724cf7d0f073d0
    Reviewed-on: https://go-review.googlesource.com/122478
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    Reviewed-by: 's avatarAlan Donovan <adonovan@google.com>
    fd263cce
func.go 6.2 KB