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

     1  # golang.org/issue/34055
     2  # Starting in Go 1.25, go-import meta tag support an optional subdirectory paramater.
     3  # The corresponding go-import meta tag is specified as
     4  # <meta name="go-import" content="vcs-test.golang.org/go/gitreposubdir git https://vcs-test.golang.org/git/gitreposubdir foo/subdir">
     5  # and contains the module in vcs-test.golang.org/git/gitreposubdir/foo/subdir.
     6  # See testdata/vcstest/go/gitreposubdir.txt and testdata/vcstest/git/gitreposubdir.txt
     7  
     8  [short] skip 'builds a go program'
     9  [!git] skip
    10  
    11  env GO111MODULE=on
    12  env GOPROXY=direct
    13  env GOSUMDB=off
    14  
    15  # Get the module without having to specify the subdir.
    16  cd a
    17  cp go.mod go.mod.orig
    18  go get vcs-test.golang.org/go/gitreposubdir@v1.2.3
    19  exists $GOPATH/pkg/mod/vcs-test.golang.org/go/gitreposubdir@v1.2.3
    20  go get vcs-test.golang.org/go/gitreposubdirv2/v2@v2.0.0
    21  exists $GOPATH/pkg/mod/vcs-test.golang.org/go/gitreposubdirv2/v2@v2.0.0
    22  
    23  # Import the module without having to specify the subdir.
    24  cp go.mod.orig go.mod
    25  go mod tidy
    26  
    27  # Run main.go which has the import.
    28  go run main.go
    29  stdout 'hello, world'
    30  stdout 'hello, world v2'
    31  
    32  # Fail if subdir is specified in get.
    33  ! go get vcs-test.golang.org/go/gitreposubdir/foo/subdir
    34  stderr 'module vcs-test.golang.org/go/gitreposubdir@upgrade found \(v1.2.3\), but does not contain package vcs-test.golang.org/go/gitreposubdir/foo/subdir'
    35  ! go get vcs-test.golang.org/go/gitreposubdirv2/v2/foo/subdir
    36  stderr 'module vcs-test.golang.org/go/gitreposubdirv2/v2@upgrade found \(v2.0.0\), but does not contain package vcs-test.golang.org/go/gitreposubdirv2/v2/foo/subdir'
    37  
    38  # Fail if subdir is specified in the import.
    39  cd ../b
    40  ! go mod tidy
    41  stderr 'module vcs-test.golang.org/go/gitreposubdir@latest found \(v1.2.3\), but does not contain package vcs-test.golang.org/go/gitreposubdir/foo/subdir'
    42  stderr 'module vcs-test.golang.org/go/gitreposubdirv2/v2@latest found \(v2.0.0\), but does not contain package vcs-test.golang.org/go/gitreposubdirv2/v2/foo/subdir'
    43  
    44  -- a/main.go --
    45  package main
    46  
    47  import (
    48      "fmt"
    49      "vcs-test.golang.org/go/gitreposubdir"
    50      "vcs-test.golang.org/go/gitreposubdirv2/v2"
    51  )
    52  
    53  func main() {
    54      fmt.Println(greeter.Hello())
    55      fmt.Println(greeterv2.Hello())
    56  }
    57  -- a/go.mod --
    58  module example
    59  
    60  go 1.24
    61  -- b/main.go --
    62  package main
    63  
    64  import (
    65      "fmt"
    66      "vcs-test.golang.org/go/gitreposubdir/foo/subdir"
    67      "vcs-test.golang.org/go/gitreposubdirv2/v2/foo/subdir"
    68  )
    69  
    70  func main() {
    71      fmt.Println(greeter.Hello())
    72      fmt.Println(greeterv2.Hello())
    73  }
    74  -- b/go.mod --
    75  module example
    76  
    77  go 1.24
    78  

View as plain text