...

Text file src/cmd/go/testdata/script/mod_replace_gopkgin.txt

Documentation: cmd/go/testdata/script

     1# Regression test for golang.org/issue/34254:
     2# a clone of gopkg.in/[…].vN should be replaceable by
     3# a fork hosted at corp.example.com/[…]/vN,
     4# even if there is an explicit go.mod file containing the
     5# gopkg.in path.
     6
     7skip 'skipping test that depends on an unreliable third-party server; see https://go.dev/issue/54503'
     8# TODO(#54503): Make this work without needing the external network, and then re-enable.
     9[!git] skip
    10
    11env GO111MODULE=on
    12env GOPROXY=direct
    13env GOSUMDB=off
    14env GOFLAGS=-mod=mod
    15
    16# Replacing gopkg.in/[…].vN with a repository with a root go.mod file
    17# specifying […].vN and a compatible version should succeed, even if
    18# the replacement path is not a gopkg.in path.
    19cd 4-to-4
    20go list -m gopkg.in/src-d/go-git.v4
    21
    22# Previous versions of the "go" command accepted v0 and v1 pseudo-versions
    23# as replacements for gopkg.in/[…].v4.
    24# As a special case, we continue to accept those.
    25
    26cd ../4-to-0
    27go list -m gopkg.in/src-d/go-git.v4
    28
    29cd ../4-to-1
    30go list -m gopkg.in/src-d/go-git.v4
    31
    32cd ../4-to-incompatible
    33go list -m gopkg.in/src-d/go-git.v4
    34
    35# A mismatched gopkg.in path should not be able to replace a different major version.
    36cd ../3-to-gomod-4
    37! go list -m gopkg.in/src-d/go-git.v3
    38stderr '^go: gopkg\.in/src-d/go-git\.v3@v3\.2\.0 \(replaced by gopkg\.in/src-d/go-git\.v3@v3\.0\.0-20190801152248-0d1a009cbb60\): version "v3\.0\.0-20190801152248-0d1a009cbb60" invalid: go\.mod has non-\.\.\.\.v3 module path "gopkg\.in/src-d/go-git\.v4" at revision 0d1a009cbb60$'
    39
    40-- 4-to-4/go.mod --
    41module golang.org/issue/34254
    42
    43go 1.13
    44
    45require gopkg.in/src-d/go-git.v4 v4.13.1
    46
    47replace gopkg.in/src-d/go-git.v4 v4.13.1 => github.com/src-d/go-git/v4 v4.13.1
    48-- 4-to-1/go.mod --
    49module golang.org/issue/34254
    50
    51go 1.13
    52
    53require gopkg.in/src-d/go-git.v4 v4.13.1
    54
    55replace gopkg.in/src-d/go-git.v4 v4.13.1 => github.com/src-d/go-git v1.0.1-0.20190801152248-0d1a009cbb60
    56-- 4-to-0/go.mod --
    57module golang.org/issue/34254
    58
    59go 1.13
    60
    61require gopkg.in/src-d/go-git.v4 v4.13.1
    62
    63replace gopkg.in/src-d/go-git.v4 v4.13.1 => github.com/src-d/go-git v0.0.0-20190801152248-0d1a009cbb60
    64-- 4-to-incompatible/go.mod --
    65module golang.org/issue/34254
    66
    67go 1.13
    68
    69require gopkg.in/src-d/go-git.v4 v4.13.1
    70
    71replace gopkg.in/src-d/go-git.v4 v4.13.1 => github.com/src-d/go-git v4.6.0+incompatible
    72-- 3-to-gomod-4/go.mod --
    73module golang.org/issue/34254
    74go 1.13
    75
    76require gopkg.in/src-d/go-git.v3 v3.2.0
    77
    78// This replacement has a go.mod file declaring its path to be
    79// gopkg.in/src-d/go-git.v4, so it cannot be used as a replacement for v3.
    80replace gopkg.in/src-d/go-git.v3 v3.2.0 => gopkg.in/src-d/go-git.v3 v3.0.0-20190801152248-0d1a009cbb60

View as plain text