diff options
author | Tobias Nießen <tniessen@tnie.de> | 2018-01-02 13:12:41 +0100 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2018-01-05 02:30:33 +0100 |
commit | fb6e980e1e3ad4ee48afeae4b567f00d50fc6630 (patch) | |
tree | 3d16f196078e7f58fce05dcbd35407cf5776b038 /test/parallel/test-vm-api-handles-getter-errors.js | |
parent | a51944da0aeae65676a928c9473965c453e0e028 (diff) | |
download | node-new-fb6e980e1e3ad4ee48afeae4b567f00d50fc6630.tar.gz |
test: rename regression tests
PR-URL: https://github.com/nodejs/node/pull/17948
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test/parallel/test-vm-api-handles-getter-errors.js')
-rw-r--r-- | test/parallel/test-vm-api-handles-getter-errors.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/parallel/test-vm-api-handles-getter-errors.js b/test/parallel/test-vm-api-handles-getter-errors.js new file mode 100644 index 0000000000..6a74fb29c1 --- /dev/null +++ b/test/parallel/test-vm-api-handles-getter-errors.js @@ -0,0 +1,35 @@ +'use strict'; +// Tests that vm.createScript and runInThisContext correctly handle errors +// thrown by option property getters. +// See https://github.com/nodejs/node/issues/12369. + +const common = require('../common'); +const assert = require('assert'); +const execFile = require('child_process').execFile; + +const scripts = []; + +['filename', 'cachedData', 'produceCachedData', 'lineOffset', 'columnOffset'] + .forEach((prop) => { + scripts.push(`vm.createScript('', { + get ${prop} () { + throw new Error('xyz'); + } + })`); + }); + +['breakOnSigint', 'timeout', 'displayErrors'] + .forEach((prop) => { + scripts.push(`vm.createScript('').runInThisContext({ + get ${prop} () { + throw new Error('xyz'); + } + })`); + }); + +scripts.forEach((script) => { + const node = process.execPath; + execFile(node, [ '-e', script ], common.mustCall((err, stdout, stderr) => { + assert(stderr.includes('Error: xyz'), 'createScript crashes'); + })); +}); |