aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cmd/go/testdata/script/build_cwd_newline.txt38
1 files changed, 31 insertions, 7 deletions
diff --git a/src/cmd/go/testdata/script/build_cwd_newline.txt b/src/cmd/go/testdata/script/build_cwd_newline.txt
index 61c6966b02..8f74c01c81 100644
--- a/src/cmd/go/testdata/script/build_cwd_newline.txt
+++ b/src/cmd/go/testdata/script/build_cwd_newline.txt
@@ -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$'
@@ -90,6 +105,15 @@ func main() {
/* nothing here */
println("ok")
}
+-- $WORK/main_nocgo.go --
+//go:build !cgo
+
+package main
+
+func main() {
+ /* nothing here */
+ println("ok")
+}
-- $WORK/main_test.go --
package main