test: accept EPROTONOSUPPORT ipv6 error
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 5 Feb 2015 22:52:33 +0000 (23:52 +0100)
committerBen Noordhuis <info@bnoordhuis.nl>
Thu, 5 Feb 2015 23:49:00 +0000 (00:49 +0100)
The IPv6 test in parallel/test-dgram-error-message-address may fail
when the host system has disabled IPv6, as is the case on our FreeBSD
machines.  The test already accepted EAFNOSUPPORT as of commit 5ba307a,
now make it accept EPROTONOSUPPORT as well.

I'm not exactly thrilled by the profusion of error codes but they are
all legitimate.

PR-URL: https://github.com/iojs/io.js/pull/733
Reviewed-By: Fedor Indutny <fedor@indutny.com>
test/parallel/test-dgram-error-message-address.js

index f66e86b..95b1e06 100644 (file)
@@ -24,12 +24,12 @@ var family_ipv6 = 'IPv6';
 socket_ipv6.on('listening', assert.fail);
 
 socket_ipv6.on('error', common.mustCall(function(e) {
-  // EAFNOSUPPORT means IPv6 is disabled on this system.
-  var code = (e.code === 'EADDRNOTAVAIL' ? e.code : 'EAFNOSUPPORT');
-  assert.equal(e.message, 'bind ' + code + ' 111::1:' + common.PORT);
+  // EAFNOSUPPORT or EPROTONOSUPPORT means IPv6 is disabled on this system.
+  var allowed = ['EADDRNOTAVAIL', 'EAFNOSUPPORT', 'EPROTONOSUPPORT'];
+  assert.notEqual(allowed.indexOf(e.code), -1);
+  assert.equal(e.message, 'bind ' + e.code + ' 111::1:' + common.PORT);
   assert.equal(e.address, '111::1');
   assert.equal(e.port, common.PORT);
-  assert.equal(e.code, code);
   socket_ipv6.close();
 }));