# Test of verbose mode.

# No vulnerabilities, no output.
$ govulncheck -dir ${moddir}/novuln -v .
govulncheck is an experimental tool. Share feedback at https://go.dev/s/govulncheck-feedback.

Scanning for dependencies with known vulnerabilities...
No vulnerabilities found.

$ govulncheck -dir ${moddir}/vuln -v . --> FAIL 3
govulncheck is an experimental tool. Share feedback at https://go.dev/s/govulncheck-feedback.

Scanning for dependencies with known vulnerabilities...
Found 1 known vulnerability.

Vulnerability #1: GO-2021-0113
  Due to improper index calculation, an incorrectly formatted
  language tag can cause Parse to panic via an out of bounds read.
  If Parse is used to process untrusted user inputs, this may be
  used as a vector for a denial of service attack.

  Call stacks in your code:
      #1: for function Parse
        golang.org/vuln.main
            .../vuln.go:12:16
        golang.org/x/text/language.Parse

  Found in: golang.org/x/text/language@v0.3.0
  Fixed in: golang.org/x/text/language@v0.3.7
  More info: https://pkg.go.dev/vuln/GO-2021-0113

=== Informational ===

The vulnerabilities below are in packages that you import, but your code
doesn't appear to call any vulnerable functions. You may not need to take any
action. See https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
for details.

Vulnerability #1: GO-2022-0592
  A maliciously crafted path can cause Get and other query functions to consume excessive amounts of CPU and time.
  Found in: github.com/tidwall/gjson@v1.9.2
  Fixed in: github.com/tidwall/gjson@v1.9.3
  More info: https://pkg.go.dev/vuln/GO-2022-0592

Vulnerability #2: GO-2021-0265
  GJSON allowed a ReDoS (regular expression denial of service) attack.
  Found in: github.com/tidwall/gjson@v1.9.2
  Fixed in: github.com/tidwall/gjson@v1.9.3
  Platforms: linux/amd64, windows/amd64
  More info: https://pkg.go.dev/vuln/GO-2021-0265
