@@ -3,86 +3,122 @@ let s:cpo_save = &cpo
3
3
set cpo &vim
4
4
5
5
func ! Test_Gometa () abort
6
+ call s: gometa (' gometaliner' )
7
+ endfunc
8
+
9
+ func ! Test_GometaGolangciLint () abort
10
+ call s: gometa (' golangci-lint' )
11
+ endfunc
12
+
13
+ func ! s: gometa (metalinter) abort
6
14
let $GOPATH = fnameescape (fnamemodify (getcwd (), ' :p' )) . ' test-fixtures/lint'
7
15
silent exe ' e ' . $GOPATH . ' /src/lint/lint.go'
8
16
9
- let expected = [
10
- \ {' lnum' : 5 , ' bufnr' : bufnr (' %' )+ 1 , ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingFooDoc should have comment or be unexported (golint)' }
11
- \ ]
17
+ try
18
+ let g: go_metalinter_comand = a: metalinter
19
+ let expected = [
20
+ \ {' lnum' : 5 , ' bufnr' : bufnr (' %' )+ 1 , ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingFooDoc should have comment or be unexported (golint)' }
21
+ \ ]
12
22
13
- " clear the quickfix lists
14
- call setqflist ([], ' r' )
23
+ " clear the quickfix lists
24
+ call setqflist ([], ' r' )
15
25
16
- let g: go_metalinter_enabled = [' golint' ]
26
+ let g: go_metalinter_enabled = [' golint' ]
17
27
18
- call go#lint#Gometa (0 , 0 , $GOPATH . ' /src/foo' )
28
+ call go#lint#Gometa (0 , 0 , $GOPATH . ' /src/foo' )
19
29
20
- let actual = getqflist ()
21
- let start = reltime ()
22
- while len (actual) == 0 && reltimefloat (reltime (start )) < 10
23
- sleep 100 m
24
30
let actual = getqflist ()
25
- endwhile
26
-
27
- call gotest#assert_quickfix (actual, expected)
28
- unlet g: go_metalinter_enabled
31
+ let start = reltime ()
32
+ while len (actual) == 0 && reltimefloat (reltime (start )) < 10
33
+ sleep 100 m
34
+ let actual = getqflist ()
35
+ endwhile
36
+
37
+ call gotest#assert_quickfix (actual, expected)
38
+ finally
39
+ unlet g: go_metalinter_enabled
40
+ endtry
29
41
endfunc
30
42
31
43
func ! Test_GometaWithDisabled () abort
44
+ call s: gometawithdisabled (' gometalinter' )
45
+ endfunc
46
+
47
+ func ! Test_GometaWithDisabledGolangciLint () abort
48
+ call s: gometawithdisabled (' golangci-lint' )
49
+ endfunc
50
+
51
+ func ! s: gometawithdisabled (metalinter) abort
32
52
let $GOPATH = fnameescape (fnamemodify (getcwd (), ' :p' )) . ' test-fixtures/lint'
33
53
silent exe ' e ' . $GOPATH . ' /src/lint/lint.go'
34
54
35
- let expected = [
36
- \ {' lnum' : 5 , ' bufnr' : bufnr (' %' )+ 1 , ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingFooDoc should have comment or be unexported (golint)' }
37
- \ ]
55
+ try
56
+ let g: go_metalinter_comand = a: metalinter
57
+ let expected = [
58
+ \ {' lnum' : 5 , ' bufnr' : bufnr (' %' )+ 1 , ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingFooDoc should have comment or be unexported (golint)' }
59
+ \ ]
38
60
39
- " clear the quickfix lists
40
- call setqflist ([], ' r' )
61
+ " clear the quickfix lists
62
+ call setqflist ([], ' r' )
41
63
42
- let g: go_metalinter_disabled = [' vet' ]
64
+ let g: go_metalinter_disabled = [' vet' ]
43
65
44
- call go#lint#Gometa (0 , 0 , $GOPATH . ' /src/foo' )
66
+ call go#lint#Gometa (0 , 0 , $GOPATH . ' /src/foo' )
45
67
46
- let actual = getqflist ()
47
- let start = reltime ()
48
- while len (actual) == 0 && reltimefloat (reltime (start )) < 10
49
- sleep 100 m
50
68
let actual = getqflist ()
51
- endwhile
52
-
53
- call gotest#assert_quickfix (actual, expected)
54
- unlet g: go_metalinter_disabled
69
+ let start = reltime ()
70
+ while len (actual) == 0 && reltimefloat (reltime (start )) < 10
71
+ sleep 100 m
72
+ let actual = getqflist ()
73
+ endwhile
74
+
75
+ call gotest#assert_quickfix (actual, expected)
76
+ finally
77
+ unlet g: go_metalinter_disabled
78
+ endtry
55
79
endfunc
56
80
57
81
func ! Test_GometaAutoSave () abort
82
+ call s: gometaautosave (' gometalinter' )
83
+ endfunc
84
+
85
+ func ! Test_GometaAutoSaveGolangciLint () abort
86
+ call s: gometaautosave (' golangci-lint' )
87
+ endfunc
88
+
89
+ func ! s: gometaautosave (metalinter) abort
58
90
let $GOPATH = fnameescape (fnamemodify (getcwd (), ' :p' )) . ' test-fixtures/lint'
59
91
silent exe ' e ' . $GOPATH . ' /src/lint/lint.go'
60
92
61
- let expected = [
62
- \ {' lnum' : 5 , ' bufnr' : bufnr (' %' ), ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingDoc should have comment or be unexported (golint)' }
63
- \ ]
93
+ try
94
+ let g: go_metalinter_comand = a: metalinter
95
+ let expected = [
96
+ \ {' lnum' : 5 , ' bufnr' : bufnr (' %' ), ' col' : 1 , ' valid' : 1 , ' vcol' : 0 , ' nr' : -1 , ' type' : ' w' , ' pattern' : ' ' , ' text' : ' exported function MissingDoc should have comment or be unexported (golint)' }
97
+ \ ]
64
98
65
- let winnr = winnr ()
99
+ let winnr = winnr ()
66
100
67
- " clear the location lists
68
- call setloclist (l: winnr , [], ' r' )
101
+ " clear the location lists
102
+ call setloclist (l: winnr , [], ' r' )
69
103
70
- let g: go_metalinter_autosave_enabled = [' golint' ]
104
+ let g: go_metalinter_autosave_enabled = [' golint' ]
71
105
72
- call go#lint#Gometa (0 , 1 )
106
+ call go#lint#Gometa (0 , 1 )
73
107
74
- let actual = getloclist (l: winnr )
75
- let start = reltime ()
76
- while len (actual) == 0 && reltimefloat (reltime (start )) < 10
77
- sleep 100 m
78
108
let actual = getloclist (l: winnr )
79
- endwhile
80
-
81
- call gotest#assert_quickfix (actual, expected)
82
- unlet g: go_metalinter_autosave_enabled
109
+ let start = reltime ()
110
+ while len (actual) == 0 && reltimefloat (reltime (start )) < 10
111
+ sleep 100 m
112
+ let actual = getloclist (l: winnr )
113
+ endwhile
114
+
115
+ call gotest#assert_quickfix (actual, expected)
116
+ finally
117
+ unlet g: go_metalinter_autosave_enabled
118
+ endtry
83
119
endfunc
84
120
85
- func ! Test_Vet ()
121
+ func ! Test_Vet () abort
86
122
let $GOPATH = fnameescape (fnamemodify (getcwd (), ' :p' )) . ' test-fixtures/lint'
87
123
silent exe ' e ' . $GOPATH . ' /src/vet/vet.go'
88
124
compiler go
0 commit comments