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

     1  # Tests Issue #38478
     2  # Tests that go get in GOMOD mode returns a specific error if the argument
     3  # ends with '.go', has no version, and either has no slash or refers to an
     4  # existing file.
     5  
     6  env GO111MODULE=on
     7  
     8  # argument doesn't have .go suffix and has no version
     9  ! go get test
    10  ! stderr 'arguments must be package or module paths'
    11  ! stderr 'exists as a file, but ''go get'' requires package arguments'
    12  
    13  # argument has .go suffix and has version
    14  ! go get test.go@v1.0.0
    15  ! stderr 'arguments must be package or module paths'
    16  ! stderr 'exists as a file, but ''go get'' requires package arguments'
    17  
    18  # argument has .go suffix, is a file and exists
    19  ! go get test.go
    20  stderr 'go: test.go: arguments must be package or module paths'
    21  
    22  # argument has .go suffix, doesn't exist and has no slashes
    23  ! go get test_missing.go
    24  stderr 'arguments must be package or module paths'
    25  
    26  # argument has .go suffix, is a file and exists in sub-directory
    27  ! go get test/test.go
    28  stderr 'go: test/test.go exists as a file, but ''go get'' requires package arguments'
    29  
    30  # argument has .go suffix, doesn't exist and has slashes
    31  ! go get test/test_missing.go
    32  ! stderr 'arguments must be package or module paths'
    33  ! stderr 'exists as a file, but ''go get'' requires package arguments'
    34  
    35  # argument has .go suffix, is a symlink and exists
    36  [symlink] symlink test_sym.go -> test.go
    37  [symlink] ! go get test_sym.go
    38  [symlink] stderr 'go: test_sym.go: arguments must be package or module paths'
    39  [symlink] rm test_sym.go
    40  
    41  # argument has .go suffix, is a symlink and exists in sub-directory
    42  [symlink] symlink test/test_sym.go -> test.go
    43  [symlink] ! go get test/test_sym.go
    44  [symlink] stderr 'go: test/test_sym.go exists as a file, but ''go get'' requires package arguments'
    45  [symlink] rm test_sym.go
    46  
    47  # argument has .go suffix, is a directory and exists
    48  mkdir test_dir.go
    49  ! go get test_dir.go
    50  stderr 'go: test_dir.go: arguments must be package or module paths'
    51  rm test_dir.go
    52  
    53  # argument has .go suffix, is a directory and exists in sub-directory
    54  mkdir test/test_dir.go
    55  ! go get test/test_dir.go
    56  ! stderr 'arguments must be package or module paths'
    57  ! stderr 'exists as a file, but ''go get'' requires package arguments'
    58  rm test/test_dir.go
    59  
    60  
    61  -- go.mod --
    62  module m
    63  
    64  go 1.18
    65  
    66  -- test.go --
    67  package main
    68  func main() {println("test")}
    69  
    70  
    71  -- test/test.go --
    72  package main
    73  func main() {println("test")}
    74  

View as plain text