@@ -11,24 +11,28 @@ cd $DIR
11
11
exec pwd
12
12
cp $WORK/go.mod ./go.mod
13
13
cp $WORK/main.go ./main.go
14
+ cp $WORK/main_nocgo.go ./main_nocgo.go
14
15
cp $WORK/main_test.go ./main_test.go
15
16
16
17
! go build -o $devnull .
17
18
stderr 'package example: invalid package directory .*uh-oh'
18
19
19
- ! go build -o $devnull main.go
20
+ [cgo] ! go build -o $devnull main.go
21
+ [!cgo] ! go build -o $devnull main_nocgo.go
20
22
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
21
23
22
24
! go run .
23
25
stderr 'package example: invalid package directory .*uh-oh'
24
26
25
- ! go run main.go
27
+ [cgo] ! go run main.go
28
+ [!cgo] ! go run main_nocgo.go
26
29
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
27
30
28
31
! go test .
29
32
stderr 'package example: invalid package directory .*uh-oh'
30
33
31
- ! go test -v main.go main_test.go
34
+ [cgo] ! go test -v main.go main_test.go
35
+ [!cgo] ! go test -v main_nocgo.go main_test.go
32
36
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
33
37
34
38
go list -compiled -e -f '{{with .CompiledGoFiles}}{{.}}{{end}}' .
@@ -46,27 +50,31 @@ go list -compiled -e -f '{{with .CompiledGoFiles}}{{.}}{{end}}' .
46
50
47
51
symlink $WORK${/}link -> $DIR
48
52
49
- go run $WORK${/}link${/}main.go
53
+ [cgo] go run $WORK${/}link${/}main.go
54
+ [!cgo] go run $WORK${/}link${/}main_nocgo.go
50
55
! stdout panic
51
56
! stderr panic
52
57
stderr '^ok$'
53
58
54
- go test -v $WORK${/}link${/}main.go $WORK${/}link${/}main_test.go
59
+ [cgo] go test -v $WORK${/}link${/}main.go $WORK${/}link${/}main_test.go
60
+ [!cgo] go test -v $WORK${/}link${/}main_nocgo.go $WORK${/}link${/}main_test.go
55
61
! stdout panic
56
62
! stderr panic
57
63
stdout '^ok$' # 'go test' combines the test's stdout into stderr
58
64
59
65
cd $WORK/link
60
66
61
- ! go run $DIR${/}main.go
67
+ [cgo] ! go run $DIR${/}main.go
68
+ [!cgo] ! go run $DIR${/}main_nocgo.go
62
69
stderr 'package command-line-arguments: invalid package directory .*uh-oh'
63
70
64
71
go run .
65
72
! stdout panic
66
73
! stderr panic
67
74
stderr '^ok$'
68
75
69
- go run main.go
76
+ [cgo] go run main.go
77
+ [!cgo] go run main_nocgo.go
70
78
! stdout panic
71
79
! stderr panic
72
80
stderr '^ok$'
@@ -90,6 +98,15 @@ package main
90
98
91
99
import "C"
92
100
101
+ func main() {
102
+ /* nothing here */
103
+ println("ok")
104
+ }
105
+ -- $WORK/main_nocgo.go --
106
+ //go:build !cgo
107
+
108
+ package main
109
+
93
110
func main() {
94
111
/* nothing here */
95
112
println("ok")
0 commit comments