node/test/parallel/test-dgram-send-empty-array.js
Rich Trott 9b0f53d45a test: fix flaky test-dgram-empty-packet & friends
* Liberal use of common.mustCall()
* Rename test-dgram-empty-packet -> test-dgram-send-empty-packet
* Remove use of timers to avoid CI failures like seen in the Ref below:

```
not ok 237 parallel/test-dgram-empty-packet
  ---
  duration_ms: 0.717
  severity: fail
  stack: |-
        ...
        throw new Error('Timeout');
        ^

    Error: Timeout
        at Timeout._onTimeout
        ...
        at ontimeout (timers.js:365:14)
        at tryOnTimeout (timers.js:237:5)
        at Timer.listOnTimeout (timers.js:207:5)
```

Refs: https://ci.nodejs.org/job/node-test-commit-freebsd/5341/nodes=freebsd11-x64/console:
PR-URL: https://github.com/nodejs/node/pull/9724
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2016-11-24 14:37:41 -08:00

31 lines
673 B
JavaScript

'use strict';
const common = require('../common');
if (common.isOSX) {
common.skip('because of 17894467 Apple bug');
return;
}
const assert = require('assert');
const dgram = require('dgram');
const client = dgram.createSocket('udp4');
var interval;
client.on('message', common.mustCall(function onMessage(buf, info) {
const expected = Buffer.alloc(0);
assert.ok(buf.equals(expected), 'message was received correctly');
clearInterval(interval);
client.close();
}));
client.on('listening', common.mustCall(function() {
interval = setInterval(function() {
client.send([], client.address().port, common.localhostIPv4);
}, 10);
}));
client.bind(0);