-
Notifications
You must be signed in to change notification settings - Fork 0
/
parser_test.go
103 lines (94 loc) · 2.59 KB
/
parser_test.go
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
package main
import (
"reflect"
"testing"
)
func TestLineParser(t *testing.T) {
type test struct {
line string
extract lintResult
}
tests := []test{
{
"/tmp/test/utils/rest-token-provider.go:54::warning: duplicate of rest-token-provider.go:78-101 (dupl)",
lintResult{
"/tmp/test/utils/rest-token-provider.go",
54,
0,
"warning",
"duplicate of rest-token-provider.go:78-101",
"dupl",
"",
},
},
{
"/tmp/test/utils/config_test.go:58::warning: cyclomatic complexity 11 of function TestLoadRegistryConfiguration() is high (> 10) (gocyclo)",
lintResult{
"/tmp/test/utils/config_test.go",
58,
0,
"warning",
"cyclomatic complexity 11 of function TestLoadRegistryConfiguration() is high (> 10)",
"gocyclo",
"",
},
},
{
"/tmp/test/web/router.go:42:15:error: NewOauthMw not declared by package middleware (gotype)",
lintResult{
"/tmp/test/web/router.go",
42,
15,
"error",
"NewOauthMw not declared by package middleware",
"gotype",
"",
},
},
{
"/tmp/test/utils/token_cache.go:143:3:warning: should use for range instead of for { select {} } (gosimple)",
lintResult{
"/tmp/test/utils/token_cache.go",
143,
3,
"warning",
"should use for range instead of for { select {} }",
"gosimple",
"",
},
},
{
"/private/tmp/test/utils/rest-token-provider.go:90:8:warning: ineffectual assignment to err (ineffassign)",
lintResult{
"/private/tmp/test/utils/rest-token-provider.go",
90,
8,
"warning",
"ineffectual assignment to err",
"ineffassign",
"",
},
},
{
"/tmp/test/middleware/oauth-authentication.go:116:22:error: cannot use ag.tokenCache.GetAuthenticationSummary(token) (value of type *bitbucket.org/eliocity/api-gateway/vendor/bitbucket.org/eliocity/go-common/model/auth.AuthenticationSummary) as *bitbucket.org/eliocity/go-common/model/auth.AuthenticationSummary value in assignment (gotype)",
lintResult{
"/tmp/test/middleware/oauth-authentication.go",
116,
22,
"error",
"cannot use ag.tokenCache.GetAuthenticationSummary(token) (value of type *bitbucket.org/eliocity/api-gateway/vendor/bitbucket.org/eliocity/go-common/model/auth.AuthenticationSummary) as *bitbucket.org/eliocity/go-common/model/auth.AuthenticationSummary value in assignment",
"gotype",
"",
},
},
}
for _, c := range tests {
l, err := parseLine(c.line)
if err != nil {
t.Fatalf("Regexp does not match to :%s", c.line)
}
if !reflect.DeepEqual(l, &c.extract) {
t.Errorf("Mismatch '%s' is != '%s'", l, c.extract)
}
}
}