forked from google/syzkaller
-
Notifications
You must be signed in to change notification settings - Fork 6
/
.golangci.yml
120 lines (115 loc) · 2.54 KB
/
.golangci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Copyright 2019 syzkaller project authors. All rights reserved.
# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file.
run:
deadline: 8m
skip-dirs:
- pkg/kd
- tools/syz-trace2syz
# Autogenerated files take too much time and memory to load,
# even if we skip them with skip-dirs.
# So we define this tag and use it in the autogenerated files.
build-tags:
- codeanalysis
output:
print-linter-name: false
linters:
enable:
- lll
- vet
- gofmt
- golint
- structcheck
- unconvert
- deadcode
- goconst
- unused
- gosimple
- varcheck
- misspell
- gocyclo
- vetshadow
- megacheck
- stylecheck
- govet
- whitespace
- nestif
- goprintffuncname
- godot
- gocognit
- funlen
- dupl
- syz-linter
disable:
- bodyclose
- depguard
- dogsled
- gochecknoglobals
- gochecknoinits
- godox
- goimports
- gomnd
- gomodguard
- gosec
- maligned
- rowserrcheck
- testpackage
- typecheck
- ineffassign
# errcheck would be good to enable, but we need to fix existing warnings first.
- errcheck
- interfacer
- unparam
- nakedret
- prealloc
- scopelint
- gocritic
- wsl
linters-settings:
lll:
line-length: 120
gocyclo:
# TODO: consider reducing this value.
min-complexity: 24
dupl:
threshold: 60
goconst:
min-len: 3
min-occurrences: 3
nestif:
# TODO: consider reducing this value.
min-complexity: 12
godot:
check-all: true
gocognit:
# TODO: consider reducing this value.
min-complexity: 70
funlen:
# TODO: consider reducing these value.
lines: 140
statements: 80
custom:
syz-linter:
path: bin/syz-linter.so
issues:
exclude-use-default: false
max-same-issues: 0
exclude:
- "exported .* should have comment"
- "comment on .* should be of the form"
- "at least one file in a package should have a package comment"
exclude-rules:
- path: (pkg/csource/generated.go|pkg/build/linux_generated.go)
linters:
- lll
- path: (sys/.*/init.*|sys/targets/common.go)
text: "don't use ALL_CAPS in Go names|should not use ALL_CAPS in Go names"
- path: (prog/.*)
text: "methods on the same type should have the same receiver name"
- path: (dashboard/app/.*_test\.go)
linters:
- dupl
- path: (prog/.*_test\.go)
linters:
- goconst
- path: (.*_test\.go)
text: "Function '.*' is too long"