Skip to content

Commit 1a862dc

Browse files
committed
[fix] linter errcheck
1 parent 5015e5e commit 1a862dc

File tree

4 files changed

+26
-5
lines changed

4 files changed

+26
-5
lines changed

cmdutil/when.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package cmdutil
22

33
import (
4+
"fmt"
45
"os"
56
"strings"
67

@@ -46,8 +47,10 @@ func IsAllowedToExecute(when string) (bool, error) {
4647
}
4748
if got, err := expr.Run(program, whenEnv); err != nil {
4849
return false, errors.WithStack(err)
50+
} else if got, ok := got.(bool); !ok {
51+
return false, fmt.Errorf("expected bool, but got %T", got)
4952
} else {
50-
return got.(bool), nil
53+
return got, nil
5154
}
5255
}
5356

cmdutil/when_test.go

+16-2
Original file line numberDiff line numberDiff line change
@@ -113,25 +113,39 @@ func TestIsAllowedToExecute(t *testing.T) {
113113
want: false,
114114
errorContains: "unknown name NoneSuchVariable",
115115
},
116+
{
117+
name: "Expression produces an integer",
118+
envset: map[string]string{},
119+
when: "123",
120+
want: false,
121+
errorContains: "expected bool, but got int",
122+
},
116123
}
117124
for _, tt := range tests {
118125
t.Run(tt.name, func(t *testing.T) {
119126
NewWhenEnv = func() *WhenEnv { return &WhenEnv{Env: tt.envset} }
120127
got, err := IsAllowedToExecute(tt.when)
128+
121129
if err != nil {
122130
if tt.errorContains != nil {
123-
if !strings.Contains(err.Error(), tt.errorContains.(string)) {
124-
t.Errorf("Error %v does not contain %s", err, tt.errorContains)
131+
if errStr, ok := tt.errorContains.(string); ok {
132+
if !strings.Contains(err.Error(), errStr) {
133+
t.Errorf("Error %v does not contain %s", err, errStr)
134+
}
135+
} else {
136+
t.Errorf("errorContains should be a string, but got %T", tt.errorContains)
125137
}
126138
} else {
127139
t.Error(err)
128140
}
129141
} else if tt.errorContains != nil {
130142
t.Errorf("Expected an error containing %v", tt.errorContains)
131143
}
144+
132145
if got != tt.want {
133146
t.Errorf("got %v\nwant %v", got, tt.want)
134147
}
135148
})
136149
}
150+
137151
}

config/yaml.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,9 @@ func (f *Format) UnmarshalYAML(data []byte) error {
7272
case []interface{}:
7373
values := []string{}
7474
for _, vv := range v {
75-
values = append(values, vv.(string))
75+
if str, ok := vv.(string); ok {
76+
values = append(values, str)
77+
}
7678
}
7779
f.HideColumnsWithoutValues = values
7880
}

dict/dict.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ func New() Dict {
1818

1919
func (d *Dict) Lookup(k string) string {
2020
if v, ok := d.s.Load(k); ok {
21-
return v.(string)
21+
if str, ok := v.(string); ok {
22+
return str
23+
}
2224
}
2325
return k
2426
}

0 commit comments

Comments
 (0)