github.com/rogpeppe/go-internal@v1.12.1-0.20240509064211-c8567cf8e95f/cmd/testscript/testdata/env_var_with_go.txt (about)

     1  # Test passing environment variables to scripts with the go command on PATH
     2  #
     3  # Below where we check the output of testscript -v, we have to match against
     4  # the string literal $WORK because testscript rewrites the actual directory
     5  # to $WORK. Hence we don't want to expand this script's $WORK in such a comparison.
     6  #
     7  # This is the counterpart to env_var_no_go.txt
     8  
     9  unquote noproxy.txt
    10  unquote withproxy.txt
    11  
    12  # Baseline
    13  testscript -v noproxy.txt
    14  stdout ^BANANA=$
    15  stdout '^GOPATH=\$WORK[/\\]\.gopath'$
    16  stdout ^GOPROXY=https://proxy.golang.org,direct$
    17  ! stderr .+
    18  
    19  env BANANA=banana
    20  env GOPATH=$WORK/ourgopath
    21  
    22  env GOPROXY=
    23  
    24  # no GOPROXY, no pass-through, no proxy
    25  testscript -v noproxy.txt
    26  stdout ^BANANA=$
    27  stdout '^GOPATH=\$WORK[/\\]\.gopath'$
    28  stdout ^GOPROXY=https://proxy.golang.org,direct$
    29  ! stderr .+
    30  
    31  # no GOPROXY, no pass-through, with proxy
    32  testscript -v withproxy.txt
    33  stdout ^BANANA=$
    34  stdout '^GOPATH=\$WORK[/\\]\.gopath'$
    35  stdout ^GOPROXY=http://.*/mod$
    36  ! stderr .+
    37  
    38  # no GOPROXY, with pass-through, no proxy
    39  testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt
    40  stdout ^BANANA=banana$
    41  stdout ^GOPATH=${WORK@R}[/\\]ourgopath$
    42  stdout ^GOPROXY=$
    43  ! stderr .+
    44  
    45  # no GOPROXY, with pass-through, with proxy
    46  testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt
    47  stdout ^BANANA=banana$
    48  stdout ^GOPATH=${WORK@R}[/\\]ourgopath$
    49  stdout ^GOPROXY=$
    50  ! stderr .+
    51  
    52  setfilegoproxy $WORK/proxy
    53  
    54  # with GOPROXY, no pass-through, no proxy
    55  testscript -v noproxy.txt
    56  stdout ^BANANA=$
    57  stdout '^GOPATH=\$WORK[/\\]\.gopath'$
    58  stdout ^GOPROXY=$GOPROXY$
    59  ! stderr .+
    60  
    61  # with GOPROXY, no pass-through, with proxy
    62  testscript -v withproxy.txt
    63  stdout ^BANANA=$
    64  stdout '^GOPATH=\$WORK[/\\]\.gopath'$
    65  stdout ^GOPROXY=http://.*/mod$
    66  ! stderr .+
    67  
    68  # with GOPROXY, with pass-through, no proxy
    69  testscript -v -e BANANA -e GOPATH -e GOPROXY noproxy.txt
    70  stdout ^BANANA=banana$
    71  stdout ^GOPATH=${WORK@R}[/\\]ourgopath$
    72  stdout ^GOPROXY=$GOPROXY$
    73  ! stderr .+
    74  
    75  # with GOPROXY, with pass-through, with proxy
    76  testscript -v -e BANANA -e GOPATH -e GOPROXY withproxy.txt
    77  stdout ^BANANA=banana$
    78  stdout ^GOPATH=${WORK@R}[/\\]ourgopath$
    79  stdout ^GOPROXY=$GOPROXY$
    80  ! stderr .+
    81  
    82  -- noproxy.txt --
    83  >env BANANA
    84  >env GOPATH
    85  >env GOPROXY
    86  
    87  -- withproxy.txt --
    88  >env BANANA
    89  >env GOPATH
    90  >env GOPROXY
    91  
    92  >-- .gomodproxy/fruit.com_v1.0.0/.mod --
    93  >module fruit.com
    94  >
    95  >-- .gomodproxy/fruit.com_v1.0.0/.info --
    96  >{"Version":"v1.0.0","Time":"2018-10-22T18:45:39Z"}
    97  >
    98  >-- .gomodproxy/fruit.com_v1.0.0/go.mod --
    99  >module fruit.com
   100  >
   101  >-- .gomodproxy/fruit.com_v1.0.0/fruit/fruit.go --
   102  >package fruit
   103  >
   104  >const Apple = "apple"
   105  >-- .gomodproxy/fruit.com_v1.0.0/coretest/coretest.go --
   106  >// package coretest becomes a candidate for the missing
   107  >// core import in main above
   108  >package coretest
   109  >
   110  >const Mandarin = "mandarin"