1 [short] skip
2 [!exec:hg] skip
3
4 env GO111MODULE=on
5 env GOPROXY=direct
6 env GOSUMDB=off
7 env GOMODCACHE=$WORK/modcache
8
9 # go mod download vcstest/tagtests@v0.2.2 should print origin info, no TagSum or RepoSum needed.
10 go mod download -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
11 cp stdout tagtestsv022.json
12 stdout '"Version": "v0.2.2"'
13 ! stdout '"Query":'
14 stdout '"VCS": "hg"'
15 stdout '"URL": ".*/hg/tagtests"'
16 ! stdout '"TagPrefix"'
17 ! stdout '"TagSum"'
18 ! stdout '"RepoSum"'
19 stdout '"Ref": "v0.2.2"'
20 stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"'
21
22 # reuse go mod download vcstest/tagtests@v0.2.2 result
23 go clean -modcache
24 go mod download -reuse=tagtestsv022.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
25 ! stderr 'hg( .*)* pull'
26 stdout '"Reuse": true'
27 stdout '"Version": "v0.2.2"'
28 ! stdout '"Query":'
29 stdout '"VCS": "hg"'
30 stdout '"URL": ".*/hg/tagtests"'
31 ! stdout '"TagPrefix"'
32 ! stdout '"TagSum"'
33 stdout '"Ref": "v0.2.2"'
34 stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"'
35 ! stdout '"(Dir|Info|GoMod|Zip|RepoSum)"'
36
37 # reuse attempt with stale hash should reinvoke hg, not report reuse
38 go clean -modcache
39 cp tagtestsv022.json tagtestsv022badhash.json
40 replace '1e5315' '1e5315XXX' tagtestsv022badhash.json
41 go mod download -reuse=tagtestsv022badhash.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
42 stderr 'hg( .*)* pull'
43 ! stdout '"Reuse": true'
44 stdout '"Version": "v0.2.2"'
45 ! stdout '"Query"'
46 stdout '"VCS": "hg"'
47 stdout '"URL": ".*/hg/tagtests"'
48 ! stdout '"(TagPrefix|TagSum|RepoSum)"'
49 stdout '"Ref": "v0.2.2"'
50 stdout '"Hash": "1e531550e864b16f25013cfbbf2d8e7cf07a0374"'
51 stdout '"Dir"'
52 stdout '"Info"'
53 stdout '"GoMod"'
54 stdout '"Zip"'
55
56 # reuse with stale repo URL
57 go clean -modcache
58 cp tagtestsv022.json tagtestsv022badurl.json
59 replace 'hg/tagtests\"' 'hg/tagtestsXXX\"' tagtestsv022badurl.json
60 go mod download -reuse=tagtestsv022badurl.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
61 ! stdout '"Reuse": true'
62 stdout '"URL": ".*/hg/tagtests"'
63 stdout '"Dir"'
64 stdout '"Info"'
65 stdout '"GoMod"'
66 stdout '"Zip"'
67
68 # reuse with stale VCS
69 go clean -modcache
70 cp tagtestsv022.json tagtestsv022badvcs.json
71 replace '\"hg\"' '\"hgXXX\"' tagtestsv022badvcs.json
72 go mod download -reuse=tagtestsv022badvcs.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
73 ! stdout '"Reuse": true'
74 stdout '"URL": ".*/hg/tagtests"'
75 ! stdout '"RepoSum"'
76
77 # reuse with stale Dir
78 go clean -modcache
79 cp tagtestsv022.json tagtestsv022baddir.json
80 replace '\"VCS\":' '\"Subdir\":\"subdir\", \"VCS\":' tagtestsv022baddir.json
81 go mod download -reuse=tagtestsv022baddir.json -x -json vcs-test.golang.org/hg/tagtests.hg@v0.2.2
82 ! stdout '"Reuse": true'
83 stdout '"URL": ".*/hg/tagtests"'
84 ! stdout '"RepoSum"'
View as plain text