From 07795bca63aa2b11ce51bb6fdd972191420c1904 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Wed, 3 May 2017 09:30:42 +0100 Subject: [PATCH] Make test close listening sockets instead of just removing them Without this I see the tests (with node 6.10.2) completing but then just hanging because the servers are still listening on the sockets. --- test/port-finder-socket-test.js | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/test/port-finder-socket-test.js b/test/port-finder-socket-test.js index f90913b..e1e2440 100644 --- a/test/port-finder-socket-test.js +++ b/test/port-finder-socket-test.js @@ -54,13 +54,23 @@ function createServers (callback) { }, callback); } +function stopServers(callback, index) { + if (index < servers.length) { + servers[index].close(function (err) { + if (err) { + callback(err, false); + } else { + stopServers(callback, index + 1); + } + }); + } else { + callback(null, true); + } +} + function cleanup(callback) { fs.rmdirSync(badDir); - glob(path.resolve(socketDir, '*'), function (err, files) { - if (err) { callback(err); } - for (var i = 0; i < files.length; i++) { fs.unlinkSync(files[i]); } - callback(null, true); - }); + stopServers(callback, 0); } vows.describe('portfinder').addBatch({