Skip to content

Commit 8f88386

Browse files
leventovldez
authored andcommitted
Update errcheck after kisielk/errcheck#185 is merged
1 parent 4c88f08 commit 8f88386

File tree

6 files changed

+29
-20
lines changed

6 files changed

+29
-20
lines changed

go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ require (
3434
github.com/kunwardeep/paralleltest v1.0.2
3535
github.com/kyoh86/exportloopref v0.1.8
3636
github.com/kisielk/errcheck v1.4.1-0.20200802052755-ea6ea2fa7078
37+
github.com/kisielk/errcheck v1.5.0-alpha.0.20201210184435-7e1276f76cf6
3738
github.com/kyoh86/exportloopref v0.1.7
3839
github.com/maratori/testpackage v1.0.1
3940
github.com/matoous/godox v0.0.0-20190911065817-5d6d842e92eb // v1.0
@@ -78,5 +79,3 @@ require (
7879
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect
7980
mvdan.cc/unparam v0.0.0-20200501210554-b37ab49443f7
8081
)
81-
82-
replace github.com/kisielk/errcheck => /Users/[email protected]/icloud/projects/errcheck

go.sum

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/golinters/errcheck.go

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ func NewErrcheck() *goanalysis.Linter {
4242
if err != nil {
4343
panic(err.Error())
4444
}
45-
checker.Verbose = lintCtx.Cfg.Run.IsVerbose
4645
checker.Tags = lintCtx.Cfg.Run.BuildTags
4746

4847
analyzer.Run = func(pass *analysis.Pass) (interface{}, error) {
@@ -54,12 +53,12 @@ func NewErrcheck() *goanalysis.Linter {
5453
}
5554

5655
errcheckIssues := checker.CheckPackage(pkg)
57-
if len(errcheckIssues) == 0 {
56+
if len(errcheckIssues.UncheckedErrors) == 0 {
5857
return nil, nil
5958
}
6059

61-
issues := make([]goanalysis.Issue, 0, len(errcheckIssues))
62-
for _, i := range errcheckIssues {
60+
issues := make([]goanalysis.Issue, 0, len(errcheckIssues.UncheckedErrors))
61+
for _, i := range errcheckIssues.UncheckedErrors {
6362
var text string
6463
if i.FuncName != "" {
6564
text = fmt.Sprintf("Error return value of %s is not checked", formatCode(i.FuncName, lintCtx.Cfg))
@@ -112,31 +111,30 @@ func parseIgnoreConfig(s string) (map[string]*regexp.Regexp, error) {
112111
}
113112

114113
func getChecker(errCfg *config.ErrcheckSettings) (*errcheck.Checker, error) {
115-
checker := errcheck.NewChecker()
116-
checker.Blank = errCfg.CheckAssignToBlank
117-
checker.Asserts = errCfg.CheckTypeAssertions
114+
var checker errcheck.Checker
115+
checker.Exclusions.BlankAssignments = !errCfg.CheckAssignToBlank
116+
checker.Exclusions.TypeAssertions = !errCfg.CheckTypeAssertions
118117

119118
ignoreConfig, err := parseIgnoreConfig(errCfg.Ignore)
120119
if err != nil {
121120
return nil, errors.Wrap(err, "failed to parse 'ignore' directive")
122121
}
123122

124-
checker.Ignore = map[string]*regexp.Regexp{}
123+
checker.Exclusions.SymbolRegexpsByPackage = map[string]*regexp.Regexp{}
125124
for pkg, re := range ignoreConfig {
126-
checker.Ignore[pkg] = re
125+
checker.Exclusions.SymbolRegexpsByPackage[pkg] = re
127126
}
128-
checker.UpdateNonVendoredIgnore()
129127

130-
checker.AddExcludes(errcheck.DefaultExcludes)
128+
checker.Exclusions.Symbols = append([]string{}, errcheck.DefaultExcludedSymbols...)
131129
if errCfg.Exclude != "" {
132130
exclude, err := readExcludeFile(errCfg.Exclude)
133131
if err != nil {
134132
return nil, err
135133
}
136-
checker.AddExcludes(exclude)
134+
checker.Exclusions.Symbols = append(checker.Exclusions.Symbols, exclude...)
137135
}
138136

139-
return checker, nil
137+
return &checker, nil
140138
}
141139

142140
func getFirstPathArg() string {

test/testdata/errcheck_exclude.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@ func TestErrcheckExclude() []byte {
1313
}
1414

1515
func TestErrcheckNoExclude() []byte {
16-
ret, _ := ioutil.ReadAll(nil) // ERROR "Error return value is not checked"
16+
ret, _ := ioutil.ReadAll(nil) // ERROR "Error return value of `io/ioutil.ReadAll` is not checked"
1717
return ret
1818
}

test/testdata/errcheck_ignore.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ func TestErrcheckIgnoreOs() {
1212
_, _ = os.Open("f.txt")
1313
}
1414

15-
func TestErrcheckNoIgnoreFmt(s string) int {
16-
n, _ := fmt.Println(s) // ERROR "Error return value is not checked"
15+
func TestErrcheckIgnoreFmt(s string) int {
16+
n, _ := fmt.Println(s)
1717
return n
1818
}
1919

@@ -23,6 +23,6 @@ func TestErrcheckIgnoreIoutil() []byte {
2323
}
2424

2525
func TestErrcheckNoIgnoreIoutil() []byte {
26-
ret, _ := ioutil.ReadAll(nil) // ERROR "Error return value is not checked"
26+
ret, _ := ioutil.ReadAll(nil) // ERROR "Error return value of `io/ioutil.ReadAll` is not checked"
2727
return ret
2828
}

test/testdata/errcheck_ignore_default.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ func TestErrcheckIgnoreFmtByDefault(s string) int {
2020
}
2121

2222
func TestErrcheckNoIgnoreOs() {
23-
_, _ = os.Open("f.txt") // ERROR "Error return value is not checked"
23+
_, _ = os.Open("f.txt") // ERROR "Error return value of `os.Open` is not checked"
2424
}

0 commit comments

Comments
 (0)