0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-29 23:16:30 +01:00
nodejs/test/sequential/test-chdir.js
Roman Reiss d4ceb16da2 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 <evanlucas@me.com>
2015-07-12 01:09:25 +02:00

39 lines
912 B
JavaScript

'use strict';
var common = require('../common');
var assert = require('assert');
var fs = require('fs');
var path = require('path');
assert.equal(true, process.cwd() !== __dirname);
process.chdir(__dirname);
assert.equal(true, process.cwd() === __dirname);
var dir = path.resolve(common.fixturesDir,
'weird \uc3a4\uc3ab\uc3af characters \u00e1\u00e2\u00e3');
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));
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);
}