[release-branch.go1.19] cmd/go: fix TestScript/build_cwd_newline with CGO_ENABLED=0

Updates #60515.
Updates #60167.

Change-Id: I3792682e80a3c48d78a3b9e647cc968a1d5c8f2b
Reviewed-on: https://go-review.googlesource.com/c/go/+/501575
Auto-Submit: Bryan Mills <bcmills@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Bryan Mills <bcmills@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
(cherry picked from commit e2b1c0baa6)
Reviewed-on: https://go-review.googlesource.com/c/go/+/501820
TryBot-Bypass: Bryan Mills <bcmills@google.com>
This commit is contained in:
Bryan C. Mills 2023-05-12 14:15:16 -04:00 committed by Michael Pratt
parent 1d85bcea28
commit 0f7675d910
1 changed files with 31 additions and 7 deletions

View File

@ -11,26 +11,37 @@ cd $DIR
exec pwd
cp $WORK/go.mod ./go.mod
cp $WORK/main.go ./main.go
cp $WORK/main_nocgo.go ./main_nocgo.go
cp $WORK/main_test.go ./main_test.go
! go build -o $devnull .
stderr 'package example: invalid package directory .*uh-oh'
! go build -o $devnull main.go
[cgo] ! go build -o $devnull main.go
[!cgo] ! go build -o $devnull main_nocgo.go
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
! go run .
stderr 'package example: invalid package directory .*uh-oh'
! go run main.go
[cgo] ! go run main.go
[!cgo] ! go run main_nocgo.go
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
! go test .
stderr 'package example: invalid package directory .*uh-oh'
! go test -v main.go main_test.go
[cgo] ! go test -v main.go main_test.go
[!cgo] ! go test -v main_nocgo.go main_test.go
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
# Note: this command fails on release-branch.go1.19 but succeeds
# on release-branch.go1.20 and later. I (bcmills) suspect it may
# have been fixed by CL 437298.
! go list -compiled -e -f '{{with .CompiledGoFiles}}{{.}}{{end}}' .
stderr 'package example: invalid package directory .*uh-oh'
! stdout .
! exists obj_
# Since we do preserve $PWD (or set it appropriately) for commands, and we do
# not resolve symlinks unnecessarily, referring to the contents of the unsafe
@ -42,19 +53,22 @@ stderr 'package command-line-arguments: invalid package directory .*uh-oh'
symlink $WORK${/}link -> $DIR
go run $WORK${/}link${/}main.go
[cgo] go run $WORK${/}link${/}main.go
[!cgo] go run $WORK${/}link${/}main_nocgo.go
! stdout panic
! stderr panic
stderr '^ok$'
go test -v $WORK${/}link${/}main.go $WORK${/}link${/}main_test.go
[cgo] go test -v $WORK${/}link${/}main.go $WORK${/}link${/}main_test.go
[!cgo] go test -v $WORK${/}link${/}main_nocgo.go $WORK${/}link${/}main_test.go
! stdout panic
! stderr panic
stdout '^ok$' # 'go test' combines the test's stdout into stderr
cd $WORK/link
! go run $DIR${/}main.go
[cgo] ! go run $DIR${/}main.go
[!cgo] ! go run $DIR${/}main_nocgo.go
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
go run .
@ -62,7 +76,8 @@ go run .
! stderr panic
stderr '^ok$'
go run main.go
[cgo] go run main.go
[!cgo] go run main_nocgo.go
! stdout panic
! stderr panic
stderr '^ok$'
@ -86,6 +101,15 @@ package main
import "C"
func main() {
/* nothing here */
println("ok")
}
-- $WORK/main_nocgo.go --
//go:build !cgo
package main
func main() {
/* nothing here */
println("ok")