aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/go/testdata/script/mod_retract.txt
blob: a52e05bc72e6a8ab77250893f8663c0f05c0b051 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cp go.mod go.mod.orig

# Populate go.sum.
go mod download

# 'go list pkg' does not report an error when a retracted version is used.
go list -e -f '{{if .Error}}{{.Error}}{{end}}' ./use
! stdout .
cmp go.mod go.mod.orig

# Nor does 'go build'.
[!short] go build ./use
[!short] ! stderr .
[!short] cmp go.mod go.mod.orig

# Neither 'go list' nor 'go build' should download go.mod from the version
# that would list retractions.
exists $GOPATH/pkg/mod/cache/download/example.com/retract/@v/v1.0.0-bad.mod
! exists $GOPATH/pkg/mod/cache/download/example.com/retract/@v/v1.1.0.mod

# Importing a package from a module with a retracted latest version will
# select the latest non-retracted version.
go get -d ./use_self_prev
go list -m example.com/retract/self/prev
stdout '^example.com/retract/self/prev v1.1.0$'
exists $GOPATH/pkg/mod/cache/download/example.com/retract/self/prev/@v/v1.9.0.mod

-- go.mod --
module example.com/use

go 1.15

require example.com/retract v1.0.0-bad

-- use/use.go --
package use

import _ "example.com/retract"

-- use_self_prev/use.go --
package use_self_prev

import _ "example.com/retract/self/prev"