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

     1  # go build ./... should skip 'ignore' directives
     2  # See golang.org/issue/42965
     3  
     4  env ROOT=$WORK${/}gopath${/}src
     5  
     6  # no ignore directive; should not skip any directories.
     7  cp go.mod.orig go.mod
     8  go build -x ./...
     9  stderr 'packagefile example/foo/secret'
    10  stderr 'packagefile example/pkg/foo'
    11  stderr 'packagefile example/pkg/fo'
    12  ! stderr 'ignoring directory'
    13  
    14  # ignored ./foo should be skipped.
    15  cp go.mod.relative go.mod
    16  go build -x ./...
    17  stderr 'packagefile example/pkg/foo'
    18  stderr 'packagefile example/pkg/fo'
    19  ! stderr 'packagefile example/foo/secret'
    20  stderr 'ignoring directory '$ROOT''${/}'foo'
    21  ! stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    22  
    23  # ignored foo; any foo should be skipped.
    24  cp go.mod.any go.mod
    25  go build -x ./...
    26  stderr 'packagefile example/pkg/fo'
    27  ! stderr 'packagefile example/pkg/foo'
    28  ! stderr 'packagefile example/foo/secret'
    29  stderr 'ignoring directory '$ROOT''${/}'foo'
    30  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    31  
    32  # non-existent ignore; should not skip any directories.
    33  cp go.mod.dne go.mod
    34  go build -x ./...
    35  stderr 'packagefile example/foo/secret'
    36  stderr 'packagefile example/pkg/foo'
    37  stderr 'packagefile example/pkg/fo'
    38  ! stderr 'ignoring directory'
    39  
    40  # ignored fo; should not skip foo/ and should skip fo/
    41  cp go.mod.partial go.mod
    42  go build -x ./...
    43  ! stderr 'ignoring directory '$ROOT''${/}'foo'
    44  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'fo$'
    45  ! stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    46  
    47  # ignored pkg/foo; should skip pkg/foo/
    48  cp go.mod.tree go.mod
    49  go build -x ./...
    50  stderr 'packagefile example/foo/secret'
    51  stderr 'packagefile example/pkg/fo'
    52  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    53  
    54  # ignored /pkg/foo/; should skip pkg/foo/
    55  cp go.mod.sep1 go.mod
    56  go build -x ./...
    57  stderr 'packagefile example/foo/secret'
    58  stderr 'packagefile example/pkg/fo'
    59  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    60  
    61  # ignored pkg/foo/; should skip pkg/foo/
    62  cp go.mod.sep2 go.mod
    63  go build -x ./...
    64  stderr 'packagefile example/foo/secret'
    65  stderr 'packagefile example/pkg/fo'
    66  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    67  
    68  # ignored /pkg/foo; should skip pkg/foo/
    69  cp go.mod.sep3 go.mod
    70  go build -x ./...
    71  stderr 'packagefile example/foo/secret'
    72  stderr 'packagefile example/pkg/fo'
    73  stderr 'ignoring directory '$ROOT''${/}'pkg'${/}'foo'
    74  
    75  -- foo/secret/secret.go --
    76  package main
    77  func main() {}
    78  -- pkg/foo/foo.go --
    79  package main
    80  func main() {}
    81  -- pkg/fo/fo.go --
    82  package main
    83  func main() {}
    84  -- go.mod.orig --
    85  module example
    86  
    87  go 1.24
    88  
    89  -- go.mod.relative --
    90  module example
    91  
    92  go 1.24
    93  
    94  ignore ./foo
    95  
    96  -- go.mod.any --
    97  module example
    98  
    99  go 1.24
   100  
   101  ignore foo
   102  
   103  -- go.mod.dne --
   104  module example
   105  
   106  go 1.24
   107  
   108  ignore bar
   109  
   110  -- go.mod.partial --
   111  module example
   112  
   113  go 1.24
   114  
   115  ignore fo
   116  
   117  -- go.mod.tree --
   118  module example
   119  
   120  go 1.24
   121  
   122  ignore pkg/foo
   123  
   124  -- go.mod.sep1 --
   125  module example
   126  
   127  go 1.24
   128  
   129  ignore /pkg/foo/
   130  
   131  -- go.mod.sep2 --
   132  module example
   133  
   134  go 1.24
   135  
   136  ignore pkg/foo/
   137  
   138  -- go.mod.sep3 --
   139  module example
   140  
   141  go 1.24
   142  
   143  ignore /pkg/foo
   144  
   145  -- main.go --
   146  package main
   147  func main() {}
   148  

View as plain text