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

     1  env GO111MODULE=off
     2  [short] skip
     3  
     4  # This test matches mod_list_bad_import, but in GOPATH mode.
     5  # Please keep them in sync.
     6  
     7  env GO111MODULE=off
     8  cd example.com
     9  
    10  # Without -e, listing an otherwise-valid package with an unsatisfied direct import should fail.
    11  # BUG: Today it succeeds.
    12  go list -f '{{if .Error}}error{{end}} {{if .Incomplete}}incomplete{{end}} {{range .DepsErrors}}bad dep: {{.Err}}{{end}}' example.com/direct
    13  ! stdout ^error
    14  stdout 'incomplete'
    15  stdout 'bad dep: .*example.com[/\\]notfound'
    16  
    17  # Listing with -deps should also fail.
    18  ! go list -deps example.com/direct
    19  stderr example.com[/\\]notfound
    20  
    21  # But -e -deps should succeed.
    22  go list -e -deps example.com/direct
    23  stdout example.com/notfound
    24  
    25  
    26  # Listing an otherwise-valid package that imports some *other* package with an
    27  # unsatisfied import should also fail.
    28  # BUG: Today, it succeeds.
    29  go list -f '{{if .Error}}error{{end}} {{if .Incomplete}}incomplete{{end}} {{range .DepsErrors}}bad dep: {{.Err}}{{end}}' example.com/indirect
    30  ! stdout ^error
    31  stdout incomplete
    32  stdout 'bad dep: .*example.com[/\\]notfound'
    33  
    34  # Again, -deps should fail.
    35  ! go list -deps example.com/indirect
    36  stderr example.com[/\\]notfound
    37  
    38  # But -deps -e should succeed.
    39  go list -e -deps example.com/indirect
    40  stdout example.com/notfound
    41  
    42  
    43  # Listing the missing dependency directly should fail outright...
    44  ! go list -f '{{if .Error}}error{{end}} {{if .Incomplete}}incomplete{{end}}' example.com/notfound
    45  stderr 'no Go files in .*example.com[/\\]notfound'
    46  ! stdout error
    47  ! stdout incomplete
    48  
    49  # ...but listing with -e should succeed.
    50  go list -e -f '{{if .Error}}error{{end}} {{if .Incomplete}}incomplete{{end}}' example.com/notfound
    51  stdout error
    52  stdout incomplete
    53  
    54  
    55  # The pattern "all" should match only packages that actually exist,
    56  # ignoring those whose existence is merely implied by imports.
    57  go list -e -f '{{.ImportPath}}' all
    58  stdout example.com/direct
    59  stdout example.com/indirect
    60  ! stdout example.com/notfound
    61  
    62  
    63  -- example.com/direct/direct.go --
    64  package direct
    65  import _ "example.com/notfound"
    66  
    67  -- example.com/indirect/indirect.go --
    68  package indirect
    69  import _ "example.com/direct"
    70  
    71  -- example.com/notfound/README --
    72  This directory intentionally left blank.
    73  

View as plain text