Teach godepfile to generate deps file for test targets

Test targets should include the TestGoFiles and XTestGoFiles fields from
the package description in their deps.

Change-Id: I6ecb9b730f72e489f2bc31d658939d7835a50748
diff --git a/go/src/godepfile/godepfile.go b/go/src/godepfile/godepfile.go
index b90550d..4997bbf 100644
--- a/go/src/godepfile/godepfile.go
+++ b/go/src/godepfile/godepfile.go
@@ -32,11 +32,13 @@
 var (
 	ctx    = build.Default
 	output string
+	test   bool
 )
 
 func init() {
 	flag.Var((*stringsFlag)(&ctx.BuildTags), "tags", "build tags")
 	flag.StringVar(&output, "o", "", "name of the resulting executable")
+	flag.BoolVar(&test, "test", false, "whether this is a test target")
 
 	flag.Usage = func() {
 		fmt.Fprintf(os.Stderr, "usage: godepfile [packages]\n")
@@ -96,6 +98,11 @@
 		files = appendAndPrefix(files, srcdir, pkg.SwigFiles)
 		files = appendAndPrefix(files, srcdir, pkg.SwigCXXFiles)
 
+		if test {
+			files = appendAndPrefix(files, srcdir, pkg.TestGoFiles)
+			files = appendAndPrefix(files, srcdir, pkg.XTestGoFiles)
+		}
+
 		mu.Lock()
 		for _, file := range files {
 			deps[file] = true