@@ -38,20 +38,20 @@ func TestUpdateMetrics_MetricsDoNotExpire(t *testing.T) {
38
38
39
39
given1 := []agentsdk.AgentMetric {
40
40
{Name : "a_counter_one" , Type : agentsdk .AgentMetricTypeCounter , Value : 1 },
41
- {Name : "b_gauge_three " , Type : agentsdk .AgentMetricTypeCounter , Value : 2 },
42
- {Name : "c_gauge_four " , Type : agentsdk .AgentMetricTypeCounter , Value : 3 },
41
+ {Name : "b_counter_two " , Type : agentsdk .AgentMetricTypeCounter , Value : 2 },
42
+ {Name : "c_gauge_three " , Type : agentsdk .AgentMetricTypeGauge , Value : 3 },
43
43
}
44
44
45
45
given2 := []agentsdk.AgentMetric {
46
- {Name : "b_gauge_three " , Type : agentsdk .AgentMetricTypeCounter , Value : 4 },
47
- {Name : "d_gauge_four" , Type : agentsdk .AgentMetricTypeCounter , Value : 6 },
46
+ {Name : "b_counter_two " , Type : agentsdk .AgentMetricTypeCounter , Value : 4 },
47
+ {Name : "d_gauge_four" , Type : agentsdk .AgentMetricTypeGauge , Value : 6 },
48
48
}
49
49
50
50
expected := []agentsdk.AgentMetric {
51
51
{Name : "a_counter_one" , Type : agentsdk .AgentMetricTypeCounter , Value : 1 },
52
- {Name : "b_gauge_three " , Type : agentsdk .AgentMetricTypeCounter , Value : 4 },
53
- {Name : "c_gauge_four " , Type : agentsdk .AgentMetricTypeCounter , Value : 3 },
54
- {Name : "d_gauge_four" , Type : agentsdk .AgentMetricTypeCounter , Value : 6 },
52
+ {Name : "b_counter_two " , Type : agentsdk .AgentMetricTypeCounter , Value : 4 },
53
+ {Name : "c_gauge_three " , Type : agentsdk .AgentMetricTypeGauge , Value : 3 },
54
+ {Name : "d_gauge_four" , Type : agentsdk .AgentMetricTypeGauge , Value : 6 },
55
55
}
56
56
57
57
// when
@@ -62,14 +62,20 @@ func TestUpdateMetrics_MetricsDoNotExpire(t *testing.T) {
62
62
require .Eventually (t , func () bool {
63
63
var actual []prometheus.Metric
64
64
metricsCh := make (chan prometheus.Metric )
65
+
66
+ done := make (chan struct {}, 1 )
67
+ defer close (done )
65
68
go func () {
66
69
for m := range metricsCh {
67
70
actual = append (actual , m )
68
71
}
72
+ done <- struct {}{}
69
73
}()
70
74
metricsAggregator .Collect (metricsCh )
75
+ close (metricsCh )
76
+ <- done
71
77
return verifyCollectedMetrics (t , expected , actual )
72
- }, testutil .WaitMedium , testutil .IntervalFast )
78
+ }, testutil .WaitMedium , testutil .IntervalSlow )
73
79
}
74
80
75
81
func verifyCollectedMetrics (t * testing.T , expected []agentsdk.AgentMetric , actual []prometheus.Metric ) bool {
@@ -131,12 +137,18 @@ func TestUpdateMetrics_MetricsExpire(t *testing.T) {
131
137
require .Eventually (t , func () bool {
132
138
var actual []prometheus.Metric
133
139
metricsCh := make (chan prometheus.Metric )
140
+
141
+ done := make (chan struct {}, 1 )
142
+ defer close (done )
134
143
go func () {
135
144
for m := range metricsCh {
136
145
actual = append (actual , m )
137
146
}
147
+ done <- struct {}{}
138
148
}()
139
149
metricsAggregator .Collect (metricsCh )
150
+ close (metricsCh )
151
+ <- done
140
152
return len (actual ) == 0
141
153
}, testutil .WaitShort , testutil .IntervalFast )
142
154
}
0 commit comments