mirror of https://github.com/lukechilds/node.git
Browse Source
Fixes a regression introduced by: https://github.com/nodejs/node/pull/4374. Adds a new test to avoid similar issue in the future. The test is disabled on windows, because this feature never worked there. Fixes: https://github.com/nodejs/node/issues/5398 Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Evan Lucas <evanlucas@me.com>process-exit-stdio-flushing
Matteo Collina
9 years ago
2 changed files with 51 additions and 2 deletions
@ -0,0 +1,43 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
const common = require('../common'); |
||||
|
const assert = require('assert'); |
||||
|
const dgram = require('dgram'); |
||||
|
|
||||
|
if (common.isWindows) { |
||||
|
// on Windows this test will fail
|
||||
|
// see https://github.com/nodejs/node/pull/5407
|
||||
|
console.log('1..0 # Skipped: This test does not apply on Windows.'); |
||||
|
return; |
||||
|
} |
||||
|
|
||||
|
const client = dgram.createSocket('udp4'); |
||||
|
|
||||
|
const timer = setTimeout(function() { |
||||
|
throw new Error('Timeout'); |
||||
|
}, common.platformTimeout(2000)); |
||||
|
|
||||
|
const toSend = [new Buffer(256), new Buffer(256), new Buffer(256), 'hello']; |
||||
|
|
||||
|
toSend[0].fill('x'); |
||||
|
toSend[1].fill('y'); |
||||
|
toSend[2].fill('z'); |
||||
|
|
||||
|
client.on('listening', function() { |
||||
|
client.send(toSend[0], 0, toSend[0].length, common.PORT); |
||||
|
client.send(toSend[1], common.PORT); |
||||
|
client.send([toSend[2]], common.PORT); |
||||
|
client.send(toSend[3], 0, toSend[3].length, common.PORT); |
||||
|
}); |
||||
|
|
||||
|
client.on('message', function(buf, info) { |
||||
|
const expected = toSend.shift().toString(); |
||||
|
assert.ok(buf.toString() === expected, 'message was received correctly'); |
||||
|
|
||||
|
if (toSend.length === 0) { |
||||
|
client.close(); |
||||
|
clearTimeout(timer); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
client.bind(common.PORT); |
Loading…
Reference in new issue