diff options
author | Matteo Collina <hello@matteocollina.com> | 2016-02-29 19:47:14 +0100 |
---|---|---|
committer | Matteo Collina <hello@matteocollina.com> | 2016-03-05 19:20:31 +0100 |
commit | 8af4bb86c0e1e3f003e932f0eb3400660e44b181 (patch) | |
tree | bf1ad122b35f35f584bd3c96d14865c2c6ddb41f /test/parallel | |
parent | a37401e0612578a76e6b148a798868ecbf62d9b7 (diff) | |
download | android-node-v8-8af4bb86c0e1e3f003e932f0eb3400660e44b181.tar.gz android-node-v8-8af4bb86c0e1e3f003e932f0eb3400660e44b181.tar.bz2 android-node-v8-8af4bb86c0e1e3f003e932f0eb3400660e44b181.zip |
dgram: default send address to 127.0.0.1 or ::1
In net we default to 'localhost' as the default address for connect.
Not doing the same on dgram is confusing, because sending to 0.0.0.0
works on Linux/OS X but not on Windows. Defaulting that to 127.0.0.1 /
::1 addresses that.
Related: https://github.com/nodejs/node/pull/5407
Related: https://github.com/nodejs/node/issues/5398
Fixes: https://github.com/nodejs/node/issues/5487
PR-URL: https://github.com/nodejs/node/pull/5493
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Diffstat (limited to 'test/parallel')
-rw-r--r-- | test/parallel/test-dgram-send-default-host.js | 12 | ||||
-rw-r--r-- | test/parallel/test-dgram-udp6-send-default-host.js | 36 |
2 files changed, 36 insertions, 12 deletions
diff --git a/test/parallel/test-dgram-send-default-host.js b/test/parallel/test-dgram-send-default-host.js index 0c50e70f43..0d49322513 100644 --- a/test/parallel/test-dgram-send-default-host.js +++ b/test/parallel/test-dgram-send-default-host.js @@ -4,19 +4,8 @@ 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'); @@ -36,7 +25,6 @@ client.on('message', function(buf, info) { if (toSend.length === 0) { client.close(); - clearTimeout(timer); } }); diff --git a/test/parallel/test-dgram-udp6-send-default-host.js b/test/parallel/test-dgram-udp6-send-default-host.js new file mode 100644 index 0000000000..f482f8b428 --- /dev/null +++ b/test/parallel/test-dgram-udp6-send-default-host.js @@ -0,0 +1,36 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const dgram = require('dgram'); + +if (!common.hasIPv6) { + console.log('1..0 # Skipped: no IPv6 support'); + return; +} + +const client = dgram.createSocket('udp6'); + +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(); + } +}); + +client.bind(common.PORT); |