diff options
author | Myles Borins <mborins@us.ibm.com> | 2016-07-22 16:37:54 -0700 |
---|---|---|
committer | Myles Borins <myles.borins@gmail.com> | 2016-08-04 09:37:17 -0700 |
commit | c5a18e748d8e78417f6e639baab4085fc446cdc6 (patch) | |
tree | 394890f843bcbcb0f88ab3f9a0db42f3e01d0fff /test/parallel/test-fs-utimes.js | |
parent | 320f433dcdb411da22d8ee9427bbdf5b071faca2 (diff) | |
download | android-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.js | 68 |
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); |