test: properly clean up temp directory
authorRoman Reiss <me@silverwind.io>
Sat, 11 Jul 2015 22:20:48 +0000 (00:20 +0200)
committerRoman Reiss <me@silverwind.io>
Sat, 11 Jul 2015 23:09:25 +0000 (01:09 +0200)
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 <evanlucas@me.com>
test/sequential/test-chdir.js

index 0fab45c..bab421e 100644 (file)
@@ -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);
+}