1'use strict'; 2 3const common = require('../common'); 4const assert = require('assert'); 5const path = require('path'); 6const fs = require('fs'); 7const tmpdir = require('../common/tmpdir'); 8const d = path.join(tmpdir.path, 'dir'); 9 10tmpdir.refresh(); 11 12// Make sure the directory does not exist 13assert(!fs.existsSync(d)); 14// Create the directory now 15fs.mkdirSync(d); 16// Make sure the directory exists 17assert(fs.existsSync(d)); 18// Try creating again, it should fail with EEXIST 19assert.throws(function() { 20 fs.mkdirSync(d); 21}, /EEXIST: file already exists, mkdir/); 22// Remove the directory now 23fs.rmdirSync(d); 24// Make sure the directory does not exist 25assert(!fs.existsSync(d)); 26 27// Similarly test the Async version 28fs.mkdir(d, 0o666, common.mustSucceed(() => { 29 fs.mkdir(d, 0o666, common.mustCall(function(err) { 30 assert.strictEqual(this, undefined); 31 assert.ok(err, 'got no error'); 32 assert.ok(/^EEXIST/.test(err.message), 'got no EEXIST message'); 33 assert.strictEqual(err.code, 'EEXIST'); 34 assert.strictEqual(err.path, d); 35 36 fs.rmdir(d, assert.ifError); 37 })); 38})); 39