From 8be8ca508f1fbb14c35f940a9e02cc340bb01fa1 Mon Sep 17 00:00:00 2001 From: Andre Medeiros Date: Wed, 11 Jul 2018 11:38:58 -0400 Subject: [PATCH] Fix failing test on blockchain --- lib/cmds/blockchain/blockchain.js | 15 +++++++++++++-- lib/core/proxy.js | 1 + test/blockchain.js | 2 ++ test/processLauncher.js | 2 +- 4 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/cmds/blockchain/blockchain.js b/lib/cmds/blockchain/blockchain.js index bc51f2c4d..1d22fa6e1 100644 --- a/lib/cmds/blockchain/blockchain.js +++ b/lib/cmds/blockchain/blockchain.js @@ -96,12 +96,21 @@ Blockchain.prototype.setupProxy = function() { let ipcObject = new Ipc({ipcRole: 'client'}); - proxy.serve(ipcObject, this.config.rpcHost, this.config.rpcPort, false); - proxy.serve(ipcObject, this.config.wsHost, this.config.wsPort, true); + this.rpcProxy = proxy.serve(ipcObject, this.config.rpcHost, this.config.rpcPort, false); + this.wsProxy = proxy.serve(ipcObject, this.config.wsHost, this.config.wsPort, true); this.config.rpcPort += constants.blockchain.servicePortOnProxy; this.config.wsPort += constants.blockchain.servicePortOnProxy; }; +Blockchain.prototype.shutdownProxy = function() { + if (!this.config.proxy) { + return; + } + + this.rpcProxy.close(); + this.wsProxy.close(); +} + Blockchain.prototype.runCommand = function(cmd, options, callback) { console.log(__("running: %s", cmd.underline).green); if (this.blockchainConfig.silent) { @@ -220,6 +229,8 @@ Blockchain.prototype.readyCallback = function() { }; Blockchain.prototype.kill = function() { + this.shutdownProxy(); + if (this.child) { this.child.kill(); } diff --git a/lib/core/proxy.js b/lib/core/proxy.js index 97c9ae6b4..ce3ed4b18 100644 --- a/lib/core/proxy.js +++ b/lib/core/proxy.js @@ -123,4 +123,5 @@ exports.serve = function(ipc, host, port, ws){ } server.listen(port, defaultHost); + return server; }; diff --git a/test/blockchain.js b/test/blockchain.js index effd9d3dc..5bbcbcef6 100644 --- a/test/blockchain.js +++ b/test/blockchain.js @@ -52,6 +52,7 @@ describe('embark.Blockchain', function () { config.rpcPort += constants.blockchain.servicePortOnProxy; } assert.deepEqual(blockchain.config, config); + blockchain.kill(); done(); }); }); @@ -96,6 +97,7 @@ describe('embark.Blockchain', function () { } assert.deepEqual(blockchain.config, config); + blockchain.kill(); done(); }); }); diff --git a/test/processLauncher.js b/test/processLauncher.js index 8fa8f238f..64f83590f 100644 --- a/test/processLauncher.js +++ b/test/processLauncher.js @@ -1,7 +1,7 @@ /*global describe, it, before, beforeEach*/ const assert = require('assert'); const sinon = require('sinon'); -const TestLogger = require('../lib/tests/test_logger.js'); +const TestLogger = require('../lib/tests/test_logger'); const ProcessLauncher = require('../lib/process/processLauncher'); describe('ProcessWrapper', () => {