diff --git a/cmd/guru/referrers.go b/cmd/guru/referrers.go index d6b9df90..1a4b3bd2 100644 --- a/cmd/guru/referrers.go +++ b/cmd/guru/referrers.go @@ -34,6 +34,12 @@ func referrers(q *Query) error { return err } + // Load tests of the query package + // even if the query location is not in the tests. + for path := range lconf.ImportPkgs { + lconf.ImportPkgs[path] = true + } + // Load/parse/type-check the query package. lprog, err := lconf.Load() if err != nil { diff --git a/cmd/guru/testdata/src/referrers/int_test.go b/cmd/guru/testdata/src/referrers/int_test.go index 9102cd6f..397842bd 100644 --- a/cmd/guru/testdata/src/referrers/int_test.go +++ b/cmd/guru/testdata/src/referrers/int_test.go @@ -5,4 +5,6 @@ import "lib" func _() { // This reference should be found by the ref-method query. _ = (lib.Type).Method // ref from internal test package + + _ = notexported } diff --git a/cmd/guru/testdata/src/referrers/main.go b/cmd/guru/testdata/src/referrers/main.go index 1fc80ea2..acaae1fe 100644 --- a/cmd/guru/testdata/src/referrers/main.go +++ b/cmd/guru/testdata/src/referrers/main.go @@ -25,6 +25,8 @@ func main() { s2.f = 1 } +var notexported int // @referrers unexported-from-test "notexported" + // Test //line directives: type U int // @referrers ref-type-U "U" diff --git a/cmd/guru/testdata/src/referrers/main.golden b/cmd/guru/testdata/src/referrers/main.golden index dc97f6ac..bf56d763 100644 --- a/cmd/guru/testdata/src/referrers/main.golden +++ b/cmd/guru/testdata/src/referrers/main.golden @@ -54,6 +54,10 @@ references to field f int _ = s{}.f // @referrers ref-field "f" s2.f = 1 +-------- @referrers unexported-from-test -------- +references to var notexported int + _ = notexported + -------- @referrers ref-type-U -------- references to type U int open nosuchfile.y: no such file or directory (+ 1 more refs in this file)