Only consider test sources and imports for top level package

We don't want our test dependencies' test dependencies.

Bug: 56034
Change-Id: I67b4454952ffdb806822c099b33eef8b176b3db6
Reviewed-on: https://fuchsia-review.googlesource.com/c/tools/+/406538
Commit-Queue: Petr Hosek <phosek@google.com>
Reviewed-by: Tamir Duberstein <tamird@google.com>
diff --git a/godepfile/cmd/godepfile.go b/godepfile/cmd/godepfile.go
index 4c35172..9d06fe8 100644
--- a/godepfile/cmd/godepfile.go
+++ b/godepfile/cmd/godepfile.go
@@ -93,8 +93,8 @@
 
 	fdlimit := make(chan struct{}, 128)
 	var wg sync.WaitGroup
-	var scan func(path, srcDir string)
-	scan = func(path, srcDir string) {
+	var scan func(path, srcDir string, test bool)
+	scan = func(path, srcDir string, test bool) {
 		defer wg.Done()
 
 		mu.Lock()
@@ -162,24 +162,24 @@
 
 		for _, imp := range pkg.Imports {
 			wg.Add(1)
-			go scan(imp, pkg.Dir)
+			go scan(imp, pkg.Dir, false)
 		}
 
 		if test {
 			for _, imp := range pkg.TestImports {
 				wg.Add(1)
-				go scan(imp, pkg.Dir)
+				go scan(imp, pkg.Dir, false)
 			}
 			for _, imp := range pkg.XTestImports {
 				wg.Add(1)
-				go scan(imp, pkg.Dir)
+				go scan(imp, pkg.Dir, false)
 			}
 		}
 	}
 
 	for _, root := range flag.Args() {
 		wg.Add(1)
-		go scan(root, "")
+		go scan(root, "", test)
 	}
 	wg.Wait()