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

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

View as plain text