# Test of default mode with a binary.

# No vulnerabilities, no output.
$ govulncheck ${novuln_binary}

$ govulncheck ${vuln_binary} --> FAIL 3
package:        golang.org/x/text/language
your version:   v0.3.0
fixed version:  v0.3.7
reference:      https://pkg.go.dev/vuln/GO-2021-0113
description:    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.
