cmd,exp,internal: add ctx to Run

Run now accepts context.Context as its first argument.

Change-Id: I91223d7f0451695f7bb65a162ca6b9f5d4aafacb
Reviewed-on: https://go-review.googlesource.com/c/vuln/+/437793
Reviewed-by: Julie Qiu <julieqiu@google.com>
Reviewed-by: Jonathan Amsterdam <jba@google.com>
diff --git a/cmd/govulncheck/main.go b/cmd/govulncheck/main.go
index c2aab15..37d27ea 100644
--- a/cmd/govulncheck/main.go
+++ b/cmd/govulncheck/main.go
@@ -5,6 +5,7 @@
 package main
 
 import (
+	"context"
 	"errors"
 	"flag"
 	"fmt"
@@ -74,7 +75,8 @@
 		buildFlags = []string{fmt.Sprintf("-tags=%s", strings.Join(tagsFlag, ","))}
 	}
 
-	err := govulncheck.Run(govulncheck.Config{
+	ctx := context.Background()
+	err := govulncheck.Run(ctx, govulncheck.Config{
 		AnalysisType: mode,
 		OutputType:   outputType,
 		Patterns:     patterns,
diff --git a/exp/govulncheck/govulncheck.go b/exp/govulncheck/govulncheck.go
index d9512ae..3507f9e 100644
--- a/exp/govulncheck/govulncheck.go
+++ b/exp/govulncheck/govulncheck.go
@@ -6,13 +6,15 @@
 package govulncheck
 
 import (
+	"context"
+
 	"golang.org/x/vuln/internal/govulncheck"
 )
 
 // Config is the configuration for Main.
 type Config = govulncheck.Config
 
-// Run is the main function for the govulncheck command line tool.
-func Run(cfg Config) error {
-	return govulncheck.Run(cfg)
+// Run is the primary function for the govulncheck command line tool.
+func Run(ctx context.Context, cfg Config) error {
+	return govulncheck.Run(ctx, cfg)
 }
diff --git a/internal/govulncheck/run.go b/internal/govulncheck/run.go
index 4e68e37..881eca5 100644
--- a/internal/govulncheck/run.go
+++ b/internal/govulncheck/run.go
@@ -22,18 +22,8 @@
 )
 
 // Run is the main function for the govulncheck command line tool.
-func Run(cfg Config) error {
-<<<<<<< HEAD
-	dbs := []string{vulndbHost}
-	if db := os.Getenv(envGOVULNDB); db != "" {
-		dbs = strings.Split(db, ",")
-	}
-	dbClient, err := client.NewClient(dbs, client.Options{
-		HTTPCache: DefaultCache(),
-	})
-=======
+func Run(ctx context.Context, cfg Config) error {
 	vcfg, err := createVulncheckConfig(cfg)
->>>>>>> 31610d0... internal/govulncheck: add function for creating vulncheck.Config
 	if err != nil {
 		return err
 	}
@@ -46,7 +36,6 @@
 		r          *vulncheck.Result
 		pkgs       []*vulncheck.Package
 		unaffected []*vulncheck.Vuln
-		ctx        = context.Background()
 	)
 	switch cfg.AnalysisType {
 	case AnalysisTypeBinary:
@@ -300,8 +289,8 @@
 
 func createVulncheckConfig(cfg Config) (*vulncheck.Config, error) {
 	dbs := []string{vulndbHost}
-	if cfg.EnvGOVULNDB != "" {
-		dbs = strings.Split(cfg.EnvGOVULNDB, ",")
+	if db := os.Getenv(envGOVULNDB); db != "" {
+		dbs = strings.Split(db, ",")
 	}
 	dbClient, err := client.NewClient(dbs, client.Options{
 		HTTPCache: DefaultCache(),