mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 21:19:50 +01:00
7ece9f3c28
This moves sequential inspector tests that can be run in parallel (using random ports) to parallel. Before: ``` ❯ tools/test.py "test/sequential/test-inspector-*" [00:07|% 100|+ 28|- 0]: Done All tests passed. ❯ tools/test.py "test/parallel/test-inspector-*" [00:01|% 100|+ 26|- 0]: Done All tests passed. ``` After: ``` ❯ tools/test.py "test/sequential/test-inspector-*" [00:00|% 100|+ 1|- 0]: Done All tests passed. ❯ tools/test.py "test/parallel/test-inspector-*" [00:01|% 100|+ 53|- 0]: Done All tests passed. ``` PR-URL: https://github.com/nodejs/node/pull/47412 Refs: https://github.com/nodejs/node/issues/47146 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Moshe Atlow <moshe@atlow.co.il> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
// Check that abrupt termination when async call stack recording is enabled
|
|
// does not segfault the process.
|
|
'use strict';
|
|
const common = require('../common');
|
|
common.skipIfInspectorDisabled();
|
|
common.skipIf32Bits();
|
|
|
|
const { strictEqual } = require('assert');
|
|
const eyecatcher = 'nou, houdoe he?';
|
|
|
|
if (process.argv[2] === 'child') {
|
|
const { Session } = require('inspector');
|
|
const { promisify } = require('util');
|
|
const { internalBinding } = require('internal/test/binding');
|
|
const { registerAsyncHook } = internalBinding('inspector');
|
|
(async () => {
|
|
let enabled = 0;
|
|
registerAsyncHook(() => ++enabled, () => {});
|
|
const session = new Session();
|
|
session.connect();
|
|
session.post = promisify(session.post);
|
|
await session.post('Debugger.enable');
|
|
strictEqual(enabled, 0);
|
|
await session.post('Debugger.setAsyncCallStackDepth', { maxDepth: 42 });
|
|
strictEqual(enabled, 1);
|
|
throw new Error(eyecatcher);
|
|
})().finally(common.mustCall());
|
|
} else {
|
|
const { spawnSync } = require('child_process');
|
|
const options = { encoding: 'utf8' };
|
|
const proc = spawnSync(
|
|
process.execPath, ['--expose-internals', __filename, 'child'], options);
|
|
strictEqual(proc.status, 1);
|
|
strictEqual(proc.signal, null);
|
|
strictEqual(proc.stderr.includes(eyecatcher), true);
|
|
}
|