diff options
author | Trevor Norris <trev.norris@gmail.com> | 2017-04-11 16:29:39 -0600 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2017-05-10 22:21:53 +0200 |
commit | 4b9d84df51f7c1d879e27f651cd84de4cb46e229 (patch) | |
tree | b83ff35d2e68163ee018d5794713a67b5816e66b /test/parallel/test-ttywrap-invalid-fd.js | |
parent | dd6e3f69a795a0ab1a27c5709869d00460f12a0d (diff) | |
download | android-node-v8-4b9d84df51f7c1d879e27f651cd84de4cb46e229.tar.gz android-node-v8-4b9d84df51f7c1d879e27f651cd84de4cb46e229.tar.bz2 android-node-v8-4b9d84df51f7c1d879e27f651cd84de4cb46e229.zip |
tty_wrap: throw when uv_tty_init() returns error
Also add checks in lib/tty.js and tests.
PR-URL: https://github.com/nodejs/node/pull/12892
Ref: https://github.com/nodejs/node/pull/11883
Ref: https://github.com/nodejs/node/pull/8531
Reviewed-By: Andreas Madsen <amwebdk@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Diffstat (limited to 'test/parallel/test-ttywrap-invalid-fd.js')
-rw-r--r-- | test/parallel/test-ttywrap-invalid-fd.js | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/test/parallel/test-ttywrap-invalid-fd.js b/test/parallel/test-ttywrap-invalid-fd.js new file mode 100644 index 0000000000..b78bc689b2 --- /dev/null +++ b/test/parallel/test-ttywrap-invalid-fd.js @@ -0,0 +1,36 @@ +'use strict'; + +const common = require('../common'); +const assert = require('assert'); +const fs = require('fs'); +const tty = require('tty'); + + +assert.throws(() => { + new tty.WriteStream(-1); +}, /fd must be positive integer:/); + +const err_regex = common.isWindows ? + /^Error: EBADF: bad file descriptor, uv_tty_init$/ : + /^Error: EINVAL: invalid argument, uv_tty_init$/; +assert.throws(() => { + let fd = 2; + // Get first known bad file descriptor. + try { + while (fs.fstatSync(++fd)); + } catch (e) { } + new tty.WriteStream(fd); +}, err_regex); + +assert.throws(() => { + new tty.ReadStream(-1); +}, /fd must be positive integer:/); + +assert.throws(() => { + let fd = 2; + // Get first known bad file descriptor. + try { + while (fs.fstatSync(++fd)); + } catch (e) { } + new tty.ReadStream(fd); +}, err_regex); |