Fix data race in plugins/inputs/stackdriver/stackdriver_test.go (#7744)
This commit is contained in:
parent
84ac738168
commit
6d120168fe
|
|
@ -2,6 +2,7 @@ package stackdriver
|
|||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
|
|
@ -27,6 +28,7 @@ type MockStackdriverClient struct {
|
|||
CloseF func() error
|
||||
|
||||
calls []*Call
|
||||
sync.Mutex
|
||||
}
|
||||
|
||||
func (m *MockStackdriverClient) ListMetricDescriptors(
|
||||
|
|
@ -34,7 +36,9 @@ func (m *MockStackdriverClient) ListMetricDescriptors(
|
|||
req *monitoringpb.ListMetricDescriptorsRequest,
|
||||
) (<-chan *metricpb.MetricDescriptor, error) {
|
||||
call := &Call{name: "ListMetricDescriptors", args: []interface{}{ctx, req}}
|
||||
m.Lock()
|
||||
m.calls = append(m.calls, call)
|
||||
m.Unlock()
|
||||
return m.ListMetricDescriptorsF(ctx, req)
|
||||
}
|
||||
|
||||
|
|
@ -43,13 +47,17 @@ func (m *MockStackdriverClient) ListTimeSeries(
|
|||
req *monitoringpb.ListTimeSeriesRequest,
|
||||
) (<-chan *monitoringpb.TimeSeries, error) {
|
||||
call := &Call{name: "ListTimeSeries", args: []interface{}{ctx, req}}
|
||||
m.Lock()
|
||||
m.calls = append(m.calls, call)
|
||||
m.Unlock()
|
||||
return m.ListTimeSeriesF(ctx, req)
|
||||
}
|
||||
|
||||
func (m *MockStackdriverClient) Close() error {
|
||||
call := &Call{name: "Close", args: []interface{}{}}
|
||||
m.Lock()
|
||||
m.calls = append(m.calls, call)
|
||||
m.Unlock()
|
||||
return m.CloseF()
|
||||
}
|
||||
|
||||
|
|
@ -752,9 +760,8 @@ func TestGatherAlign(t *testing.T) {
|
|||
},
|
||||
},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
for listCall, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
listCall := 0
|
||||
var acc testutil.Accumulator
|
||||
client := &MockStackdriverClient{
|
||||
ListMetricDescriptorsF: func(ctx context.Context, req *monitoringpb.ListMetricDescriptorsRequest) (<-chan *metricpb.MetricDescriptor, error) {
|
||||
|
|
@ -766,7 +773,6 @@ func TestGatherAlign(t *testing.T) {
|
|||
ListTimeSeriesF: func(ctx context.Context, req *monitoringpb.ListTimeSeriesRequest) (<-chan *monitoringpb.TimeSeries, error) {
|
||||
ch := make(chan *monitoringpb.TimeSeries, 1)
|
||||
ch <- tt.timeseries[listCall]
|
||||
listCall++
|
||||
close(ch)
|
||||
return ch, nil
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue