internal/worker: use printsrc to generate false positive data

github.com/jba/printsrc is a new package that prints Go values
as source. Use it to simplify the template for generating
false-positive CVERecords.

Change-Id: I1ba88f7a2facccb508c87a62676f9410acb90059
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/370839
Trust: Jonathan Amsterdam <jba@google.com>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Julie Qiu <julie@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
diff --git a/internal/worker/gen_false_positives.go b/internal/worker/gen_false_positives.go
index bbde9ed..ae3469d 100644
--- a/internal/worker/gen_false_positives.go
+++ b/internal/worker/gen_false_positives.go
@@ -25,6 +25,7 @@
 
 	"github.com/go-git/go-git/v5"
 	"github.com/go-git/go-git/v5/plumbing"
+	"github.com/jba/printsrc"
 	"golang.org/x/vuln/internal/gitrepo"
 	"golang.org/x/vuln/internal/worker"
 	"golang.org/x/vuln/internal/worker/store"
@@ -594,7 +595,10 @@
 }
 
 func run(repoPath string) error {
-	tmpl, err := template.New("").Parse(fileTemplate)
+	printer := printsrc.NewPrinter("golang.org/x/vuln/internal/worker")
+	tmpl, err := template.New("").
+		Funcs(template.FuncMap{"src": printer.Sprint}).
+		Parse(fileTemplate)
 	if err != nil {
 		return err
 	}
@@ -675,26 +679,5 @@
 
 import "golang.org/x/vuln/internal/worker/store"
 
-var falsePositives = []*store.CVERecord{
-{{range . -}}
-    {
-       ID: "{{.ID}}",
-       Path: "{{.Path}}",
-       BlobHash: "{{.BlobHash}}",
-       CommitHash: "{{.CommitHash}}",
-       CVEState: "{{.CVEState}}",
-       TriageState: "{{.TriageState}}",
-       {{with .TriageStateReason -}}
-         TriageStateReason: "{{.}}",
-       {{end}}
-       {{- with .ReferenceURLs -}}
-         ReferenceURLs: []string{
-            {{- range .}}
-              "{{.}}",
-            {{- end}}
-         },
-       {{end}}
-    },
-{{end}}
-}
+var falsePositives = {{. | src}}
 `