Skip to content

Commit c65cfb6

Browse files
phemmerdanielnelson
authored andcommitted
remove sleep from tests (#2555)
1 parent 6588c4a commit c65cfb6

21 files changed

Lines changed: 261 additions & 279 deletions

File tree

plugins/inputs/cloudwatch/cloudwatch_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,13 @@ func TestGenerateStatisticsInputParams(t *testing.T) {
207207
}
208208

209209
func TestMetricsCacheTimeout(t *testing.T) {
210-
ttl, _ := time.ParseDuration("5ms")
211210
cache := &MetricCache{
212211
Metrics: []*cloudwatch.Metric{},
213212
Fetched: time.Now(),
214-
TTL: ttl,
213+
TTL: time.Minute,
215214
}
216215

217216
assert.True(t, cache.IsValid())
218-
time.Sleep(ttl)
217+
cache.Fetched = time.Now().Add(-time.Minute)
219218
assert.False(t, cache.IsValid())
220219
}

plugins/inputs/http_listener/http_listener_test.go

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"net/http"
77
"sync"
88
"testing"
9-
"time"
109

1110
"github.com/influxdata/telegraf/testutil"
1211

@@ -43,14 +42,12 @@ func TestWriteHTTP(t *testing.T) {
4342
require.NoError(t, listener.Start(acc))
4443
defer listener.Stop()
4544

46-
time.Sleep(time.Millisecond * 25)
47-
4845
// post single message to listener
4946
resp, err := http.Post("http://localhost:8186/write?db=mydb", "", bytes.NewBuffer([]byte(testMsg)))
5047
require.NoError(t, err)
5148
require.EqualValues(t, 204, resp.StatusCode)
5249

53-
time.Sleep(time.Millisecond * 15)
50+
acc.Wait(1)
5451
acc.AssertContainsTaggedFields(t, "cpu_load_short",
5552
map[string]interface{}{"value": float64(12)},
5653
map[string]string{"host": "server01"},
@@ -61,7 +58,7 @@ func TestWriteHTTP(t *testing.T) {
6158
require.NoError(t, err)
6259
require.EqualValues(t, 204, resp.StatusCode)
6360

64-
time.Sleep(time.Millisecond * 15)
61+
acc.Wait(2)
6562
hostTags := []string{"server02", "server03",
6663
"server04", "server05", "server06"}
6764
for _, hostTag := range hostTags {
@@ -76,7 +73,7 @@ func TestWriteHTTP(t *testing.T) {
7673
require.NoError(t, err)
7774
require.EqualValues(t, 400, resp.StatusCode)
7875

79-
time.Sleep(time.Millisecond * 15)
76+
acc.Wait(3)
8077
acc.AssertContainsTaggedFields(t, "cpu_load_short",
8178
map[string]interface{}{"value": float64(12)},
8279
map[string]string{"host": "server01"},
@@ -91,14 +88,12 @@ func TestWriteHTTPNoNewline(t *testing.T) {
9188
require.NoError(t, listener.Start(acc))
9289
defer listener.Stop()
9390

94-
time.Sleep(time.Millisecond * 25)
95-
9691
// post single message to listener
9792
resp, err := http.Post("http://localhost:8186/write?db=mydb", "", bytes.NewBuffer([]byte(testMsgNoNewline)))
9893
require.NoError(t, err)
9994
require.EqualValues(t, 204, resp.StatusCode)
10095

101-
time.Sleep(time.Millisecond * 15)
96+
acc.Wait(1)
10297
acc.AssertContainsTaggedFields(t, "cpu_load_short",
10398
map[string]interface{}{"value": float64(12)},
10499
map[string]string{"host": "server01"},
@@ -115,8 +110,6 @@ func TestWriteHTTPMaxLineSizeIncrease(t *testing.T) {
115110
require.NoError(t, listener.Start(acc))
116111
defer listener.Stop()
117112

118-
time.Sleep(time.Millisecond * 25)
119-
120113
// Post a gigantic metric to the listener and verify that it writes OK this time:
121114
resp, err := http.Post("http://localhost:8296/write?db=mydb", "", bytes.NewBuffer([]byte(hugeMetric)))
122115
require.NoError(t, err)
@@ -133,8 +126,6 @@ func TestWriteHTTPVerySmallMaxBody(t *testing.T) {
133126
require.NoError(t, listener.Start(acc))
134127
defer listener.Stop()
135128

136-
time.Sleep(time.Millisecond * 25)
137-
138129
resp, err := http.Post("http://localhost:8297/write", "", bytes.NewBuffer([]byte(hugeMetric)))
139130
require.NoError(t, err)
140131
require.EqualValues(t, 413, resp.StatusCode)
@@ -150,15 +141,13 @@ func TestWriteHTTPVerySmallMaxLineSize(t *testing.T) {
150141
require.NoError(t, listener.Start(acc))
151142
defer listener.Stop()
152143

153-
time.Sleep(time.Millisecond * 25)
154-
155144
resp, err := http.Post("http://localhost:8298/write", "", bytes.NewBuffer([]byte(testMsgs)))
156145
require.NoError(t, err)
157146
require.EqualValues(t, 204, resp.StatusCode)
158147

159-
time.Sleep(time.Millisecond * 15)
160148
hostTags := []string{"server02", "server03",
161149
"server04", "server05", "server06"}
150+
acc.Wait(len(hostTags))
162151
for _, hostTag := range hostTags {
163152
acc.AssertContainsTaggedFields(t, "cpu_load_short",
164153
map[string]interface{}{"value": float64(12)},
@@ -177,15 +166,13 @@ func TestWriteHTTPLargeLinesSkipped(t *testing.T) {
177166
require.NoError(t, listener.Start(acc))
178167
defer listener.Stop()
179168

180-
time.Sleep(time.Millisecond * 25)
181-
182169
resp, err := http.Post("http://localhost:8300/write", "", bytes.NewBuffer([]byte(hugeMetric+testMsgs)))
183170
require.NoError(t, err)
184171
require.EqualValues(t, 400, resp.StatusCode)
185172

186-
time.Sleep(time.Millisecond * 15)
187173
hostTags := []string{"server02", "server03",
188174
"server04", "server05", "server06"}
175+
acc.Wait(len(hostTags))
189176
for _, hostTag := range hostTags {
190177
acc.AssertContainsTaggedFields(t, "cpu_load_short",
191178
map[string]interface{}{"value": float64(12)},
@@ -204,8 +191,6 @@ func TestWriteHTTPGzippedData(t *testing.T) {
204191
require.NoError(t, listener.Start(acc))
205192
defer listener.Stop()
206193

207-
time.Sleep(time.Millisecond * 25)
208-
209194
data, err := ioutil.ReadFile("./testdata/testmsgs.gz")
210195
require.NoError(t, err)
211196

@@ -218,9 +203,9 @@ func TestWriteHTTPGzippedData(t *testing.T) {
218203
require.NoError(t, err)
219204
require.EqualValues(t, 204, resp.StatusCode)
220205

221-
time.Sleep(time.Millisecond * 50)
222206
hostTags := []string{"server02", "server03",
223207
"server04", "server05", "server06"}
208+
acc.Wait(len(hostTags))
224209
for _, hostTag := range hostTags {
225210
acc.AssertContainsTaggedFields(t, "cpu_load_short",
226211
map[string]interface{}{"value": float64(12)},
@@ -237,8 +222,6 @@ func TestWriteHTTPHighTraffic(t *testing.T) {
237222
require.NoError(t, listener.Start(acc))
238223
defer listener.Stop()
239224

240-
time.Sleep(time.Millisecond * 25)
241-
242225
// post many messages to listener
243226
var wg sync.WaitGroup
244227
for i := 0; i < 10; i++ {
@@ -254,9 +237,9 @@ func TestWriteHTTPHighTraffic(t *testing.T) {
254237
}
255238

256239
wg.Wait()
257-
time.Sleep(time.Millisecond * 250)
258240
listener.Gather(acc)
259241

242+
acc.Wait(25000)
260243
require.Equal(t, int64(25000), int64(acc.NMetrics()))
261244
}
262245

@@ -267,59 +250,45 @@ func TestReceive404ForInvalidEndpoint(t *testing.T) {
267250
require.NoError(t, listener.Start(acc))
268251
defer listener.Stop()
269252

270-
time.Sleep(time.Millisecond * 25)
271-
272253
// post single message to listener
273254
resp, err := http.Post("http://localhost:8186/foobar", "", bytes.NewBuffer([]byte(testMsg)))
274255
require.NoError(t, err)
275256
require.EqualValues(t, 404, resp.StatusCode)
276257
}
277258

278259
func TestWriteHTTPInvalid(t *testing.T) {
279-
time.Sleep(time.Millisecond * 250)
280-
281260
listener := newTestHTTPListener()
282261

283262
acc := &testutil.Accumulator{}
284263
require.NoError(t, listener.Start(acc))
285264
defer listener.Stop()
286265

287-
time.Sleep(time.Millisecond * 25)
288-
289266
// post single message to listener
290267
resp, err := http.Post("http://localhost:8186/write?db=mydb", "", bytes.NewBuffer([]byte(badMsg)))
291268
require.NoError(t, err)
292269
require.EqualValues(t, 400, resp.StatusCode)
293270
}
294271

295272
func TestWriteHTTPEmpty(t *testing.T) {
296-
time.Sleep(time.Millisecond * 250)
297-
298273
listener := newTestHTTPListener()
299274

300275
acc := &testutil.Accumulator{}
301276
require.NoError(t, listener.Start(acc))
302277
defer listener.Stop()
303278

304-
time.Sleep(time.Millisecond * 25)
305-
306279
// post single message to listener
307280
resp, err := http.Post("http://localhost:8186/write?db=mydb", "", bytes.NewBuffer([]byte(emptyMsg)))
308281
require.NoError(t, err)
309282
require.EqualValues(t, 204, resp.StatusCode)
310283
}
311284

312285
func TestQueryAndPingHTTP(t *testing.T) {
313-
time.Sleep(time.Millisecond * 250)
314-
315286
listener := newTestHTTPListener()
316287

317288
acc := &testutil.Accumulator{}
318289
require.NoError(t, listener.Start(acc))
319290
defer listener.Stop()
320291

321-
time.Sleep(time.Millisecond * 25)
322-
323292
// post query to listener
324293
resp, err := http.Post("http://localhost:8186/query?db=&q=CREATE+DATABASE+IF+NOT+EXISTS+%22mydb%22", "", nil)
325294
require.NoError(t, err)

plugins/inputs/http_response/http_response_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ func TestTimeout(t *testing.T) {
329329
Address: ts.URL + "/twosecondnap",
330330
Body: "{ 'test': 'data'}",
331331
Method: "GET",
332-
ResponseTimeout: internal.Duration{Duration: time.Second * 1},
332+
ResponseTimeout: internal.Duration{Duration: time.Millisecond},
333333
Headers: map[string]string{
334334
"Content-Type": "application/json",
335335
},

plugins/inputs/kafka_consumer/kafka_consumer.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package kafka_consumer
22

33
import (
4+
"fmt"
45
"log"
56
"strings"
67
"sync"
@@ -129,13 +130,13 @@ func (k *Kafka) receiver() {
129130
return
130131
case err := <-k.errs:
131132
if err != nil {
132-
log.Printf("E! Kafka Consumer Error: %s\n", err)
133+
k.acc.AddError(fmt.Errorf("Kafka Consumer Error: %s\n", err))
133134
}
134135
case msg := <-k.in:
135136
metrics, err := k.parser.Parse(msg.Value)
136137
if err != nil {
137-
log.Printf("E! Kafka Message Parse Error\nmessage: %s\nerror: %s",
138-
string(msg.Value), err.Error())
138+
k.acc.AddError(fmt.Errorf("E! Kafka Message Parse Error\nmessage: %s\nerror: %s",
139+
string(msg.Value), err.Error()))
139140
}
140141

141142
for _, metric := range metrics {
@@ -158,7 +159,7 @@ func (k *Kafka) Stop() {
158159
defer k.Unlock()
159160
close(k.done)
160161
if err := k.Consumer.Close(); err != nil {
161-
log.Printf("E! Error closing kafka consumer: %s\n", err.Error())
162+
k.acc.AddError(fmt.Errorf("E! Error closing kafka consumer: %s\n", err.Error()))
162163
}
163164
}
164165

plugins/inputs/kafka_consumer/kafka_consumer_test.go

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package kafka_consumer
22

33
import (
44
"testing"
5-
"time"
65

76
"github.com/influxdata/telegraf/plugins/parsers"
87
"github.com/influxdata/telegraf/testutil"
@@ -43,7 +42,7 @@ func TestRunParser(t *testing.T) {
4342
k.parser, _ = parsers.NewInfluxParser()
4443
go k.receiver()
4544
in <- saramaMsg(testMsg)
46-
time.Sleep(time.Millisecond * 5)
45+
acc.Wait(1)
4746

4847
assert.Equal(t, acc.NFields(), 1)
4948
}
@@ -58,7 +57,7 @@ func TestRunParserInvalidMsg(t *testing.T) {
5857
k.parser, _ = parsers.NewInfluxParser()
5958
go k.receiver()
6059
in <- saramaMsg(invalidMsg)
61-
time.Sleep(time.Millisecond * 5)
60+
acc.WaitError(1)
6261

6362
assert.Equal(t, acc.NFields(), 0)
6463
}
@@ -73,7 +72,7 @@ func TestRunParserAndGather(t *testing.T) {
7372
k.parser, _ = parsers.NewInfluxParser()
7473
go k.receiver()
7574
in <- saramaMsg(testMsg)
76-
time.Sleep(time.Millisecond * 5)
75+
acc.Wait(1)
7776

7877
k.Gather(&acc)
7978

@@ -92,7 +91,7 @@ func TestRunParserAndGatherGraphite(t *testing.T) {
9291
k.parser, _ = parsers.NewGraphiteParser("_", []string{}, nil)
9392
go k.receiver()
9493
in <- saramaMsg(testMsgGraphite)
95-
time.Sleep(time.Millisecond * 5)
94+
acc.Wait(1)
9695

9796
k.Gather(&acc)
9897

@@ -111,7 +110,7 @@ func TestRunParserAndGatherJSON(t *testing.T) {
111110
k.parser, _ = parsers.NewJSONParser("kafka_json_test", []string{}, nil)
112111
go k.receiver()
113112
in <- saramaMsg(testMsgJSON)
114-
time.Sleep(time.Millisecond * 5)
113+
acc.Wait(1)
115114

116115
k.Gather(&acc)
117116

plugins/inputs/logparser/logparser_test.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66
"runtime"
77
"strings"
88
"testing"
9-
"time"
109

1110
"github.com/influxdata/telegraf/testutil"
1211

@@ -41,7 +40,6 @@ func TestGrokParseLogFilesNonExistPattern(t *testing.T) {
4140
acc := testutil.Accumulator{}
4241
assert.Error(t, logparser.Start(&acc))
4342

44-
time.Sleep(time.Millisecond * 500)
4543
logparser.Stop()
4644
}
4745

@@ -61,7 +59,8 @@ func TestGrokParseLogFiles(t *testing.T) {
6159
acc := testutil.Accumulator{}
6260
assert.NoError(t, logparser.Start(&acc))
6361

64-
time.Sleep(time.Millisecond * 500)
62+
acc.Wait(2)
63+
6564
logparser.Stop()
6665

6766
acc.AssertContainsTaggedFields(t, "logparser_grok",
@@ -102,14 +101,13 @@ func TestGrokParseLogFilesAppearLater(t *testing.T) {
102101
acc := testutil.Accumulator{}
103102
assert.NoError(t, logparser.Start(&acc))
104103

105-
time.Sleep(time.Millisecond * 500)
106104
assert.Equal(t, acc.NFields(), 0)
107105

108106
os.Symlink(
109107
thisdir+"grok/testdata/test_a.log",
110108
emptydir+"/test_a.log")
111109
assert.NoError(t, logparser.Gather(&acc))
112-
time.Sleep(time.Millisecond * 500)
110+
acc.Wait(1)
113111

114112
logparser.Stop()
115113

@@ -143,7 +141,7 @@ func TestGrokParseLogFilesOneBad(t *testing.T) {
143141
acc.SetDebug(true)
144142
assert.NoError(t, logparser.Start(&acc))
145143

146-
time.Sleep(time.Millisecond * 500)
144+
acc.Wait(1)
147145
logparser.Stop()
148146

149147
acc.AssertContainsTaggedFields(t, "logparser_grok",

plugins/inputs/mongodb/mongodb_server_test.go

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ package mongodb
44

55
import (
66
"testing"
7-
"time"
87

98
"github.com/influxdata/telegraf/testutil"
109
"github.com/stretchr/testify/assert"
@@ -32,12 +31,11 @@ func TestAddDefaultStats(t *testing.T) {
3231
err := server.gatherData(&acc, false)
3332
require.NoError(t, err)
3433

35-
time.Sleep(time.Duration(1) * time.Second)
3634
// need to call this twice so it can perform the diff
3735
err = server.gatherData(&acc, false)
3836
require.NoError(t, err)
3937

4038
for key, _ := range DefaultStats {
41-
assert.True(t, acc.HasIntValue(key))
39+
assert.True(t, acc.HasIntField("mongodb", key))
4240
}
4341
}

0 commit comments

Comments
 (0)