mirror of
https://github.com/1f349/dendrite.git
synced 2025-03-29 07:15:04 +00:00
* Update gometalinter config gometalinter now uses `maligned` instead of `aligncheck` (https://github.com/alecthomas/gometalinter/pull/367), so we need to update our config accordingly. * Update gometalinter * Disable gotype linter gotype does not seem to play nicely with the gb vendor directory. In particular, it wants each of our dependencies to be built and installed (see https://github.com/golang/go/issues/10969), but (empirically) it will not accept them being installed in `pkg` but insists on them being in `vendor/pkg`. This presents a problem because `gb build` builds the packages into `pkg` (which doesn't seem entirely unreasonable since `.` comes before `vendor` in `$GOPATH`). `go install github.com/x/y` does install in `vendor/pkg` but requires us to know the name of each package. The general conclusion of https://github.com/alecthomas/gometalinter/issues/91 seems to have been that the easiest thing to do is to disable `gotype` for now. * Fix `unparam` lint * Fix goshadow lint
68 lines
1.2 KiB
Go
68 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestLinterStateCommand(t *testing.T) {
|
|
varsDefault := Vars{"tests": "", "not_tests": "true"}
|
|
varsWithTest := Vars{"tests": "true", "not_tests": ""}
|
|
|
|
var testcases = []struct {
|
|
linter string
|
|
vars Vars
|
|
expected string
|
|
}{
|
|
{
|
|
linter: "errcheck",
|
|
vars: varsWithTest,
|
|
expected: `errcheck -abspath `,
|
|
},
|
|
{
|
|
linter: "errcheck",
|
|
vars: varsDefault,
|
|
expected: `errcheck -abspath -ignoretests`,
|
|
},
|
|
{
|
|
linter: "gotype",
|
|
vars: varsDefault,
|
|
expected: `gotype -e `,
|
|
},
|
|
{
|
|
linter: "gotype",
|
|
vars: varsWithTest,
|
|
expected: `gotype -e -t`,
|
|
},
|
|
{
|
|
linter: "structcheck",
|
|
vars: varsDefault,
|
|
expected: `structcheck `,
|
|
},
|
|
{
|
|
linter: "structcheck",
|
|
vars: varsWithTest,
|
|
expected: `structcheck -t`,
|
|
},
|
|
{
|
|
linter: "unparam",
|
|
vars: varsDefault,
|
|
expected: `unparam -tests=false`,
|
|
},
|
|
{
|
|
linter: "unparam",
|
|
vars: varsWithTest,
|
|
expected: `unparam `,
|
|
},
|
|
}
|
|
|
|
for _, testcase := range testcases {
|
|
ls := linterState{
|
|
Linter: getLinterByName(testcase.linter, LinterConfig{}),
|
|
vars: testcase.vars,
|
|
}
|
|
assert.Equal(t, testcase.expected, ls.command())
|
|
}
|
|
}
|