github.com/gagliardetto/golang-go@v0.0.0-20201020153340-53909ea70814/cmd/go/testdata/script/mod_prefer_compatible.txt (about) 1 # Regression test for golang.org/issue/34189 and golang.org/issue/34165: 2 # @latest, @upgrade, and @patch should prefer compatible versions over 3 # +incompatible ones, even if offered by a proxy. 4 5 [!net] skip 6 7 env GO111MODULE=on 8 env GOPROXY= 9 env GOSUMDB= 10 11 # github.com/russross/blackfriday v2.0.0+incompatible exists, 12 # and should be resolved if we ask for v2.0 explicitly. 13 14 go list -m github.com/russross/blackfriday@v2.0 15 stdout '^github.com/russross/blackfriday v2\.0\.0\+incompatible$' 16 17 # blackfriday v1.5.2 has a go.mod file, so v1.5.2 should be preferred over 18 # v2.0.0+incompatible when resolving latest, upgrade, and patch. 19 20 go list -m github.com/russross/blackfriday@latest 21 stdout '^github.com/russross/blackfriday v1\.' 22 23 go list -m github.com/russross/blackfriday@upgrade 24 stdout '^github.com/russross/blackfriday v1\.' 25 26 go list -m github.com/russross/blackfriday@patch 27 stdout '^github.com/russross/blackfriday v1\.' 28 29 # If we're fetching directly from version control, ignored +incompatible 30 # versions should also be omitted by 'go list'. 31 32 # (Note that they may still be included in results from a proxy: in proxy mode, 33 # we would need to fetch the whole zipfile for the latest compatible version in 34 # order to determine whether it contains a go.mod file, and part of the point of 35 # the proxy is to avoid fetching unnecessary data.) 36 37 [!exec:git] stop 38 env GOPROXY=direct 39 40 go list -versions -m github.com/russross/blackfriday github.com/russross/blackfriday 41 stdout '^github.com/russross/blackfriday v1\.5\.1 v1\.5\.2' # and possibly others 42 ! stdout ' v2\.' 43 44 # However, if the latest compatible version does not include a go.mod file, 45 # +incompatible versions should still be listed, as they may still reflect the 46 # intent of the module author. 47 48 go list -versions -m github.com/rsc/legacytest 49 stdout '^github.com/rsc/legacytest v1\.0\.0 v1\.1\.0-pre v1\.2\.0 v2\.0\.0\+incompatible' 50 51 # If we're fetching directly from version control, asking for a commit hash 52 # corresponding to a +incompatible version should continue to produce the 53 # +incompatible version tagged for that commit, even if it is no longer listed. 54 55 go list -m github.com/russross/blackfriday@cadec560ec52 56 stdout '^github.com/russross/blackfriday v2\.0\.0\+incompatible$' 57 58 # Similarly, requesting an untagged commit should continue to produce a +incompatible 59 # pseudo-version. 60 61 go list -m github.com/rsc/legacytest@7303f7796364 62 stdout '^github.com/rsc/legacytest v2\.0\.1-0\.20180717164253-7303f7796364\+incompatible$' 63 64 -- go.mod -- 65 module github.com/golang.org/issue/34165