On Wed, Feb 13, 2013 at 1:16 PM, TJ <[email protected]> wrote: > When calling .close() on a server that is listening on a socket rather than a > TCP port > the socket is not unlinked from the file-system - it remains in place. As a > result > subsequent attempts to use the same socket will fail with EADDRINUSE. > > Several tests in the suite make use of common.PIPE and this causes all but > the first to > fail with EADDRINUSE. > > One option would be to add code to each test that manually unlinks the socket > on exit but > it makes more sense to put the functionality into the common module. As each > test does > require('common') very early on it makes sense to detect an existing socket > and unlink it > at this point. > > Signed-off-by: TJ <[email protected]> > --- > test/common.js | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/test/common.js b/test/common.js > index 7b4c0bc..4cbdea6 100644 > --- a/test/common.js > +++ b/test/common.js > @@ -59,6 +59,10 @@ if (process.platform === 'win32') { > exports.PIPE = exports.tmpDir + '/test.sock'; > } > +// node doesn't unlink sockets when server.close() is called so do it > manually > +if (fs.existsSync(exports.PIPE)) > + fs.unlinkSync(exports.PIPE); > + > var util = require('util'); > for (var i in util) exports[i] = util[i]; > //for (var i in exports) global[i] = exports[i]; > -- > 1.8.1.2.433.g9808ce0.dirty
The test runner - tools/test.py - is supposed to clean out the temp directory after each test. It's not that I oppose this patch (though it should be submitted as a GH PR) but it doesn't seem necessary. -- -- Job Board: http://jobs.nodejs.org/ Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines You received this message because you are subscribed to the Google Groups "nodejs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/nodejs?hl=en?hl=en --- You received this message because you are subscribed to the Google Groups "nodejs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
