The linter in geth fails with the following messages. Most of them (presumably all of them, I haven't confirmed that) come from the following situation:
> go run build/ci.go lint
build/cache/golangci-lint-1.42.0-freebsd-amd64.tar.gz is up-to-date
>>> build/cache/golangci-lint-1.42.0-freebsd-amd64/golangci-lint run --config .golangci.yml ./...
cmd/ethkey/message_test.go:38:11: generate.Expect undefined (type *testEthkey has no field or method Expect) (typecheck)
generate.Expect(`
^
cmd/ethkey/message_test.go:43:25: generate.ExpectRegexp undefined (type *testEthkey has no field or method ExpectRegexp) (typecheck)
_, matches := generate.ExpectRegexp(`Address: (0x[0-9a-fA-F]{40})\n`)
^
cmd/ethkey/message_test.go:45:11: generate.ExpectExit undefined (type *testEthkey has no field or method ExpectExit) (typecheck)
generate.ExpectExit()
^
cmd/ethkey/message_test.go:49:7: sign.Expect undefined (type *testEthkey has no field or method Expect) (typecheck)
sign.Expect(`
^
cmd/ethkey/message_test.go:53:20: sign.ExpectRegexp undefined (type *testEthkey has no field or method ExpectRegexp) (typecheck)
_, matches = sign.ExpectRegexp(`Signature: ([0-9a-f]+)\n`)
^
cmd/ethkey/message_test.go:55:7: sign.ExpectExit undefined (type *testEthkey has no field or method ExpectExit) (typecheck)
sign.ExpectExit()
^
cmd/ethkey/message_test.go:59:22: verify.ExpectRegexp undefined (type *testEthkey has no field or method ExpectRegexp) (typecheck)
_, matches = verify.ExpectRegexp(`
^
cmd/ethkey/message_test.go:65:9: verify.ExpectExit undefined (type *testEthkey has no field or method ExpectExit) (typecheck)
verify.ExpectExit()
^
cmd/ethkey/run_test.go:36:5: tt.Run undefined (type *testEthkey has no field or method Run) (typecheck)
tt.Run("ethkey-test", args...)
^
cmd/evm/t8n_test.go:178:6: tt.Run undefined (type *testT8n has no field or method Run) (typecheck)
tt.Run("evm-test", args...)
^
cmd/evm/t8n_test.go:179:6: tt.Logf undefined (type *testT8n has no field or method Logf) (typecheck)
tt.Logf("args: %v\n", strings.Join(args, " "))
^
cmd/evm/t8n_test.go:186:15: tt.Output undefined (type *testT8n has no field or method Output) (typecheck)
have := tt.Output()
^
cmd/evm/t8n_test.go:195:6: tt.WaitExit undefined (type *testT8n has no field or method WaitExit) (typecheck)
tt.WaitExit()
^
cmd/evm/t8n_test.go:196:23: tt.ExitStatus undefined (type *testT8n has no field or method ExitStatus) (typecheck)
if have, want := tt.ExitStatus(), tc.expExitCode; have != want {
^
cmd/evm/t8n_test.go:257:6: tt.Run undefined (type *testT8n has no field or method Run) (typecheck)
tt.Run("evm-test", args...)
^
cmd/evm/t8n_test.go:258:6: tt.Logf undefined (type *testT8n has no field or method Logf) (typecheck)
tt.Logf("args:\n go run . %v\n", strings.Join(args, " "))
^
cmd/evm/t8n_test.go:265:15: tt.Output undefined (type *testT8n has no field or method Output) (typecheck)
have := tt.Output()
^
cmd/evm/t8n_test.go:275:6: tt.WaitExit undefined (type *testT8n has no field or method WaitExit) (typecheck)
tt.WaitExit()
^
cmd/evm/t8n_test.go:276:23: tt.ExitStatus undefined (type *testT8n has no field or method ExitStatus) (typecheck)
if have, want := tt.ExitStatus(), tc.expExitCode; have != want {
^
cmd/geth/accountcmd_test.go:47:7: geth.ExpectExit undefined (type *testgeth has no field or method ExpectExit) (typecheck)
geth.ExpectExit()
^
cmd/geth/accountcmd_test.go:53:13: geth.ExpectExit undefined (type *testgeth has no field or method ExpectExit) (typecheck)
defer geth.ExpectExit()
^
cmd/geth/accountcmd_test.go:55:8: geth.Expect undefined (type *testgeth has no field or method Expect) (typecheck)
geth.Expect(`
^
cmd/geth/accountcmd_test.go:61:8: geth.Expect undefined (type *testgeth has no field or method Expect) (typecheck)
geth.Expect(`
^
cmd/geth/accountcmd_test.go:71:13: geth.ExpectExit undefined (type *testgeth has no field or method ExpectExit) (typecheck)
defer geth.ExpectExit()
^
cmd/geth/accountcmd_test.go:72:7: geth.Expect undefined (type *testgeth has no field or method Expect) (typecheck)
geth.Expect(`
^
cmd/geth/accountcmd_test.go:80:7: geth.ExpectRegexp undefined (type *testgeth has no field or method ExpectRegexp) (typecheck)
geth.ExpectRegexp(`
^
cmd/geth/accountcmd_test.go:196:29: geth.StderrText undefined (type *testgeth has no field or method StderrText) (typecheck)
if !strings.Contains(geth.StderrText(), m) {
^
cmd/geth/accountcmd_test.go:239:29: geth.StderrText undefined (type *testgeth has no field or method StderrText) (typecheck)
if !strings.Contains(geth.StderrText(), m) {
^
cmd/geth/accountcmd_test.go:257:29: geth.StderrText undefined (type *testgeth has no field or method StderrText) (typecheck)
if !strings.Contains(geth.StderrText(), m) {
^
cmd/geth/accountcmd_test.go:282:7: geth.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
geth.SetTemplateFunc("keypath", func(file string) string {
^
cmd/geth/accountcmd_test.go:320:7: geth.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
geth.SetTemplateFunc("keypath", func(file string) string {
^
cmd/geth/consolecmd_test.go:59:7: geth.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
geth.SetTemplateFunc("goos", func() string { return runtime.GOOS })
^
cmd/geth/consolecmd_test.go:126:15: attach.ExpectExit undefined (type *testgeth has no field or method ExpectExit) (typecheck)
defer attach.ExpectExit()
^
cmd/geth/consolecmd_test.go:127:9: attach.CloseStdin undefined (type *testgeth has no field or method CloseStdin) (typecheck)
attach.CloseStdin()
^
cmd/geth/consolecmd_test.go:130:9: attach.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
attach.SetTemplateFunc("goos", func() string { return runtime.GOOS })
^
cmd/geth/consolecmd_test.go:131:9: attach.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
attach.SetTemplateFunc("goarch", func() string { return runtime.GOARCH })
^
cmd/geth/consolecmd_test.go:132:9: attach.SetTemplateFunc undefined (type *testgeth has no field or method SetTemplateFunc) (typecheck)
attach.SetTemplateFunc("gover", runtime.Version)
^
cmd/geth/consolecmd_test.go:143:9: attach.Expect undefined (type *testgeth has no field or method Expect) (typecheck)
attach.Expect(`
^
cmd/geth/consolecmd_test.go:155:9: attach.ExpectExit undefined (type *testgeth has no field or method ExpectExit) (typecheck)
attach.ExpectExit()
^
cmd/geth/dao_test.go:118:73: runGeth(t, "--datadir", datadir, "--networkid", "1337", "init", json).WaitExit undefined (type *testgeth has no field or method WaitExit) (typecheck)
runGeth(t, "--datadir", datadir, "--networkid", "1337", "init", json).WaitExit()
^
cmd/geth/dao_test.go:122:72: runGeth(t, append(args, ([]string literal)...)...).WaitExit undefined (type *testgeth has no field or method WaitExit) (typecheck)
runGeth(t, append(args, []string{"--exec", "2+2", "console"}...)...).WaitExit()
^
cmd/geth/genesis_test.go:84:50: runGeth(t, "--datadir", datadir, "init", json).WaitExit undefined (type *testgeth has no field or method WaitExit) (typecheck)
runGeth(t, "--datadir", datadir, "init", json).WaitExit()
^
cmd/geth/genesis_test.go:91:8: geth.ExpectRegexp undefined (type *testgeth has no field or method ExpectRegexp) (typecheck)
geth.ExpectRegexp(tt.result)
^
cmd/geth/les_test.go:26:9: g.geth.Kill undefined (type *testgeth has no field or method Kill) (typecheck)
g.geth.Kill()
^
cmd/geth/les_test.go:32:10: g.geth.Fatalf undefined (type *testgeth has no field or method Fatalf) (typecheck)
g.geth.Fatalf("callRPC %v: %v", method, err)
^
cmd/geth/les_test.go:37:9: g.geth.Logf undefined (type *testgeth has no field or method Logf) (typecheck)
g.geth.Logf("%v.addPeer(%v)", g.name, peer.name)
^
cmd/geth/les_test.go:42:10: g.geth.Fatalf undefined (type *testgeth has no field or method Fatalf) (typecheck)
g.geth.Fatalf("subscribe %v: %v", g.name, err)
^
cmd/geth/les_test.go:50:10: g.geth.Logf undefined (type *testgeth has no field or method Logf) (typecheck)
g.geth.Logf("%v received event: type=%v, peer=%v", g.name, ev.Type, ev.Peer)
^
cmd/geth/les_test.go:52:10: g.geth.Fatalf undefined (type *testgeth has no field or method Fatalf) (typecheck)
g.geth.Fatalf("%v sub error: %v", g.name, err)
^
cmd/geth/les_test.go:54:10: g.geth.Error undefined (type *testgeth has no field or method Error) (typecheck)
g.geth.Error("timeout adding peer after", dur)
^
util.go:46: exit status 1
exit status 1