Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmd/go: go test -i doesn't grok vendored dependencies #11988

Closed
jacobsa opened this issue Aug 3, 2015 · 1 comment
Closed

cmd/go: go test -i doesn't grok vendored dependencies #11988

jacobsa opened this issue Aug 3, 2015 · 1 comment
Milestone

Comments

@jacobsa
Copy link
Contributor

jacobsa commented Aug 3, 2015

% go version
go version devel +a33b522 Sun Aug 2 23:47:00 2015 +0000 darwin/amd64

% go env | grep VENDOR
GO15VENDOREXPERIMENT="1"

It seems go build -i and go test -i treat vendored dependencies differently, which seems unintended. Set up as follows to reproduce:

rm -rf $GOPATH/{src,pkg}
mkdir -p $GOPATH/src/github.com/googlecloudplatform
git clone https://github.com/GoogleCloudPlatform/gcsfuse.git $GOPATH/src/github.com/googlecloudplatform/gcsfuse
cd $GOPATH/src/github.com/googlecloudplatform/gcsfuse
git checkout 818d87d98848695a1f30e1710b6d3f8182b7329e

go build is totally happy to install vendored dependencies:

% go build -i -v
github.com/googlecloudplatform/gcsfuse/vendor/github.com/codegangsta/cli
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/net/context
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/oglematchers
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/fsutil
github.com/googlecloudplatform/gcsfuse/vendor/google.golang.org/api/googleapi/internal/uritemplates
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/internal/fusekernel
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/internal/freelist
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/util/lrucache
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/sys/unix
github.com/googlecloudplatform/gcsfuse/mount
github.com/googlecloudplatform/gcsfuse/perms
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/oauth2/jws
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/syncutil
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/gcloud/httputil
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/reqtrace
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/oauth2/internal
github.com/googlecloudplatform/gcsfuse/vendor/google.golang.org/cloud/internal
github.com/googlecloudplatform/gcsfuse/vendor/google.golang.org/api/googleapi
github.com/googlecloudplatform/gcsfuse/lease
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/fuseops
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/internal/buffer
github.com/googlecloudplatform/gcsfuse/vendor/google.golang.org/cloud/compute/metadata
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/oauth2
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse
github.com/googlecloudplatform/gcsfuse/vendor/google.golang.org/api/storage/v1
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/timeutil
github.com/googlecloudplatform/gcsfuse/mutable
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/oauth2/jwt
github.com/googlecloudplatform/gcsfuse/vendor/golang.org/x/oauth2/google
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/fuse/fuseutil
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/gcloud/gcs
github.com/googlecloudplatform/gcsfuse/gcsproxy
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/gcloud/gcs/gcsutil
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/gcloud/gcs/gcscaching
github.com/googlecloudplatform/gcsfuse/vendor/github.com/jacobsa/ratelimit
github.com/googlecloudplatform/gcsfuse/fs/inode
github.com/googlecloudplatform/gcsfuse/fs
github.com/googlecloudplatform/gcsfuse

But go test is not:

% go test -i -v
can't load package: package github.com/codegangsta/cli: cannot find package "github.com/codegangsta/cli" in any of:
        /Users/jacobsa/clients/go/src/github.com/codegangsta/cli (from $GOROOT)
        /Users/jacobsa/go/src/github.com/codegangsta/cli (from $GOPATH)
can't load package: package github.com/jacobsa/fuse: cannot find package "github.com/jacobsa/fuse" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/fuse (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/fuse (from $GOPATH)
can't load package: package github.com/jacobsa/gcloud/gcs: cannot find package "github.com/jacobsa/gcloud/gcs" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/gcloud/gcs (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/gcloud/gcs (from $GOPATH)
can't load package: package github.com/jacobsa/gcloud/gcs/gcsfake: cannot find package "github.com/jacobsa/gcloud/gcs/gcsfake" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/gcloud/gcs/gcsfake (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/gcloud/gcs/gcsfake (from $GOPATH)
can't load package: package github.com/jacobsa/gcloud/gcs/gcsutil: cannot find package "github.com/jacobsa/gcloud/gcs/gcsutil" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/gcloud/gcs/gcsutil (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/gcloud/gcs/gcsutil (from $GOPATH)
can't load package: package github.com/jacobsa/oglematchers: cannot find package "github.com/jacobsa/oglematchers" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/oglematchers (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/oglematchers (from $GOPATH)
can't load package: package github.com/jacobsa/ogletest: cannot find package "github.com/jacobsa/ogletest" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/ogletest (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/ogletest (from $GOPATH)
can't load package: package github.com/jacobsa/timeutil: cannot find package "github.com/jacobsa/timeutil" in any of:
        /Users/jacobsa/clients/go/src/github.com/jacobsa/timeutil (from $GOROOT)
        /Users/jacobsa/go/src/github.com/jacobsa/timeutil (from $GOPATH)
can't load package: package golang.org/x/net/context: cannot find package "golang.org/x/net/context" in any of:
        /Users/jacobsa/clients/go/src/golang.org/x/net/context (from $GOROOT)
        /Users/jacobsa/go/src/golang.org/x/net/context (from $GOPATH)

I would prefer both to have the behavior of go build -i, since I regularly use go test -i to reduce the time taken for each go test invocation when repeatedly running the tests.

@ianlancetaylor ianlancetaylor added this to the Go1.5Maybe milestone Aug 3, 2015
rsc added a commit to rsc/go-get-issue-11864 that referenced this issue Aug 5, 2015
@gopherbot
Copy link

CL https://golang.org/cl/13230 mentions this issue.

@rsc rsc modified the milestones: Go1.5, Go1.5Maybe Aug 5, 2015
@rsc rsc closed this as completed in 0fb87ab Aug 5, 2015
@golang golang locked and limited conversation to collaborators Aug 5, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants