golangci-lint/pkg/result/processors/skip_dirs_test.go
2024-03-28 20:48:43 +01:00

69 lines
1.3 KiB
Go

package processors
import (
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func Test_absDirs(t *testing.T) {
testCases := []struct {
desc string
args []string
expected []string
}{
{
desc: "empty",
expected: []string{mustAbs(t, ".")},
},
{
desc: "wildcard",
args: []string{"./..."},
expected: []string{mustAbs(t, ".")},
},
{
desc: "wildcard directory",
args: []string{"foo/..."},
expected: []string{mustAbs(t, "foo")},
},
{
desc: "Go file",
args: []string{"./foo/bar.go"},
expected: []string{mustAbs(t, "foo")},
},
{
desc: "relative directory",
args: []string{filepath.FromSlash("./foo")},
expected: []string{mustAbs(t, "foo")},
},
{
desc: "absolute directory",
args: []string{mustAbs(t, "foo")},
expected: []string{mustAbs(t, "foo")},
},
}
for _, test := range testCases {
test := test
t.Run(test.desc, func(t *testing.T) {
t.Parallel()
results, err := absDirs(test.args)
require.NoError(t, err)
assert.Equal(t, test.expected, results)
})
}
}
func mustAbs(t *testing.T, p string) string {
t.Helper()
abs, err := filepath.Abs(p)
require.NoError(t, err)
return abs
}