aboutsummaryrefslogtreecommitdiff
path: root/test/parallel
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2018-02-20 04:54:19 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2018-02-27 20:34:14 +0800
commitd2dc2a50113492840e77e4f5d3df6ff75fa986a4 (patch)
tree1c540ac4e091760971faf70962687020170a7558 /test/parallel
parent82523d3b6eb7905fc59f12a0d38026af996152fa (diff)
downloadandroid-node-v8-d2dc2a50113492840e77e4f5d3df6ff75fa986a4.tar.gz
android-node-v8-d2dc2a50113492840e77e4f5d3df6ff75fa986a4.tar.bz2
android-node-v8-d2dc2a50113492840e77e4f5d3df6ff75fa986a4.zip
fs: throw fs.mkdtempSync errors in JS land
PR-URL: https://github.com/nodejs/node/pull/18871 Refs: https://github.com/nodejs/node/issues/18106 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test/parallel')
-rw-r--r--test/parallel/test-fs-error-messages.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/parallel/test-fs-error-messages.js b/test/parallel/test-fs-error-messages.js
index 5ded7d2340..29056e8b66 100644
--- a/test/parallel/test-fs-error-messages.js
+++ b/test/parallel/test-fs-error-messages.js
@@ -25,6 +25,7 @@ const fixtures = require('../common/fixtures');
const assert = require('assert');
const fs = require('fs');
const nonexistentFile = fixtures.path('non-existent');
+const nonexistentDir = fixtures.path('non-existent', 'foo', 'bar');
const existingFile = fixtures.path('exit.js');
const existingFile2 = fixtures.path('create-file.js');
const existingDir = fixtures.path('empty');
@@ -607,3 +608,29 @@ if (!common.isAIX) {
validateError
);
}
+
+// mkdtemp
+{
+ const validateError = (err) => {
+ const pathPrefix = new RegExp('^' + re`${nonexistentDir}`);
+ assert(pathPrefix.test(err.path),
+ `Expect ${err.path} to match ${pathPrefix}`);
+
+ const prefix = new RegExp('^ENOENT: no such file or directory, mkdtemp ' +
+ re`'${nonexistentDir}`);
+ assert(prefix.test(err.message),
+ `Expect ${err.message} to match ${prefix}`);
+
+ assert.strictEqual(err.errno, uv.UV_ENOENT);
+ assert.strictEqual(err.code, 'ENOENT');
+ assert.strictEqual(err.syscall, 'mkdtemp');
+ return true;
+ };
+
+ fs.mkdtemp(nonexistentDir, common.mustCall(validateError));
+
+ assert.throws(
+ () => fs.mkdtempSync(nonexistentDir),
+ validateError
+ );
+}