summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJoyee Cheung <joyeec9h3@gmail.com>2018-01-24 09:20:30 +0800
committerJoyee Cheung <joyeec9h3@gmail.com>2018-02-01 15:52:36 +0800
commitb3a7df7c6dddcc4aaf2106d569a2a4c017e9699c (patch)
tree24b3501b3f0c78e81272e0191362d3d8d3cc2ed9 /test
parent5583981c5296be0383c934caf0c0ddd5e6bda379 (diff)
downloadandroid-node-v8-b3a7df7c6dddcc4aaf2106d569a2a4c017e9699c.tar.gz
android-node-v8-b3a7df7c6dddcc4aaf2106d569a2a4c017e9699c.tar.bz2
android-node-v8-b3a7df7c6dddcc4aaf2106d569a2a4c017e9699c.zip
fs: throw errors from fs.ftruncateSync in JS
PR-URL: https://github.com/nodejs/node/pull/18348 Refs: https://github.com/nodejs/node/issues/18106 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test')
-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 ef38652d7a..b7e7ab6a2c 100644
--- a/test/parallel/test-fs-error-messages.js
+++ b/test/parallel/test-fs-error-messages.js
@@ -455,3 +455,30 @@ function re(literals, ...values) {
validateError
);
}
+
+// ftruncate
+{
+ const validateError = (err) => {
+ assert.strictEqual(err.syscall, 'ftruncate');
+ // Could be EBADF or EINVAL, depending on the platform
+ if (err.code === 'EBADF') {
+ assert.strictEqual(err.message, 'EBADF: bad file descriptor, ftruncate');
+ assert.strictEqual(err.errno, uv.UV_EBADF);
+ } else {
+ assert.strictEqual(err.message, 'EINVAL: invalid argument, ftruncate');
+ assert.strictEqual(err.errno, uv.UV_EINVAL);
+ assert.strictEqual(err.code, 'EINVAL');
+ }
+ return true;
+ };
+
+ const fd = fs.openSync(existingFile, 'r');
+ fs.closeSync(fd);
+
+ fs.ftruncate(fd, 4, common.mustCall(validateError));
+
+ assert.throws(
+ () => fs.ftruncateSync(fd, 4),
+ validateError
+ );
+}