1 | |
2 | |
3 | |
4 | |
5 | package buildtag_test |
6 | |
7 | import ( |
8 | "runtime" |
9 | "strings" |
10 | "testing" |
11 | |
12 | "golang.org/x/tools/go/analysis" |
13 | "golang.org/x/tools/go/analysis/analysistest" |
14 | "golang.org/x/tools/go/analysis/passes/buildtag" |
15 | ) |
16 | |
17 | func Test(t *testing.T) { |
18 | if strings.HasPrefix(runtime.Version(), "go1.") && runtime.Version() < "go1.16" { |
19 | t.Skipf("skipping on %v", runtime.Version()) |
20 | } |
21 | analyzer := *buildtag.Analyzer |
22 | analyzer.Run = func(pass *analysis.Pass) (interface{}, error) { |
23 | defer func() { |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | var files []string |
31 | files = append(files, pass.OtherFiles...) |
32 | files = append(files, pass.IgnoredFiles...) |
33 | pass.OtherFiles = files |
34 | }() |
35 | |
36 | return buildtag.Analyzer.Run(pass) |
37 | } |
38 | analysistest.Run(t, analysistest.TestData(), &analyzer, "a") |
39 | } |
40 | |