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

     1  env GO111MODULE=on
     2  env GOSUMDB=off
     3  
     4  go mod download example.com/join@v1.1.0
     5  
     6  # If the proxy serves a bogus result for the @latest version,
     7  # reading that version should cause 'go get' to fail.
     8  env GOPROXY=file:///$WORK/badproxy
     9  cp go.mod.orig go.mod
    10  ! go get example.com/join/subpkg
    11  stderr 'go: example.com/join/subpkg@v0.0.0-20190624000000-123456abcdef: .*'
    12  
    13  # If @v/list is empty, the 'go' command should still try to resolve
    14  # other module paths.
    15  env GOPROXY=file:///$WORK/emptysub
    16  cp go.mod.orig go.mod
    17  go get example.com/join/subpkg
    18  go list -m example.com/join/...
    19  ! stdout 'example.com/join/subpkg'
    20  stdout 'example.com/join v1.1.0'
    21  
    22  # If @v/list includes a version that the proxy does not actually serve,
    23  # that version is treated as nonexistent.
    24  env GOPROXY=file:///$WORK/notfound
    25  cp go.mod.orig go.mod
    26  go get example.com/join/subpkg
    27  go list -m example.com/join/...
    28  ! stdout 'example.com/join/subpkg'
    29  stdout 'example.com/join v1.1.0'
    30  
    31  # If the proxy provides an empty @v/list but rejects @latest with
    32  # some other explicit error (for example, a "permission denied" error),
    33  # that error should be reported to the user (and override a successful
    34  # result for other possible module paths).
    35  #
    36  # Depending on how the specific platform enforces permissions, the 'go get' may
    37  # fail either due to the intended permission error or due to a parse error.
    38  # We accept either failure message.
    39  env GOPROXY=file:///$WORK/gatekeeper
    40  chmod 0000 $WORK/gatekeeper/example.com/join/subpkg/@latest
    41  cp go.mod.orig go.mod
    42  ! go get example.com/join/subpkg
    43  stderr 'go: module example.com/join/subpkg: (invalid response from proxy ".+": invalid character .+|reading file://.*/gatekeeper/example.com/join/subpkg/@latest: .+)'
    44  
    45  -- go.mod.orig --
    46  module example.com/othermodule
    47  go 1.13
    48  -- $WORK/badproxy/example.com/join/subpkg/@v/list --
    49  v0.0.0-20190624000000-123456abcdef
    50  -- $WORK/badproxy/example.com/join/subpkg/@v/v0.0.0-20190624000000-123456abcdef.info --
    51  This file is not valid JSON.
    52  -- $WORK/badproxy/example.com/join/@v/list --
    53  v1.1.0
    54  -- $WORK/badproxy/example.com/join/@v/v1.1.0.info --
    55  {"Version": "v1.1.0"}
    56  -- $WORK/emptysub/example.com/join/subpkg/@v/list --
    57  -- $WORK/emptysub/example.com/join/@v/list --
    58  v1.1.0
    59  -- $WORK/emptysub/example.com/join/@v/v1.1.0.info --
    60  {"Version": "v1.1.0"}
    61  -- $WORK/notfound/example.com/join/subpkg/@v/list --
    62  v1.0.0-does-not-exist
    63  -- $WORK/notfound/example.com/join/@v/list --
    64  v1.1.0
    65  -- $WORK/notfound/example.com/join/@v/v1.1.0.info --
    66  {"Version": "v1.1.0"}
    67  -- $WORK/gatekeeper/example.com/join/subpkg/@v/list --
    68  -- $WORK/gatekeeper/example.com/join/subpkg/@latest --
    69  ERROR: Latest version is forbidden.
    70  -- $WORK/gatekeeper/example.com/join/@v/list --
    71  v1.1.0
    72  -- $WORK/gatekeeper/example.com/join/@v/v1.1.0.info --
    73  {"Version": "v1.1.0"}
    74  

View as plain text