-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathanalyzer_test.go
102 lines (78 loc) · 2.72 KB
/
analyzer_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
package magic_numbers
import (
"flag"
"testing"
"golang.org/x/tools/go/analysis/analysistest"
)
func TestCaseChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "case")
}
func TestArgumentChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "argument")
}
func TestAssignChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "assign")
}
func TestConditionChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "condition")
}
func TestOperationChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "operation")
}
func TestReturnChecks(t *testing.T) {
testdata := analysistest.TestData()
analysistest.Run(t, testdata, Analyzer, "return")
}
func TestCanIgnoreFunctions(t *testing.T) {
testdata := analysistest.TestData()
options := flag.NewFlagSet("", flag.ExitOnError)
options.String("checks", "argument", "")
options.String("excludes", "", "")
options.String("ignored-files", "", "")
options.String("ignored-functions", "math.*,make", "")
options.String("ignored-numbers", "", "")
analyzer := Analyzer
analyzer.Flags = *options
analysistest.Run(t, testdata, analyzer, "ignored/functions")
}
func TestCanIgnoreNumbers(t *testing.T) {
testdata := analysistest.TestData()
options := flag.NewFlagSet("", flag.ExitOnError)
options.String("checks", "assign,argument", "")
options.String("excludes", "", "")
options.String("ignored-files", "", "")
options.String("ignored-functions", "", "")
options.String("ignored-numbers", "1000,1234_567_890,3.14159264", "")
analyzer := Analyzer
analyzer.Flags = *options
analysistest.Run(t, testdata, analyzer, "ignored/numbers")
}
func TestCanIgnoreFiles(t *testing.T) {
testdata := analysistest.TestData()
options := flag.NewFlagSet("", flag.ExitOnError)
options.String("checks", "argument", "")
options.String("excludes", "ignored1", "")
options.String("ignored-files", "ignored2", "")
options.String("ignored-functions", "", "")
options.String("ignored-numbers", "", "")
analyzer := Analyzer
analyzer.Flags = *options
analysistest.Run(t, testdata, analyzer, "ignored/files")
}
func TestCanIgnoreFilesWithBlankExcludesOption(t *testing.T) {
testdata := analysistest.TestData()
options := flag.NewFlagSet("", flag.ExitOnError)
options.String("checks", "argument", "")
options.String("excludes", "", "")
options.String("ignored-files", "ignored1,ignored2", "")
options.String("ignored-functions", "", "")
options.String("ignored-numbers", "", "")
analyzer := Analyzer
analyzer.Flags = *options
analysistest.Run(t, testdata, analyzer, "ignored/files")
}