From d4ceb16da243cff21aa88892fd050d9e5b69c1c5 Mon Sep 17 00:00:00 2001 From: Roman Reiss Date: Sun, 12 Jul 2015 00:20:48 +0200 Subject: [PATCH] test: properly clean up temp directory A persistent failure on OS X 10.11 uncovered a inproperly cleaned up temp directory in this test. This changes the mkdirSync call to clean up properly in case it throws. PR-URL: https://github.com/nodejs/io.js/pull/2164 Reviewed-By: Evan Lucas --- test/sequential/test-chdir.js | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/test/sequential/test-chdir.js b/test/sequential/test-chdir.js index 0fab45cb0c2803..bab421e1e650c4 100644 --- a/test/sequential/test-chdir.js +++ b/test/sequential/test-chdir.js @@ -11,15 +11,28 @@ assert.equal(true, process.cwd() === __dirname); var dir = path.resolve(common.fixturesDir, 'weird \uc3a4\uc3ab\uc3af characters \u00e1\u00e2\u00e3'); -fs.mkdirSync(dir); + +try { + fs.mkdirSync(dir); +} catch (e) { + if (e.code !== 'EEXIST') { + cleanup(); + throw e; + } +} + process.chdir(dir); assert(process.cwd() == dir); process.chdir('..'); assert(process.cwd() == path.resolve(common.fixturesDir)); -fs.rmdirSync(dir); +cleanup(); assert.throws(function() { process.chdir({}); }, TypeError, 'Bad argument.'); assert.throws(function() { process.chdir(); }, TypeError, 'Bad argument.'); assert.throws(function() { process.chdir('x', 'y'); }, TypeError, 'Bad argument.'); + +function cleanup() { + fs.rmdirSync(dir); +}