Skip to content

Commit eaedd2b

Browse files
ldezpolyfloyd
authored andcommitted
chore: replace allowedErrors global var by setDefaultAllowedErrors function
1 parent cd7de2e commit eaedd2b

File tree

3 files changed

+79
-77
lines changed

3 files changed

+79
-77
lines changed

errorlint/allowed.go

+77-75
Original file line numberDiff line numberDiff line change
@@ -12,83 +12,85 @@ type AllowPair struct {
1212
Fun string
1313
}
1414

15-
var allowedErrors = []AllowPair{
16-
// pkg/archive/tar
17-
{Err: "io.EOF", Fun: "(*archive/tar.Reader).Next"},
18-
{Err: "io.EOF", Fun: "(*archive/tar.Reader).Read"},
19-
// pkg/bufio
20-
{Err: "io.EOF", Fun: "(*bufio.Reader).Discard"},
21-
{Err: "io.EOF", Fun: "(*bufio.Reader).Peek"},
22-
{Err: "io.EOF", Fun: "(*bufio.Reader).Read"},
23-
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadByte"},
24-
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadBytes"},
25-
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadLine"},
26-
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadSlice"},
27-
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadString"},
28-
{Err: "io.EOF", Fun: "(*bufio.Scanner).Scan"},
29-
// pkg/bytes
30-
{Err: "io.EOF", Fun: "(*bytes.Buffer).Read"},
31-
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadByte"},
32-
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadBytes"},
33-
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadRune"},
34-
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadString"},
35-
{Err: "io.EOF", Fun: "(*bytes.Reader).Read"},
36-
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadAt"},
37-
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadByte"},
38-
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadRune"},
39-
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadString"},
40-
// pkg/database/sql
41-
{Err: "database/sql.ErrNoRows", Fun: "(*database/sql.Row).Scan"},
42-
// pkg/debug/elf
43-
{Err: "io.EOF", Fun: "debug/elf.Open"},
44-
{Err: "io.EOF", Fun: "debug/elf.NewFile"},
45-
// pkg/io
46-
{Err: "io.EOF", Fun: "(io.ReadCloser).Read"},
47-
{Err: "io.EOF", Fun: "(io.Reader).Read"},
48-
{Err: "io.EOF", Fun: "(io.ReaderAt).ReadAt"},
49-
{Err: "io.EOF", Fun: "(*io.LimitedReader).Read"},
50-
{Err: "io.EOF", Fun: "(*io.SectionReader).Read"},
51-
{Err: "io.EOF", Fun: "(*io.SectionReader).ReadAt"},
52-
{Err: "io.ErrClosedPipe", Fun: "(*io.PipeWriter).Write"},
53-
{Err: "io.ErrShortBuffer", Fun: "io.ReadAtLeast"},
54-
{Err: "io.ErrUnexpectedEOF", Fun: "io.ReadAtLeast"},
55-
{Err: "io.EOF", Fun: "io.ReadFull"},
56-
{Err: "io.ErrUnexpectedEOF", Fun: "io.ReadFull"},
57-
// pkg/net/http
58-
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ListenAndServe"},
59-
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ListenAndServeTLS"},
60-
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).Serve"},
61-
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ServeTLS"},
62-
{Err: "net/http.ErrServerClosed", Fun: "net/http.ListenAndServe"},
63-
{Err: "net/http.ErrServerClosed", Fun: "net/http.ListenAndServeTLS"},
64-
{Err: "net/http.ErrServerClosed", Fun: "net/http.Serve"},
65-
{Err: "net/http.ErrServerClosed", Fun: "net/http.ServeTLS"},
66-
// pkg/os
67-
{Err: "io.EOF", Fun: "(*os.File).Read"},
68-
{Err: "io.EOF", Fun: "(*os.File).ReadAt"},
69-
{Err: "io.EOF", Fun: "(*os.File).ReadDir"},
70-
{Err: "io.EOF", Fun: "(*os.File).Readdir"},
71-
{Err: "io.EOF", Fun: "(*os.File).Readdirnames"},
72-
// pkg/strings
73-
{Err: "io.EOF", Fun: "(*strings.Reader).Read"},
74-
{Err: "io.EOF", Fun: "(*strings.Reader).ReadAt"},
75-
{Err: "io.EOF", Fun: "(*strings.Reader).ReadByte"},
76-
{Err: "io.EOF", Fun: "(*strings.Reader).ReadRune"},
77-
// pkg/context
78-
{Err: "context.DeadlineExceeded", Fun: "(context.Context).Err"},
79-
{Err: "context.Canceled", Fun: "(context.Context).Err"},
80-
// pkg/encoding/json
81-
{Err: "io.EOF", Fun: "(*encoding/json.Decoder).Decode"},
82-
// pkg/encoding/csv
83-
{Err: "io.EOF", Fun: "(*encoding/csv.Reader).Read"},
84-
// pkg/mime/multipart
85-
{Err: "io.EOF", Fun: "(*mime/multipart.Reader).NextPart"},
86-
{Err: "io.EOF", Fun: "(*mime/multipart.Reader).NextRawPart"},
87-
{Err: "mime/multipart.ErrMessageTooLarge", Fun: "(*mime/multipart.Reader).ReadForm"},
88-
}
89-
9015
var allowedErrorsMap = make(map[string]map[string]struct{})
9116

