summaryrefslogtreecommitdiff
path: root/test/parallel
diff options
context:
space:
mode:
authorMatteo Collina <hello@matteocollina.com>2016-02-29 19:47:14 +0100
committerMatteo Collina <hello@matteocollina.com>2016-03-05 19:20:31 +0100
commit8af4bb86c0e1e3f003e932f0eb3400660e44b181 (patch)
treebf1ad122b35f35f584bd3c96d14865c2c6ddb41f /test/parallel
parenta37401e0612578a76e6b148a798868ecbf62d9b7 (diff)
downloadandroid-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.js12
-rw-r--r--test/parallel/test-dgram-udp6-send-default-host.js36
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);