| [short] skip |
| |
| go test -trimpath -v . |
| ! stdout '[/\\]pkg_test[/\\]' |
| stdout -count=3 '[/\\]pkg[/\\]' |
| |
| -- go.mod -- |
| module example.com/pkg |
| |
| go 1.17 |
| |
| -- pkg.go -- |
| package pkg |
| |
| import "runtime" |
| |
| func PrintFile() { |
| _, file, _, _ := runtime.Caller(0) |
| println(file) |
| } |
| |
| -- pkg_test.go -- |
| package pkg |
| |
| import "runtime" |
| |
| func PrintFileForTest() { |
| _, file, _, _ := runtime.Caller(0) |
| println(file) |
| } |
| |
| -- pkg_x_test.go -- |
| package pkg_test |
| |
| import ( |
| "runtime" |
| "testing" |
| |
| "example.com/pkg" |
| ) |
| |
| func TestMain(m *testing.M) { |
| pkg.PrintFile() |
| pkg.PrintFileForTest() |
| PrintFileInXTest() |
| } |
| |
| func PrintFileInXTest() { |
| _, file, _, _ := runtime.Caller(0) |
| println(file) |
| } |