all: run lint tests in parallel Also fix some spelling errors which were causing test failures. Change-Id: I4f4ad5d2cba805dcba8908f09653710e19ace4ea Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/728720 Reviewed-by: Ethan Lee <ethanalee@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
diff --git a/all_test.go b/all_test.go index 7e222c3..ee095d8 100644 --- a/all_test.go +++ b/all_test.go
@@ -15,6 +15,7 @@ "runtime" "sort" "strings" + "sync" "testing" "time" @@ -98,15 +99,17 @@ } // Map from summaries to report paths, used to check for duplicate summaries. - summaries := make(map[string]string) + summaries := sync.Map{} sort.Strings(reports) for _, filename := range reports { t.Run(filename, func(t *testing.T) { - r, err := report.Read(filename) + cFilename := filename // capture variable so we can run tests in parallel safely + t.Parallel() + r, err := report.Read(cFilename) if err != nil { t.Fatal(err) } - if err := r.CheckFilename(filename); err != nil { + if err := r.CheckFilename(cFilename); err != nil { t.Error(err) } lints := lint(r) @@ -122,15 +125,14 @@ } } for r2, aliases := range duplicates { - t.Errorf("report %s shares duplicate alias(es) %s with report %s", filename, aliases, r2) + t.Errorf("report %s shares duplicate alias(es) %s with report %s", cFilename, aliases, r2) } // Ensure that each reviewed report has a unique summary. if r.IsReviewed() { if summary := r.Summary.String(); summary != "" { - if report, ok := summaries[summary]; ok { - t.Errorf("report %s shares duplicate summary %q with report %s", filename, summary, report) - } else { - summaries[summary] = filename + existingFile, loaded := summaries.LoadOrStore(summary, cFilename) + if loaded { + t.Errorf("report %s shares duplicate summary %q with report %s", cFilename, summary, existingFile) } } } @@ -141,7 +143,7 @@ if r.IsUnreviewed() && !r.IsExcluded() && !r.UnreviewedOK { pr, _ := priority.AnalyzeReport(r, rc, modulesToImports) if pr.Priority == priority.High { - t.Errorf("UNREVIEWED report %s is high priority (should be NEEDS_REVIEW or REVIEWED) - reason: %s", filename, pr.Reason) + t.Errorf("UNREVIEWED report %s is high priority (should be NEEDS_REVIEW or REVIEWED) - reason: %s", cFilename, pr.Reason) } } // Check that a correct OSV file was generated for each YAML report.
diff --git a/data/cve/v5/GO-2025-4006.json b/data/cve/v5/GO-2025-4006.json index a77bb0b..ca5b39d 100644 --- a/data/cve/v5/GO-2025-4006.json +++ b/data/cve/v5/GO-2025-4006.json
@@ -13,7 +13,7 @@ "descriptions": [ { "lang": "en", - "value": "The ParseAddress function constructeds domain-literal address components through repeated string concatenation. When parsing large domain-literal components, this can cause excessive CPU consumption." + "value": "The ParseAddress function constructs domain-literal address components through repeated string concatenation. When parsing large domain-literal components, this can cause excessive CPU consumption." } ], "affected": [
diff --git a/data/osv/GO-2025-4006.json b/data/osv/GO-2025-4006.json index 4df4ef1..cbf365c 100644 --- a/data/osv/GO-2025-4006.json +++ b/data/osv/GO-2025-4006.json
@@ -8,7 +8,7 @@ "CVE-2025-61725" ], "summary": "Excessive CPU consumption in ParseAddress in net/mail", - "details": "The ParseAddress function constructeds domain-literal address components through repeated string concatenation. When parsing large domain-literal components, this can cause excessive CPU consumption.", + "details": "The ParseAddress function constructs domain-literal address components through repeated string concatenation. When parsing large domain-literal components, this can cause excessive CPU consumption.", "affected": [ { "package": {
diff --git a/data/osv/GO-2025-4177.json b/data/osv/GO-2025-4177.json index e54a312..7ecba28 100644 --- a/data/osv/GO-2025-4177.json +++ b/data/osv/GO-2025-4177.json
@@ -7,8 +7,8 @@ "CVE-2025-64750", "GHSA-wwrx-w7c9-rf87" ], - "summary": "Singluarity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity", - "details": "Singluarity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity.\n\nNOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.\n\n(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)\n\nThe additional affected modules and versions are: github.com/sylabs/singularity/v4 before v4.1.11.", + "summary": "Singularity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity", + "details": "Singularity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity.\n\nNOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.\n\n(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)\n\nThe additional affected modules and versions are: github.com/sylabs/singularity/v4 before v4.1.11.", "affected": [ { "package": {
diff --git a/data/reports/GO-2025-4006.yaml b/data/reports/GO-2025-4006.yaml index dd7123b..2dedb60 100644 --- a/data/reports/GO-2025-4006.yaml +++ b/data/reports/GO-2025-4006.yaml
@@ -18,7 +18,7 @@ - ParseAddressList summary: Excessive CPU consumption in ParseAddress in net/mail description: |- - The ParseAddress function constructeds domain-literal address components + The ParseAddress function constructs domain-literal address components through repeated string concatenation. When parsing large domain-literal components, this can cause excessive CPU consumption. cves:
diff --git a/data/reports/GO-2025-4177.yaml b/data/reports/GO-2025-4177.yaml index f3d9aff..55fd55e 100644 --- a/data/reports/GO-2025-4177.yaml +++ b/data/reports/GO-2025-4177.yaml
@@ -8,7 +8,7 @@ non_go_versions: - fixed: 4.1.11 vulnerable_at: 4.3.5 -summary: Singluarity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity +summary: Singularity ineffectively applies of selinux / apparmor LSM process labels in github.com/sylabs/singularity cves: - CVE-2025-64750 ghsas: