cmd/guru: always import tests in initial referrers import
If test files are not included here,
then results in those files will be missing
for queries within a single package.
This work supported by Sourcegraph.
Change-Id: I8136ea250ba980179228d9b408d9e7409c49a873
Reviewed-on: https://go-review.googlesource.com/97799
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/cmd/guru/referrers.go b/cmd/guru/referrers.go
index d6b9df9..1a4b3bd 100644
--- a/cmd/guru/referrers.go
+++ b/cmd/guru/referrers.go
@@ -34,6 +34,12 @@
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 9102cd6..397842b 100644
--- a/cmd/guru/testdata/src/referrers/int_test.go
+++ b/cmd/guru/testdata/src/referrers/int_test.go
@@ -5,4 +5,6 @@
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 1fc80ea..acaae1f 100644
--- a/cmd/guru/testdata/src/referrers/main.go
+++ b/cmd/guru/testdata/src/referrers/main.go
@@ -25,6 +25,8 @@
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 dc97f6a..bf56d76 100644
--- a/cmd/guru/testdata/src/referrers/main.golden
+++ b/cmd/guru/testdata/src/referrers/main.golden
@@ -54,6 +54,10 @@
_ = 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)