17+
func setDefaultAllowedErrors() {
18+
allowedMapAppend([]AllowPair{
19+
// pkg/archive/tar
20+
{Err: "io.EOF", Fun: "(*archive/tar.Reader).Next"},
21+
{Err: "io.EOF", Fun: "(*archive/tar.Reader).Read"},
22+
// pkg/bufio
23+
{Err: "io.EOF", Fun: "(*bufio.Reader).Discard"},
24+
{Err: "io.EOF", Fun: "(*bufio.Reader).Peek"},
25+
{Err: "io.EOF", Fun: "(*bufio.Reader).Read"},
26+
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadByte"},
27+
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadBytes"},
28+
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadLine"},
29+
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadSlice"},
30+
{Err: "io.EOF", Fun: "(*bufio.Reader).ReadString"},
31+
{Err: "io.EOF", Fun: "(*bufio.Scanner).Scan"},
32+
// pkg/bytes
33+
{Err: "io.EOF", Fun: "(*bytes.Buffer).Read"},
34+
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadByte"},
35+
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadBytes"},
36+
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadRune"},
37+
{Err: "io.EOF", Fun: "(*bytes.Buffer).ReadString"},
38+
{Err: "io.EOF", Fun: "(*bytes.Reader).Read"},
39+
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadAt"},
40+
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadByte"},
41+
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadRune"},
42+
{Err: "io.EOF", Fun: "(*bytes.Reader).ReadString"},
43+
// pkg/database/sql
44+
{Err: "database/sql.ErrNoRows", Fun: "(*database/sql.Row).Scan"},
45+
// pkg/debug/elf
46+
{Err: "io.EOF", Fun: "debug/elf.Open"},
47+
{Err: "io.EOF", Fun: "debug/elf.NewFile"},
48+
// pkg/io
49+
{Err: "io.EOF", Fun: "(io.ReadCloser).Read"},
50+
{Err: "io.EOF", Fun: "(io.Reader).Read"},
51+
{Err: "io.EOF", Fun: "(io.ReaderAt).ReadAt"},
52+
{Err: "io.EOF", Fun: "(*io.LimitedReader).Read"},
53+
{Err: "io.EOF", Fun: "(*io.SectionReader).Read"},
54+
{Err: "io.EOF", Fun: "(*io.SectionReader).ReadAt"},
55+
{Err: "io.ErrClosedPipe", Fun: "(*io.PipeWriter).Write"},
56+
{Err: "io.ErrShortBuffer", Fun: "io.ReadAtLeast"},
57+
{Err: "io.ErrUnexpectedEOF", Fun: "io.ReadAtLeast"},
58+
{Err: "io.EOF", Fun: "io.ReadFull"},
59+
{Err: "io.ErrUnexpectedEOF", Fun: "io.ReadFull"},
60+
// pkg/net/http
61+
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ListenAndServe"},
62+
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ListenAndServeTLS"},
63+
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).Serve"},
64+
{Err: "net/http.ErrServerClosed", Fun: "(*net/http.Server).ServeTLS"},
65+
{Err: "net/http.ErrServerClosed", Fun: "net/http.ListenAndServe"},
66+
{Err: "net/http.ErrServerClosed", Fun: "net/http.ListenAndServeTLS"},
67+
{Err: "net/http.ErrServerClosed", Fun: "net/http.Serve"},
68+
{Err: "net/http.ErrServerClosed", Fun: "net/http.ServeTLS"},
69+
// pkg/os
70+
{Err: "io.EOF", Fun: "(*os.File).Read"},
71+
{Err: "io.EOF", Fun: "(*os.File).ReadAt"},
72+
{Err: "io.EOF", Fun: "(*os.File).ReadDir"},
73+
{Err: "io.EOF", Fun: "(*os.File).Readdir"},
74+
{Err: "io.EOF", Fun: "(*os.File).Readdirnames"},
75+
// pkg/strings
76+
{Err: "io.EOF", Fun: "(*strings.Reader).Read"},
77+
{Err: "io.EOF", Fun: "(*strings.Reader).ReadAt"},
78+
{Err: "io.EOF", Fun: "(*strings.Reader).ReadByte"},
79+
{Err: "io.EOF", Fun: "(*strings.Reader).ReadRune"},
80+
// pkg/context
81+
{Err: "context.DeadlineExceeded", Fun: "(context.Context).Err"},
82+
{Err: "context.Canceled", Fun: "(context.Context).Err"},
83+
// pkg/encoding/json
84+
{Err: "io.EOF", Fun: "(*encoding/json.Decoder).Decode"},
85+
// pkg/encoding/csv
86+
{Err: "io.EOF", Fun: "(*encoding/csv.Reader).Read"},
87+
// pkg/mime/multipart
88+
{Err: "io.EOF", Fun: "(*mime/multipart.Reader).NextPart"},
89+
{Err: "io.EOF", Fun: "(*mime/multipart.Reader).NextRawPart"},
90+
{Err: "mime/multipart.ErrMessageTooLarge", Fun: "(*mime/multipart.Reader).ReadForm"},
91+
})
92+
}
93+
9294
func allowedMapAppend(ap []AllowPair) {
9395
for _, pair := range ap {
9496
if _, ok := allowedErrorsMap[pair.Err]; !ok {

errorlint/allowed_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import (
55
)
66

77
func Test_isAllowedErrAndFunc(t *testing.T) {
8-
allowedMapAppend(allowedErrors)
8+
setDefaultAllowedErrors()
99

1010
testCases := []struct {
1111
desc string

errorlint/analysis.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ func NewAnalyzer(opts ...Option) *analysis.Analyzer {
1313
o()
1414
}
1515

16-
allowedMapAppend(allowedErrors)
16+
setDefaultAllowedErrors()
1717

1818
a := &analysis.Analyzer{
1919
Name: "errorlint",

0 commit comments

Comments
 (0)