diff --git a/.gitignore b/.gitignore index e1a7614..fd34c26 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,8 @@ **/node_modules/ **/*.log -test/repo-tests* package-lock.json -# Logs -logs -*.log - -coverage - -# Runtime data -pids -*.pid -*.seed - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - # Coverage directory used by tools like istanbul coverage - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# node-waf configuration -.lock-wscript - -build - -# Dependency directory -# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git -node_modules - -lib +docs dist diff --git a/package.json b/package.json index 892cab4..fda7fa4 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "coverage": "exit(0)", "coverage-publish": "exit(0)" }, - "pre-commit": [ + "pre-push": [ "lint" ], "keywords": [ diff --git a/src/listen-test.js b/src/listen-test.js index d90bb00..9754cbd 100644 --- a/src/listen-test.js +++ b/src/listen-test.js @@ -50,10 +50,6 @@ module.exports = (common) => { it('close listener with connections, through timeout', async () => { const upgradeSpy = sinon.spy(upgrader, 'upgradeInbound') - let finish - const done = new Promise((resolve) => { - finish = resolve - }) const listener = transport.createListener((conn) => { expect(upgradeSpy.returned(conn)).to.equal(true) @@ -64,21 +60,23 @@ module.exports = (common) => { await listener.listen(addrs[0]) // Create two connections to the listener - const socket1 = await transport.dial(addrs[0]) - await transport.dial(addrs[0]) - - pipe( - [Buffer.from('Some data that is never handled')], - socket1 - ).then(() => { - finish() - }) - - // Closer the listener (will take a couple of seconds to time out) - await listener.close() - - // Pipe should have completed - await done + const [socket1] = await Promise.all([ + transport.dial(addrs[0]), + transport.dial(addrs[0]) + ]) + + // Give the listener a chance to finish its upgrade + await new Promise(resolve => setTimeout(resolve, 0)) + + // Wait for the data send and close to finish + await Promise.all([ + pipe( + [Buffer.from('Some data that is never handled')], + socket1 + ), + // Closer the listener (will take a couple of seconds to time out) + listener.close() + ]) // 2 dials = 2 connections upgraded expect(upgradeSpy.callCount).to.equal(2)