| [short] skip |
| [!exec:hg] skip |
| |
| env GO111MODULE=on |
| env GOPROXY=direct |
| env GOSUMDB=off |
| env GOMODCACHE=$WORK/modcache |
| |
| # go mod download with the pseudo-version should invoke hg but not have a TagSum or Ref or RepoSum. |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922011414-e483a7d9f8c9 |
| stderr 'hg( .*)* pull' |
| cp stdout hellopseudo.json |
| ! stdout '"(Query|TagPrefix|TagSum|Ref|RepoSum)"' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"RepoSum"' |
| go clean -modcache |
| |
| |
| # go mod download vcstest/hello should invoke hg, print origin info |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@latest |
| stderr 'hg( .*)* pull' |
| cp stdout hello.json |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| stdout '"Query": "latest"' |
| ! stdout '"TagPrefix"' |
| ! stdout '"TagSum"' |
| stdout '"Ref": "tip"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| |
| # pseudo-version again should not invoke hg pull (it has the version from the @latest query) |
| # but still be careful not to include a TagSum or a Ref, especially not Ref set to HEAD, |
| # which is easy to do when reusing the cached version from the @latest query. |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922011414-e483a7d9f8c9 |
| ! stderr 'hg( .*)* pull' |
| cp stdout hellopseudo2.json |
| cmpenv hellopseudo.json hellopseudo2.json |
| |
| # reuse go mod download vcstest/hello pseudoversion result |
| go clean -modcache |
| go mod download -reuse=hellopseudo.json -x -json vcs-test.golang.org/hg/hello.hg@v0.0.0-20170922011414-e483a7d9f8c9 |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| ! stdout '"(Query|TagPrefix|TagSum|Ref)"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"' |
| |
| # reuse go mod download vcstest/hello result |
| go clean -modcache |
| go mod download -reuse=hello.json -x -json vcs-test.golang.org/hg/hello.hg@latest |
| ! stderr 'hg( .*)* pull' |
| stdout '"Reuse": true' |
| stdout '"Version": "v0.0.0-20170922011414-e483a7d9f8c9"' |
| stdout '"VCS": "hg"' |
| stdout '"URL": ".*/hg/hello"' |
| ! stdout '"TagPrefix"' |
| stdout '"RepoSum": "r1:blLvkhBriVMV[+]6Il4Ub43wlyWXIe1NpobTelF0peaG0="' |
| stdout '"Ref": "tip"' |
| stdout '"Hash": "e483a7d9f8c9b4bc57430bdd8f81f0a65e4011c0"' |
| ! stdout '"(Dir|Info|GoMod|Zip)"' |
| |
| # clean the module cache, make sure that makes go mod download re-run hg pull, clean again |
| go clean -modcache |
| go mod download -x -json vcs-test.golang.org/hg/hello.hg@latest |
| stderr 'hg( .*)* pull' |
| go clean -modcache |