1 # Test that go fix skips fixes to non-main and/or vendored packages.
2 # (It uses the interface{} -> any modernizer.)
3
4 # Create vendor tree programmatically to avoid
5 # having to hardcode sums in this txtar archive.
6 go mod vendor
7
8 # Show fixes on two packages, one in the main module
9 # and one in a vendored dependency.
10 # Only the main one (a) is shown.
11 go fix -diff example.com/a example.com/b
12 stdout 'a[/\\]a.go'
13 stdout '\-var _ interface\{\}'
14 stdout '\+var _ any'
15 ! stdout 'b[/\\]b.go'
16
17 # Apply fixes to the same two packages.
18 # Only the main module was modified.
19 go fix example.com/a example.com/b
20 grep 'var _ any' a/a.go
21 grep 'var _ interface{}' b/b.go
22 grep 'var _ interface{}' vendor/example.com/b/b.go
23
24 -- go.mod --
25 module example.com
26 go 1.26
27
28 require "example.com/b" v0.0.0
29 replace "example.com/b" => ./b
30
31 -- a/a.go --
32 package a
33
34 import _ "example.com/b"
35
36 var _ interface{}
37
38 -- b/go.mod --
39 module example.com/b
40
41 -- b/b.go --
42 package b
43
44 var _ interface{}
45
View as plain text