...
1[short] skip
2
3# Test file
4! go test p1_test.go
5stderr 'Logf format %d'
6go test -vet=off
7stdout '^ok'
8
9# Non-test file
10! go test p1.go
11stderr 'Printf format %d'
12go test -x -vet=shift p1.go
13stderr '[\\/]vet.*-shift'
14stdout '\[no test files\]'
15go test -vet=off p1.go
16! stderr '[\\/]vet.*-shift'
17stdout '\[no test files\]'
18
19# Test issue #22890
20go test m/vetcycle
21stdout 'm/vetcycle.*\[no test files\]'
22
23# Test with ...
24! go test ./vetfail/...
25stderr 'Printf format %d'
26stdout 'ok\s+m/vetfail/p2'
27
28# Check there's no diagnosis of a bad build constraint in vetxonly mode.
29# Use -a so that we need to recompute the vet-specific export data for
30# vetfail/p1.
31go test -a m/vetfail/p2
32! stderr 'invalid.*constraint'
33
34-- go.mod --
35module m
36
37go 1.16
38-- p1_test.go --
39package p
40
41import "testing"
42
43func Test(t *testing.T) {
44 t.Logf("%d") // oops
45}
46-- p1.go --
47package p
48
49import "fmt"
50
51func F() {
52 fmt.Printf("%d") // oops
53}
54-- vetcycle/p.go --
55package p
56
57type (
58 _ interface{ m(B1) }
59 A1 interface{ a(D1) }
60 B1 interface{ A1 }
61 C1 interface {
62 B1 /* ERROR issue #18395 */
63 }
64 D1 interface{ C1 }
65)
66
67var _ A1 = C1 /* ERROR cannot use C1 */ (nil)
68-- vetfail/p1/p1.go --
69// +build !foo-bar
70
71package p1
72
73import "fmt"
74
75func F() {
76 fmt.Printf("%d", "hello") // causes vet error
77}
78-- vetfail/p2/p2.go --
79package p2
80
81import _ "m/vetfail/p1"
82
83func F() {
84}
85-- vetfail/p2/p2_test.go --
86package p2
87
88import "testing"
89
90func TestF(t *testing.T) {
91 F()
92}
View as plain text