test(linters): Enable copyloopvar (#15532)

This commit is contained in:
Paweł Żak 2024-06-20 22:43:02 +02:00 committed by GitHub
parent 80e94f7043
commit 78cbf533d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 30 additions and 59 deletions

View File

@ -5,6 +5,7 @@ linters:
- asciicheck - asciicheck
- bidichk - bidichk
- bodyclose - bodyclose
- copyloopvar
- depguard - depguard
- dogsled - dogsled
- errcheck - errcheck

View File

@ -230,7 +230,6 @@ func TestAuthConfig_Start(t *testing.T) {
}, },
} }
for _, tt := range tests { for _, tt := range tests {
tt := tt
t.Run(tt.name, func(t *testing.T) { t.Run(tt.name, func(t *testing.T) {
srv := newFakeServer(t) srv := newFakeServer(t)
c := &CookieAuthConfig{ c := &CookieAuthConfig{

View File

@ -97,11 +97,8 @@ func (ie *iaEntitiesValuesReader) readCoreEvents(entity *CoreEventEntity) ([]cor
metrics := make([]coreMetric, len(entity.activeEvents)) metrics := make([]coreMetric, len(entity.activeEvents))
errGroup := errgroup.Group{} errGroup := errgroup.Group{}
for i, event := range entity.activeEvents { for id, actualEvent := range entity.activeEvents {
id := i if actualEvent == nil || actualEvent.PerfEvent == nil {
actualEvent := event
if event == nil || event.PerfEvent == nil {
return nil, errors.New("active event or corresponding perf event is nil") return nil, errors.New("active event or corresponding perf event is nil")
} }
@ -170,10 +167,7 @@ func (ie *iaEntitiesValuesReader) readMultiEventSeparately(multiEvent multiEvent
metrics := make([]uncoreMetric, len(activeEvents)) metrics := make([]uncoreMetric, len(activeEvents))
group := errgroup.Group{} group := errgroup.Group{}
for i, event := range activeEvents { for id, actualEvent := range activeEvents {
id := i
actualEvent := event
group.Go(func() error { group.Go(func() error {
values, err := ie.eventReader.readValue(actualEvent) values, err := ie.eventReader.readValue(actualEvent)
if err != nil { if err != nil {
@ -211,10 +205,7 @@ func (ie *iaEntitiesValuesReader) readMultiEventAgg(multiEvent multiEvent) (unco
values := make([]ia.CounterValue, len(activeEvents)) values := make([]ia.CounterValue, len(activeEvents))
group := errgroup.Group{} group := errgroup.Group{}
for i, event := range activeEvents { for id, actualEvent := range activeEvents {
id := i
actualEvent := event
group.Go(func() error { group.Go(func() error {
value, err := ie.eventReader.readValue(actualEvent) value, err := ie.eventReader.readValue(actualEvent)
if err != nil { if err != nil {

View File

@ -44,7 +44,6 @@ func TestGather(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
var acc testutil.Accumulator var acc testutil.Accumulator
n.Servers = test.servers n.Servers = test.servers
@ -360,7 +359,6 @@ func TestParseXML(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
var acc testutil.Accumulator var acc testutil.Accumulator
err := n.parseXML(&acc, test.xmlResponse) err := n.parseXML(&acc, test.xmlResponse)
@ -403,7 +401,6 @@ func TestSendRequest(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
t.Parallel() t.Parallel()
h := http.HandlerFunc(func( h := http.HandlerFunc(func(
@ -462,7 +459,6 @@ func TestParseTime(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
t.Parallel() t.Parallel()
res, err := parseTime(test.input, test.timeZone) res, err := parseTime(test.input, test.timeZone)
@ -507,7 +503,6 @@ func TestFindProbe(t *testing.T) {
} }
for _, test := range tests { for _, test := range tests {
test := test
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
t.Parallel() t.Parallel()
index := findProbe(test.probeName, fakeProbes) index := findProbe(test.probeName, fakeProbes)

View File

@ -451,8 +451,7 @@ func TestServerName(t *testing.T) {
{name: "errors", fromCfg: "otherex.com", fromTLS: "example.com", url: "https://other.example.com", err: true}, {name: "errors", fromCfg: "otherex.com", fromTLS: "example.com", url: "https://other.example.com", err: true},
} }
for _, elt := range tests { for _, test := range tests {
test := elt
t.Run(test.name, func(t *testing.T) { t.Run(test.name, func(t *testing.T) {
sc := &X509Cert{ sc := &X509Cert{
Sources: []string{test.url}, Sources: []string{test.url},

View File

@ -305,8 +305,7 @@ func parseCSV(p *Parser, r io.Reader) ([]telegraf.Metric, error) {
continue continue
} }
//concatenate header names //concatenate header names
for i, h := range header { for i, name := range header {
name := h
if p.TrimSpace { if p.TrimSpace {
name = strings.Trim(name, " ") name = strings.Trim(name, " ")
} }

View File

@ -26,8 +26,8 @@ func (c *Config) validateTemplates() error {
// map to keep track of filters we see // map to keep track of filters we see
filters := map[string]struct{}{} filters := map[string]struct{}{}
for i, t := range c.Templates { for i, template := range c.Templates {
parts := strings.Fields(t) parts := strings.Fields(template)
// Ensure template string is non-empty // Ensure template string is non-empty
if len(parts) == 0 { if len(parts) == 0 {
return fmt.Errorf("missing template at position: %d", i) return fmt.Errorf("missing template at position: %d", i)
@ -37,10 +37,9 @@ func (c *Config) validateTemplates() error {
} }
if len(parts) > 3 { if len(parts) > 3 {
return fmt.Errorf("invalid template format: %q", t) return fmt.Errorf("invalid template format: %q", template)
} }
template := t
filter := "" filter := ""
tags := "" tags := ""
if len(parts) >= 2 { if len(parts) >= 2 {

View File

@ -22,7 +22,7 @@ func (f *JSONFlattener) FlattenJSON(
// FullFlattenJSON flattens nested maps/interfaces into a fields map (including bools and string) // FullFlattenJSON flattens nested maps/interfaces into a fields map (including bools and string)
func (f *JSONFlattener) FullFlattenJSON( func (f *JSONFlattener) FullFlattenJSON(
fieldname string, fieldName string,
v interface{}, v interface{},
convertString bool, convertString bool,
convertBool bool, convertBool bool,
@ -33,45 +33,44 @@ func (f *JSONFlattener) FullFlattenJSON(
switch t := v.(type) { switch t := v.(type) {
case map[string]interface{}: case map[string]interface{}:
for k, v := range t { for fieldKey, fieldVal := range t {
fieldkey := k if fieldName != "" {
if fieldname != "" { fieldKey = fieldName + "_" + fieldKey
fieldkey = fieldname + "_" + fieldkey
} }
err := f.FullFlattenJSON(fieldkey, v, convertString, convertBool) err := f.FullFlattenJSON(fieldKey, fieldVal, convertString, convertBool)
if err != nil { if err != nil {
return err return err
} }
} }
case []interface{}: case []interface{}:
for i, v := range t { for i, fieldVal := range t {
fieldkey := strconv.Itoa(i) fieldKey := strconv.Itoa(i)
if fieldname != "" { if fieldName != "" {
fieldkey = fieldname + "_" + fieldkey fieldKey = fieldName + "_" + fieldKey
} }
err := f.FullFlattenJSON(fieldkey, v, convertString, convertBool) err := f.FullFlattenJSON(fieldKey, fieldVal, convertString, convertBool)
if err != nil { if err != nil {
return err return err
} }
} }
case float64: case float64:
f.Fields[fieldname] = t f.Fields[fieldName] = t
case string: case string:
if !convertString { if !convertString {
return nil return nil
} }
f.Fields[fieldname] = v.(string) f.Fields[fieldName] = v.(string)
case bool: case bool:
if !convertBool { if !convertBool {
return nil return nil
} }
f.Fields[fieldname] = v.(bool) f.Fields[fieldName] = v.(bool)
case nil: case nil:
return nil return nil
default: default:
return fmt.Errorf("JSON Flattener: got unexpected type %T with value %v (%s)", return fmt.Errorf("JSON Flattener: got unexpected type %T with value %v (%s)",
t, t, fieldname) t, t, fieldName)
} }
return nil return nil
} }

View File

@ -68,8 +68,7 @@ func (c *converter) convertTag(metric telegraf.Metric) {
tags[c.Tag] = tv tags[c.Tag] = tv
} }
for key, value := range tags { for dest, value := range tags {
dest := key
if c.Tag != "*" && c.Dest != "" { if c.Tag != "*" && c.Dest != "" {
dest = c.Dest dest = c.Dest
} }
@ -111,8 +110,7 @@ func (c *converter) convertField(metric telegraf.Metric) {
fields[c.Field] = fv fields[c.Field] = fv
} }
for key, value := range fields { for dest, value := range fields {
dest := key
if c.Field != "*" && c.Dest != "" { if c.Field != "*" && c.Dest != "" {
dest = c.Dest dest = c.Dest
} }
@ -194,7 +192,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.Trim { for _, c := range s.Trim {
c := c
if c.Cutset != "" { if c.Cutset != "" {
c.fn = func(s string) string { return strings.Trim(s, c.Cutset) } c.fn = func(s string) string { return strings.Trim(s, c.Cutset) }
} else { } else {
@ -203,7 +200,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.TrimLeft { for _, c := range s.TrimLeft {
c := c
if c.Cutset != "" { if c.Cutset != "" {
c.fn = func(s string) string { return strings.TrimLeft(s, c.Cutset) } c.fn = func(s string) string { return strings.TrimLeft(s, c.Cutset) }
} else { } else {
@ -212,7 +208,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.TrimRight { for _, c := range s.TrimRight {
c := c
if c.Cutset != "" { if c.Cutset != "" {
c.fn = func(s string) string { return strings.TrimRight(s, c.Cutset) } c.fn = func(s string) string { return strings.TrimRight(s, c.Cutset) }
} else { } else {
@ -221,17 +216,14 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.TrimPrefix { for _, c := range s.TrimPrefix {
c := c
c.fn = func(s string) string { return strings.TrimPrefix(s, c.Prefix) } c.fn = func(s string) string { return strings.TrimPrefix(s, c.Prefix) }
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.TrimSuffix { for _, c := range s.TrimSuffix {
c := c
c.fn = func(s string) string { return strings.TrimSuffix(s, c.Suffix) } c.fn = func(s string) string { return strings.TrimSuffix(s, c.Suffix) }
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.Replace { for _, c := range s.Replace {
c := c
c.fn = func(s string) string { c.fn = func(s string) string {
newString := strings.ReplaceAll(s, c.Old, c.New) newString := strings.ReplaceAll(s, c.Old, c.New)
if newString == "" { if newString == "" {
@ -243,7 +235,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.Left { for _, c := range s.Left {
c := c
c.fn = func(s string) string { c.fn = func(s string) string {
if len(s) < c.Width { if len(s) < c.Width {
return s return s
@ -254,7 +245,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.Base64Decode { for _, c := range s.Base64Decode {
c := c
c.fn = func(s string) string { c.fn = func(s string) string {
data, err := base64.StdEncoding.DecodeString(s) data, err := base64.StdEncoding.DecodeString(s)
if err != nil { if err != nil {
@ -268,7 +258,6 @@ func (s *Strings) initOnce() {
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }
for _, c := range s.ValidUTF8 { for _, c := range s.ValidUTF8 {
c := c
c.fn = func(s string) string { return strings.ToValidUTF8(s, c.Replacement) } c.fn = func(s string) string { return strings.ToValidUTF8(s, c.Replacement) }
s.converters = append(s.converters, c) s.converters = append(s.converters, c)
} }

View File

@ -120,11 +120,11 @@ func main() {
} }
pwd = string(filepath.Separator) + pwd pwd = string(filepath.Separator) + pwd
for _, iname := range extractIncludes(tmpl) { for _, iname := range extractIncludes(tmpl) {
ifn := iname if !strings.HasPrefix(iname, "/") {
if !strings.HasPrefix(ifn, "/") { newUnresolved[iname] = filepath.Join(pwd, iname)
ifn = filepath.Join(pwd, ifn) } else {
newUnresolved[iname] = iname
} }
newUnresolved[iname] = ifn
} }
} }
unresolved = newUnresolved unresolved = newUnresolved