blob: f03f3269221a9812f01bfba6e09736795cb82bef [file] [log] [blame] [edit]
# Test that go fix skips fixes to non-main and/or vendored packages.
# (It uses the interface{} -> any modernizer.)
# Create vendor tree programmatically to avoid
# having to hardcode sums in this txtar archive.
go mod vendor
# Show fixes on two packages, one in the main module
# and one in a vendored dependency.
# Only the main one (a) is shown.
go fix -diff example.com/a example.com/b
stdout 'a[/\\]a.go'
stdout '\-var _ interface\{\}'
stdout '\+var _ any'
! stdout 'b[/\\]b.go'
# Apply fixes to the same two packages.
# Only the main module was modified.
go fix example.com/a example.com/b
grep 'var _ any' a/a.go
grep 'var _ interface{}' b/b.go
grep 'var _ interface{}' vendor/example.com/b/b.go
-- go.mod --
module example.com
go 1.26
require "example.com/b" v0.0.0
replace "example.com/b" => ./b
-- a/a.go --
package a
import _ "example.com/b"
var _ interface{}
-- b/go.mod --
module example.com/b
-- b/b.go --
package b
var _ interface{}