| # 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 |
| - revive |
| - structcheck |
| - unconvert |
| - deadcode |
| - goconst |
| - unused |
| - gosimple |
| - varcheck |
| - misspell |
| - gocyclo |
| - vetshadow |
| - megacheck |
| - stylecheck |
| - govet |
| - whitespace |
| - nestif |
| - goprintffuncname |
| - godot |
| - gocognit |
| - funlen |
| - dupl |
| - staticcheck |
| - 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: |
| revive: |
| rules: |
| - name: package-comments |
| disabled: true |
| 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: |
| scope: toplevel |
| 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" |
| # This check gives false positives related to the standard log.Fatalf |
| # (which is strange, standard log package should be supported).# |
| - "SA5011: possible nil pointer dereference" |
| 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" |