From f034e50ba9847250388c0608cd217dbd1dbc76db Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Wed, 21 Jan 2015 12:12:39 -0800 Subject: [PATCH] Modified interop tests to handle binding to port 0 --- src/node/interop/interop_server.js | 11 ++++++----- src/node/test/interop_sanity_test.js | 13 +++++-------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/node/interop/interop_server.js b/src/node/interop/interop_server.js index 735b7a6d18b..6d2bd7ae0de 100644 --- a/src/node/interop/interop_server.js +++ b/src/node/interop/interop_server.js @@ -157,7 +157,8 @@ function handleHalfDuplex(call) { * Get a server object bound to the given port * @param {string} port Port to which to bind * @param {boolean} tls Indicates that the bound port should use TLS - * @return {Server} Server object bound to the support + * @return {{server: Server, port: number}} Server object bound to the support, + * and port number that the server is bound to */ function getServer(port, tls) { // TODO(mlumish): enable TLS functionality @@ -183,8 +184,8 @@ function getServer(port, tls) { halfDuplexCall: handleHalfDuplex } }, options); - server.bind('0.0.0.0:' + port, tls); - return server; + var port_num = server.bind('0.0.0.0:' + port, tls); + return {server: server, port: port_num}; } if (require.main === module) { @@ -192,8 +193,8 @@ if (require.main === module) { var argv = parseArgs(process.argv, { string: ['port', 'use_tls'] }); - var server = getServer(argv.port, argv.use_tls === 'true'); - server.start(); + var server_obj = getServer(argv.port, argv.use_tls === 'true'); + server_obj.server.start(); } /** diff --git a/src/node/test/interop_sanity_test.js b/src/node/test/interop_sanity_test.js index 9959a165ad1..b0fc8f82002 100644 --- a/src/node/test/interop_sanity_test.js +++ b/src/node/test/interop_sanity_test.js @@ -34,8 +34,6 @@ var interop_server = require('../interop/interop_server.js'); var interop_client = require('../interop/interop_client.js'); -var port_picker = require('../port_picker'); - var server; var port; @@ -44,12 +42,11 @@ var name_override = 'foo.test.google.com'; describe('Interop tests', function() { before(function(done) { - port_picker.nextAvailablePort(function(addr) { - server = interop_server.getServer(addr.substring(addr.indexOf(':') + 1), true); - server.listen(); - port = addr; - done(); - }); + var server_obj = interop_server.getServer(0, true); + server = server_obj.server; + server.listen(); + port = 'localhost:' + server_obj.port; + done(); }); // This depends on not using a binary stream it.skip('should pass empty_unary', function(done) {