| 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 | |