From 3b8e0e3b4fb6065091d343caa35999ef72101f3e Mon Sep 17 00:00:00 2001 From: David Dias Date: Wed, 18 May 2016 21:25:18 +0100 Subject: [PATCH] fixes socket hang by adding timeout to close --- gulpfile.js | 6 ++++-- test/index.spec.js | 30 ++++++++++++++++-------------- 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 373659f..853c337 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -11,7 +11,7 @@ const rawPeer = require('./test/peer.json') const id = Id.createFromPrivKey(rawPeer.privKey) gulp.task('libnode:start', (done) => { - const mh = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') + const mh = multiaddr('/ip4/127.0.0.1/tcp/9200/ws') const peer = new Peer(id) peer.multiaddr.add(mh) @@ -25,7 +25,9 @@ gulp.task('libnode:start', (done) => { }) gulp.task('libnode:stop', (done) => { - node.swarm.close(done) + setTimeout(() => { + node.swarm.close(done) + }, 2000) }) gulp.task('test:browser:before', ['libnode:start']) diff --git a/test/index.spec.js b/test/index.spec.js index 8feb898..7e1b6a8 100644 --- a/test/index.spec.js +++ b/test/index.spec.js @@ -13,6 +13,14 @@ const id = Id.createFromPrivKey(rawPeer.privKey) describe('libp2p-ipfs-browser', function () { this.timeout(10000) let node + let peer + + before((done) => { + const mh = multiaddr('/ip4/127.0.0.1/tcp/9200/ws') + peer = new Peer(id) + peer.multiaddr.add(mh) + done() + }) it('start', (done) => { node = new Node() @@ -20,10 +28,6 @@ describe('libp2p-ipfs-browser', function () { }) it('echo', (done) => { - const mh = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') - const peer = new Peer(id) - peer.multiaddr.add(mh) - const message = 'Hello World!' node.swarm.dial(peer, '/echo/1.0.0', (err, conn) => { expect(err).to.not.exist @@ -40,11 +44,8 @@ describe('libp2p-ipfs-browser', function () { describe('stress', () => { it('one big write', (done) => { - const mh = multiaddr('/ip4/127.0.0.1/tcp/9090/ws') - const peer = new Peer(id) - peer.multiaddr.add(mh) - const message = new Buffer(1000000).fill('a').toString('hex') + node.swarm.dial(peer, '/echo/1.0.0', (err, conn) => { expect(err).to.not.exist @@ -52,6 +53,7 @@ describe('libp2p-ipfs-browser', function () { conn.write('STOP') let result = '' + conn.on('data', (data) => { if (data.toString() === 'STOP') { conn.end() @@ -83,14 +85,14 @@ describe('libp2p-ipfs-browser', function () { expected += `${counter} ` } - setTimeout(() => { - while (++counter < 20000) { - conn.write(`${counter} `) - expected += `${counter} ` - } + while (++counter < 20000) { + conn.write(`${counter} `) + expected += `${counter} ` + } + setTimeout(() => { conn.write('STOP') - }, 1000) + }, 2000) let result = '' conn.on('data', (data) => {