diff --git a/test/parallel/test-dgram-send-callback-recursive.js b/test/parallel/test-dgram-send-callback-recursive.js index bd2a8e7d918c3d..63edd5e58716f3 100644 --- a/test/parallel/test-dgram-send-callback-recursive.js +++ b/test/parallel/test-dgram-send-callback-recursive.js @@ -5,23 +5,25 @@ const assert = require('assert'); const dgram = require('dgram'); const client = dgram.createSocket('udp4'); const chunk = 'abc'; -var recursiveCount = 0; -var received = 0; +let received = 0; +let sent = 0; const limit = 10; -const recursiveLimit = 100; +let async = false; function onsend() { - if (recursiveCount > recursiveLimit) { - throw new Error('infinite loop detected'); - } - if (received < limit) { + if (sent++ < limit) { client.send( chunk, 0, chunk.length, common.PORT, common.localhostIPv4, onsend); + } else { + assert.strictEqual(async, true, 'Send should be asynchronous.'); } - recursiveCount++; } client.on('listening', function() { + setImmediate(function() { + async = true; + }); + onsend(); });