| # Test 'go get' with a local module with a name that is not valid for network lookup. |
| [short] skip |
| |
| env GO111MODULE=on |
| go mod edit -fmt |
| cp go.mod go.mod.orig |
| |
| # 'go get -u' within the main module should work, even if it has a local-only name. |
| cp go.mod.orig go.mod |
| go get -d -u ./... |
| grep 'rsc.io/quote.*v1.5.2' go.mod |
| grep 'golang.org/x/text.*v0.3.0' go.mod |
| cp go.mod go.mod.implicitmod |
| |
| # 'go get -u local/...' should be equivalent to 'go get -u ./...' |
| # (assuming no nested modules) |
| cp go.mod.orig go.mod |
| go get -d -u local/... |
| cmp go.mod go.mod.implicitmod |
| |
| # For the main module, @patch should be a no-op. |
| cp go.mod.orig go.mod |
| go get -d -u local/...@patch |
| cmp go.mod go.mod.implicitmod |
| |
| # 'go get -u -d' in the empty root of the main module should fail. |
| # 'go get -u -d .' should also fail. |
| cp go.mod.orig go.mod |
| ! go get -u -d |
| ! go get -u -d . |
| |
| # 'go get -u -d .' within a package in the main module updates the dependencies |
| # of that package. |
| cp go.mod.orig go.mod |
| cd uselang |
| go get -u -d . |
| cd .. |
| grep 'rsc.io/quote.*v1.3.0' go.mod |
| grep 'golang.org/x/text.*v0.3.0' go.mod |
| cp go.mod go.mod.dotpkg |
| |
| # 'go get -u -d' with an explicit package in the main module updates the |
| # dependencies of that package. |
| cp go.mod.orig go.mod |
| go get -u -d local/uselang |
| cmp go.mod go.mod.dotpkg |
| |
| -- go.mod -- |
| module local |
| |
| require ( |
| golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c |
| rsc.io/quote v1.3.0 |
| ) |
| |
| -- uselang/uselang.go -- |
| package uselang |
| import _ "golang.org/x/text/language" |
| |
| -- usequote/usequote.go -- |
| package usequote |
| import _ "rsc.io/quote" |