diff options
Diffstat (limited to 'tools/nogo/config_test.go')
-rw-r--r-- | tools/nogo/config_test.go | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/tools/nogo/config_test.go b/tools/nogo/config_test.go deleted file mode 100644 index 685cffbec..000000000 --- a/tools/nogo/config_test.go +++ /dev/null @@ -1,301 +0,0 @@ -// Copyright 2021 The gVisor Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License.package nogo -package nogo - -import ( - "go/token" - "testing" -) - -// TestShouldReport validates the suppression behavior of Config.ShouldReport. -func TestShouldReport(t *testing.T) { - config := &Config{ - Groups: []Group{ - { - Name: "default-enabled", - Regex: "^default-enabled/", - Default: true, - }, - { - Name: "default-disabled", - Regex: "^default-disabled/", - Default: false, - }, - { - Name: "default-disabled-omitted-from-global", - Regex: "^default-disabled-omitted-from-global/", - Default: false, - }, - }, - Global: AnalyzerConfig{ - "default-enabled": &ItemConfig{ - Exclude: []string{"excluded.go"}, - Suppress: []string{"suppressed"}, - }, - "default-disabled": &ItemConfig{ - Exclude: []string{"excluded.go"}, - Suppress: []string{"suppressed"}, - }, - // Omitting default-disabled-omitted-from-global here - // has no effect on configuration below. - }, - Analyzers: map[AnalyzerName]AnalyzerConfig{ - "analyzer-suppressions": AnalyzerConfig{ - // Suppress some. - "default-enabled": &ItemConfig{ - Exclude: []string{"limited-exclude.go"}, - Suppress: []string{"limited suppress"}, - }, - // Enable all. - "default-disabled": nil, - }, - "enabled-for-default-disabled": AnalyzerConfig{ - "default-disabled": nil, - "default-disabled-omitted-from-global": nil, - }, - }, - } - - if err := config.Compile(); err != nil { - t.Fatalf("Compile(%+v) = %v, want nil", config, err) - } - - cases := []struct { - name string - finding Finding - want bool - }{ - { - name: "enabled", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "default-enabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "ungrouped", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "ungrouped/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "suppressed", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "default-enabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message suppressed", - }, - want: false, - }, - { - name: "excluded", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "default-enabled/excluded.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: false, - }, - { - name: "disabled", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "default-disabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: false, - }, - { - name: "analyzer suppressed", - finding: Finding{ - Category: "analyzer-suppressions", - Position: token.Position{ - Filename: "default-enabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message limited suppress", - }, - want: false, - }, - { - name: "analyzer suppressed not global", - finding: Finding{ - // Doesn't apply outside of analyzer-suppressions. - Category: "foo", - Position: token.Position{ - Filename: "default-enabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message limited suppress", - }, - want: true, - }, - { - name: "analyzer suppressed grouped", - finding: Finding{ - Category: "analyzer-suppressions", - Position: token.Position{ - // Doesn't apply outside of default-enabled. - Filename: "default-disabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message limited suppress", - }, - want: true, - }, - { - name: "analyzer excluded", - finding: Finding{ - Category: "analyzer-suppressions", - Position: token.Position{ - Filename: "default-enabled/limited-exclude.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: false, - }, - { - name: "analyzer excluded not global", - finding: Finding{ - // Doesn't apply outside of analyzer-suppressions. - Category: "foo", - Position: token.Position{ - Filename: "default-enabled/limited-exclude.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "analyzer excluded grouped", - finding: Finding{ - Category: "analyzer-suppressions", - Position: token.Position{ - // Doesn't apply outside of default-enabled. - Filename: "default-disabled/limited-exclude.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "disabled-omitted", - finding: Finding{ - Category: "foo", - Position: token.Position{ - Filename: "default-disabled-omitted-from-global/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: false, - }, - { - name: "default enabled applies to customized analyzer", - finding: Finding{ - Category: "enabled-for-default-disabled", - Position: token.Position{ - Filename: "default-enabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "default overridden in customized analyzer", - finding: Finding{ - Category: "enabled-for-default-disabled", - Position: token.Position{ - Filename: "default-disabled/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - { - name: "default overridden in customized analyzer even when omitted from global", - finding: Finding{ - Category: "enabled-for-default-disabled", - Position: token.Position{ - Filename: "default-disabled-omitted-from-global/file.go", - Offset: 0, - Line: 1, - Column: 1, - }, - Message: "message", - }, - want: true, - }, - } - for _, tc := range cases { - t.Run(tc.name, func(t *testing.T) { - if got := config.ShouldReport(tc.finding); got != tc.want { - t.Errorf("ShouldReport(%+v) = %v, want %v", tc.finding, got, tc.want) - } - }) - } -} |