summaryrefslogtreecommitdiff
path: root/test/parallel/test-fs-utimes.js
diff options
context:
space:
mode:
authorMyles Borins <mborins@us.ibm.com>2016-07-22 16:37:54 -0700
committerMyles Borins <myles.borins@gmail.com>2016-08-04 09:37:17 -0700
commitc5a18e748d8e78417f6e639baab4085fc446cdc6 (patch)
tree394890f843bcbcb0f88ab3f9a0db42f3e01d0fff /test/parallel/test-fs-utimes.js
parent320f433dcdb411da22d8ee9427bbdf5b071faca2 (diff)
downloadandroid-node-v8-c5a18e748d8e78417f6e639baab4085fc446cdc6.tar.gz
android-node-v8-c5a18e748d8e78417f6e639baab4085fc446cdc6.tar.bz2
android-node-v8-c5a18e748d8e78417f6e639baab4085fc446cdc6.zip
Revert "fs: validate args of truncate functions in js"
This reverts commit c86c1eeab56df8a627d3d8da27008221ee295d33. original commit message: This patch 1. moves the basic validation of arguments to `truncate` family of functions to the JavaScript layer from the C++ layer. 2. makes sure that the File Descriptors are validated strictly. PR-URL: #2498 Reviewed-By: Trevor Norris <trev.norris@gmail.com> PR-URL: https://github.com/nodejs/node/pull/7950 Reviewed-By: Julien Gilli <jgilli@nodejs.org> Reviewed-By: Rod Vagg <rod@vagg.org> Reviewed-By: Minwoo Jung <jmwsoft@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-fs-utimes.js')
-rw-r--r--test/parallel/test-fs-utimes.js68
1 files changed, 16 insertions, 52 deletions
diff --git a/test/parallel/test-fs-utimes.js b/test/parallel/test-fs-utimes.js
index eecc56ee4d..f245a7962d 100644
--- a/test/parallel/test-fs-utimes.js
+++ b/test/parallel/test-fs-utimes.js
@@ -76,6 +76,15 @@ function runTest(atime, mtime, callback) {
}
expect_errno('utimesSync', 'foobarbaz', err, 'ENOENT');
tests_run++;
+
+ err = undefined;
+ try {
+ fs.futimesSync(-1, atime, mtime);
+ } catch (ex) {
+ err = ex;
+ }
+ expect_errno('futimesSync', -1, err, 'EBADF');
+ tests_run++;
}
//
@@ -96,8 +105,13 @@ function runTest(atime, mtime, callback) {
fs.futimes(fd, atime, mtime, function(err) {
expect_ok('futimes', fd, err, atime, mtime);
- syncTests();
- callback();
+
+ fs.futimes(-1, atime, mtime, function(err) {
+ expect_errno('futimes', -1, err, 'EBADF');
+ syncTests();
+ callback();
+ });
+ tests_run++;
});
tests_run++;
});
@@ -123,56 +137,6 @@ runTest(new Date('1982-09-10 13:37'), new Date('1982-09-10 13:37'), function() {
});
});
-// validate if the file descriptors are in the valid range
-assert.throws(() => fs.futimes(-1, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(-1),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes('-1', () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync('-1'),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(0xFFFFFFFF + 1, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(0xFFFFFFFF + 1),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes('0x100000000', () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync('0x100000000'),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-// invalid file descriptors also should throw
-assert.throws(() => fs.futimes(null, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(null),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(undefined, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(undefined),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(NaN, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(NaN),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes({}, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync({}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes([], () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync([]),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(() => true, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(() => true),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(() => /RegEx/, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(() => /RegEx/),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimes(() => 3.14, () => {}),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
-assert.throws(() => fs.futimesSync(() => 3.14),
- /TypeError: file descriptor must be a unsigned 32-bit integer/);
process.on('exit', function() {
console.log('Tests run / ok:', tests_run, '/', tests_ok);