| env OLD=$PWD |
| |
| # basic -C functionality |
| cd $GOROOT/src/math |
| go list -C ../strings |
| stdout strings |
| ! go list -C ../nonexist |
| stderr 'chdir.*nonexist' |
| |
| # check for -C in subcommands with custom flag parsing |
| # cmd/go/chdir_test.go handles the normal ones more directly. |
| |
| # go doc |
| go doc -C ../strings HasPrefix |
| |
| # go env |
| go env -C $OLD/custom GOMOD |
| stdout 'custom[\\/]go.mod' |
| ! go env -C ../nonexist |
| stderr '^go: chdir ../nonexist: ' |
| |
| # go test |
| go test -C ../strings -n |
| stderr 'strings\.test' |
| |
| # go vet |
| go vet -C ../strings -n |
| stderr strings_test |
| |
| # -C must be first on command line (as of Go 1.21) |
| ! go test -n -C ../strings |
| stderr '^invalid value "../strings" for flag -C: -C flag must be first flag on command line$' |
| |
| -- custom/go.mod -- |
| module m |