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

     1  # Test editing go.work files.
     2  env TESTGO_VERSION=go1.26.0
     3  
     4  go work init m
     5  cmpenv go.work go.work.want_initial
     6  
     7  go work edit -use n
     8  cmpenv go.work go.work.want_use_n
     9  
    10  grep go go.work
    11  go work edit -go none
    12  ! grep go go.work
    13  
    14  go work edit -go 1.18
    15  cmp go.work go.work.want_go_118
    16  
    17  go work edit -dropuse m
    18  cmp go.work go.work.want_dropuse_m
    19  
    20  go work edit -replace=x.1@v1.3.0=y.1@v1.4.0 -replace='x.1@v1.4.0 = ../z'
    21  cmp go.work go.work.want_add_replaces
    22  
    23  go work edit -use n -use ../a -use /b -use c -use c
    24  cmp go.work go.work.want_multiuse
    25  
    26  go work edit -dropuse /b -dropuse n
    27  cmp go.work go.work.want_multidropuse
    28  
    29  go work edit -dropreplace='x.1@v1.4.0'
    30  cmp go.work go.work.want_dropreplace
    31  
    32  go work edit -print -go 1.19 -use b -dropuse c -replace 'x.1@v1.4.0 = ../z' -dropreplace x.1 -dropreplace x.1@v1.3.0
    33  cmp stdout go.work.want_print
    34  
    35  go work edit -json -go 1.19 -use b -dropuse c -replace 'x.1@v1.4.0 = ../z' -dropreplace x.1 -dropreplace x.1@v1.3.0
    36  cmp stdout go.work.want_json
    37  
    38  # go work edit -godebug
    39  cd $WORK/g
    40  cp go.work.start go.work
    41  go work edit -godebug key=value
    42  cmpenv go.work go.work.edit
    43  go work edit -dropgodebug key2
    44  cmpenv go.work go.work.edit
    45  go work edit -dropgodebug key
    46  cmpenv go.work go.work.start
    47  
    48  # go work edit -print -fmt
    49  env GOWORK=$GOPATH/src/unformatted
    50  go work edit -print -fmt
    51  cmp stdout $GOPATH/src/formatted
    52  
    53  -- m/go.mod --
    54  module m
    55  
    56  go 1.18
    57  -- go.work.want_initial --
    58  go 1.25.0
    59  
    60  use ./m
    61  -- go.work.want_use_n --
    62  go 1.25.0
    63  
    64  use (
    65  	./m
    66  	./n
    67  )
    68  -- go.work.want_go_118 --
    69  go 1.18
    70  
    71  use (
    72  	./m
    73  	./n
    74  )
    75  -- go.work.want_dropuse_m --
    76  go 1.18
    77  
    78  use ./n
    79  -- go.work.want_add_replaces --
    80  go 1.18
    81  
    82  use ./n
    83  
    84  replace (
    85  	x.1 v1.3.0 => y.1 v1.4.0
    86  	x.1 v1.4.0 => ../z
    87  )
    88  -- go.work.want_multiuse --
    89  go 1.18
    90  
    91  use (
    92  	../a
    93  	./c
    94  	./n
    95  	/b
    96  )
    97  
    98  replace (
    99  	x.1 v1.3.0 => y.1 v1.4.0
   100  	x.1 v1.4.0 => ../z
   101  )
   102  -- go.work.want_multidropuse --
   103  go 1.18
   104  
   105  use (
   106  	../a
   107  	./c
   108  )
   109  
   110  replace (
   111  	x.1 v1.3.0 => y.1 v1.4.0
   112  	x.1 v1.4.0 => ../z
   113  )
   114  -- go.work.want_dropreplace --
   115  go 1.18
   116  
   117  use (
   118  	../a
   119  	./c
   120  )
   121  
   122  replace x.1 v1.3.0 => y.1 v1.4.0
   123  -- go.work.want_print --
   124  go 1.19
   125  
   126  use (
   127  	../a
   128  	./b
   129  )
   130  
   131  replace x.1 v1.4.0 => ../z
   132  -- go.work.want_json --
   133  {
   134  	"Go": "1.19",
   135  	"Use": [
   136  		{
   137  			"DiskPath": "../a"
   138  		},
   139  		{
   140  			"DiskPath": "./b"
   141  		}
   142  	],
   143  	"Replace": [
   144  		{
   145  			"Old": {
   146  				"Path": "x.1",
   147  				"Version": "v1.4.0"
   148  			},
   149  			"New": {
   150  				"Path": "../z"
   151  			}
   152  		}
   153  	]
   154  }
   155  -- unformatted --
   156  go 1.18
   157   use (
   158   a
   159    b
   160    c
   161    )
   162    replace (
   163    x.1 v1.3.0 => y.1 v1.4.0
   164                              x.1 v1.4.0 => ../z
   165                              )
   166  -- formatted --
   167  go 1.18
   168  
   169  use (
   170  	a
   171  	b
   172  	c
   173  )
   174  
   175  replace (
   176  	x.1 v1.3.0 => y.1 v1.4.0
   177  	x.1 v1.4.0 => ../z
   178  )
   179  -- $WORK/g/go.work.start --
   180  use g
   181  
   182  go 1.10
   183  -- $WORK/g/go.work.edit --
   184  use g
   185  
   186  go 1.10
   187  
   188  godebug key=value
   189  

View as plain text