Skip to content

Commit 17de9e2

Browse files
Bryan C. Millsgopherbot
Bryan C. Mills
authored andcommitted
cmd/fix: disallow cgo errors in tests
The 'cgo' command invoked by 'go fix' was not valid when built with -trimpath, but the test was not failing because errors from the command were being logged and ignored instead of causing tests to fail. Changing the code and test not to ignore the errors revealed that a number of existing tests were always, unconditionally triggering cgo errors which were then ignored. This change updates those tests to no longer produce cgo errors, and to check their results when cgo is enabled. For #51473. Updates #51461. Change-Id: Ib9d1ea93f26d30daa824d75ed634eaf530af086d Reviewed-on: https://go-review.googlesource.com/c/go/+/450714 Reviewed-by: Ian Lance Taylor <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Run-TryBot: Bryan Mills <[email protected]> Auto-Submit: Bryan Mills <[email protected]>
1 parent 52d9e41 commit 17de9e2

File tree

5 files changed

+100
-3
lines changed

5 files changed

+100
-3
lines changed

src/cmd/fix/cftype_test.go

+22
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ var cftypeTests = []testCase{
1313
Name: "cftype.localVariable",
1414
In: `package main
1515
16+
// typedef const void *CFTypeRef;
1617
import "C"
1718
1819
func f() {
@@ -23,6 +24,7 @@ func f() {
2324
`,
2425
Out: `package main
2526
27+
// typedef const void *CFTypeRef;
2628
import "C"
2729
2830
func f() {
@@ -36,6 +38,7 @@ func f() {
3638
Name: "cftype.globalVariable",
3739
In: `package main
3840
41+
// typedef const void *CFTypeRef;
3942
import "C"
4043
4144
var x C.CFTypeRef = nil
@@ -46,6 +49,7 @@ func f() {
4649
`,
4750
Out: `package main
4851
52+
// typedef const void *CFTypeRef;
4953
import "C"
5054
5155
var x C.CFTypeRef = 0
@@ -59,6 +63,7 @@ func f() {
5963
Name: "cftype.EqualArgument",
6064
In: `package main
6165
66+
// typedef const void *CFTypeRef;
6267
import "C"
6368
6469
var x C.CFTypeRef
@@ -67,6 +72,7 @@ var z = x != nil
6772
`,
6873
Out: `package main
6974
75+
// typedef const void *CFTypeRef;
7076
import "C"
7177
7278
var x C.CFTypeRef
@@ -78,6 +84,7 @@ var z = x != 0
7884
Name: "cftype.StructField",
7985
In: `package main
8086
87+
// typedef const void *CFTypeRef;
8188
import "C"
8289
8390
type T struct {
@@ -88,6 +95,7 @@ var t = T{x: nil}
8895
`,
8996
Out: `package main
9097
98+
// typedef const void *CFTypeRef;
9199
import "C"
92100
93101
type T struct {
@@ -101,6 +109,7 @@ var t = T{x: 0}
101109
Name: "cftype.FunctionArgument",
102110
In: `package main
103111
112+
// typedef const void *CFTypeRef;
104113
import "C"
105114
106115
func f(x C.CFTypeRef) {
@@ -112,6 +121,7 @@ func g() {
112121
`,
113122
Out: `package main
114123
124+
// typedef const void *CFTypeRef;
115125
import "C"
116126
117127
func f(x C.CFTypeRef) {
@@ -126,12 +136,14 @@ func g() {
126136
Name: "cftype.ArrayElement",
127137
In: `package main
128138
139+
// typedef const void *CFTypeRef;
129140
import "C"
130141
131142
var x = [3]C.CFTypeRef{nil, nil, nil}
132143
`,
133144
Out: `package main
134145
146+
// typedef const void *CFTypeRef;
135147
import "C"
136148
137149
var x = [3]C.CFTypeRef{0, 0, 0}
@@ -141,12 +153,14 @@ var x = [3]C.CFTypeRef{0, 0, 0}
141153
Name: "cftype.SliceElement",
142154
In: `package main
143155
156+
// typedef const void *CFTypeRef;
144157
import "C"
145158
146159
var x = []C.CFTypeRef{nil, nil, nil}
147160
`,
148161
Out: `package main
149162
163+
// typedef const void *CFTypeRef;
150164
import "C"
151165
152166
var x = []C.CFTypeRef{0, 0, 0}
@@ -156,12 +170,14 @@ var x = []C.CFTypeRef{0, 0, 0}
156170
Name: "cftype.MapKey",
157171
In: `package main
158172
173+
// typedef const void *CFTypeRef;
159174
import "C"
160175
161176
var x = map[C.CFTypeRef]int{nil: 0}
162177
`,
163178
Out: `package main
164179
180+
// typedef const void *CFTypeRef;
165181
import "C"
166182
167183
var x = map[C.CFTypeRef]int{0: 0}
@@ -171,12 +187,14 @@ var x = map[C.CFTypeRef]int{0: 0}
171187
Name: "cftype.MapValue",
172188
In: `package main
173189
190+
// typedef const void *CFTypeRef;
174191
import "C"
175192
176193
var x = map[int]C.CFTypeRef{0: nil}
177194
`,
178195
Out: `package main
179196
197+
// typedef const void *CFTypeRef;
180198
import "C"
181199
182200
var x = map[int]C.CFTypeRef{0: 0}
@@ -186,13 +204,15 @@ var x = map[int]C.CFTypeRef{0: 0}
186204
Name: "cftype.Conversion1",
187205
In: `package main
188206
207+
// typedef const void *CFTypeRef;
189208
import "C"
190209
191210
var x C.CFTypeRef
192211
var y = (*unsafe.Pointer)(&x)
193212
`,
194213
Out: `package main
195214
215+
// typedef const void *CFTypeRef;
196216
import "C"
197217
198218
var x C.CFTypeRef
@@ -203,13 +223,15 @@ var y = (*unsafe.Pointer)(unsafe.Pointer(&x))
203223
Name: "cftype.Conversion2",
204224
In: `package main
205225
226+
// typedef const void *CFTypeRef;
206227
import "C"
207228
208229
var x unsafe.Pointer
209230
var y = (*C.CFTypeRef)(&x)
210231
`,
211232
Out: `package main
212233
234+
// typedef const void *CFTypeRef;
213235
import "C"
214236
215237
var x unsafe.Pointer

src/cmd/fix/egltype_test.go

+18
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ func eglTestsFor(tname string) []testCase {
1717
Name: "egl.localVariable",
1818
In: `package main
1919
20+
// typedef void *$EGLTYPE;
2021
import "C"
2122
2223
func f() {
@@ -27,6 +28,7 @@ func f() {
2728
`,
2829
Out: `package main
2930
31+
// typedef void *$EGLTYPE;
3032
import "C"
3133
3234
func f() {
@@ -40,6 +42,7 @@ func f() {
4042
Name: "egl.globalVariable",
4143
In: `package main
4244
45+
// typedef void *$EGLTYPE;
4346
import "C"
4447
4548
var x C.$EGLTYPE = nil
@@ -50,6 +53,7 @@ func f() {
5053
`,
5154
Out: `package main
5255
56+
// typedef void *$EGLTYPE;
5357
import "C"
5458
5559
var x C.$EGLTYPE = 0
@@ -63,6 +67,7 @@ func f() {
6367
Name: "egl.EqualArgument",
6468
In: `package main
6569
70+
// typedef void *$EGLTYPE;
6671
import "C"
6772
6873
var x C.$EGLTYPE
@@ -71,6 +76,7 @@ var z = x != nil
7176
`,
7277
Out: `package main
7378
79+
// typedef void *$EGLTYPE;
7480
import "C"
7581
7682
var x C.$EGLTYPE
@@ -82,6 +88,7 @@ var z = x != 0
8288
Name: "egl.StructField",
8389
In: `package main
8490
91+
// typedef void *$EGLTYPE;
8592
import "C"
8693
8794
type T struct {
@@ -92,6 +99,7 @@ var t = T{x: nil}
9299
`,
93100
Out: `package main
94101
102+
// typedef void *$EGLTYPE;
95103
import "C"
96104
97105
type T struct {
@@ -105,6 +113,7 @@ var t = T{x: 0}
105113
Name: "egl.FunctionArgument",
106114
In: `package main
107115
116+
// typedef void *$EGLTYPE;
108117
import "C"
109118
110119
func f(x C.$EGLTYPE) {
@@ -116,6 +125,7 @@ func g() {
116125
`,
117126
Out: `package main
118127
128+
// typedef void *$EGLTYPE;
119129
import "C"
120130
121131
func f(x C.$EGLTYPE) {
@@ -130,12 +140,14 @@ func g() {
130140
Name: "egl.ArrayElement",
131141
In: `package main
132142
143+
// typedef void *$EGLTYPE;
133144
import "C"
134145
135146
var x = [3]C.$EGLTYPE{nil, nil, nil}
136147
`,
137148
Out: `package main
138149
150+
// typedef void *$EGLTYPE;
139151
import "C"
140152
141153
var x = [3]C.$EGLTYPE{0, 0, 0}
@@ -145,12 +157,14 @@ var x = [3]C.$EGLTYPE{0, 0, 0}
145157
Name: "egl.SliceElement",
146158
In: `package main
147159
160+
// typedef void *$EGLTYPE;
148161
import "C"
149162
150163
var x = []C.$EGLTYPE{nil, nil, nil}
151164
`,
152165
Out: `package main
153166
167+
// typedef void *$EGLTYPE;
154168
import "C"
155169
156170
var x = []C.$EGLTYPE{0, 0, 0}
@@ -160,12 +174,14 @@ var x = []C.$EGLTYPE{0, 0, 0}
160174
Name: "egl.MapKey",
161175
In: `package main
162176
177+
// typedef void *$EGLTYPE;
163178
import "C"
164179
165180
var x = map[C.$EGLTYPE]int{nil: 0}
166181
`,
167182
Out: `package main
168183
184+
// typedef void *$EGLTYPE;
169185
import "C"
170186
171187
var x = map[C.$EGLTYPE]int{0: 0}
@@ -175,12 +191,14 @@ var x = map[C.$EGLTYPE]int{0: 0}
175191
Name: "egl.MapValue",
176192
In: `package main
177193
194+
// typedef void *$EGLTYPE;
178195
import "C"
179196
180197
var x = map[int]C.$EGLTYPE{0: nil}
181198
`,
182199
Out: `package main
183200
201+
// typedef void *$EGLTYPE;
184202
import "C"
185203
186204
var x = map[int]C.$EGLTYPE{0: 0}

0 commit comments

Comments
 (0)