node/test/sequential/test-inspector-async-hook-teardown-at-debug-end.js
Rich Trott 9be3d99b2b test: fix inspector tests
The inspector tests should not be in the parallel directory as they
likely all (or certainly almost all) use static ports, so port
collisions will happen.

This moves them all to sequential. We can move them back on a
case-by-case basis. They were run sequentially when they were in the
inspector directory which they were only moved from very recently.

PR-URL: https://github.com/nodejs/node/pull/16281
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Bryan English <bryan@bryanenglish.com>
2017-10-17 23:10:20 -07:00

34 lines
959 B
JavaScript

'use strict';
const common = require('../common');
common.skipIfInspectorDisabled();
common.skipIf32Bits();
const spawn = require('child_process').spawn;
const script = `
const assert = require('assert');
// Verify that inspector-async-hook is registered
// by checking that emitInit with invalid arguments
// throw an error.
// See test/async-hooks/test-emit-init.js
assert.throws(
() => async_hooks.emitInit(),
'inspector async hook should have been enabled initially');
process._debugEnd();
// Verify that inspector-async-hook is no longer registered,
// thus emitInit() ignores invalid arguments
// See test/async-hooks/test-emit-init.js
assert.doesNotThrow(
() => async_hooks.emitInit(),
'inspector async hook should have beend disabled by _debugEnd()');
`;
const args = ['--inspect', '-e', script];
const child = spawn(process.execPath, args, { stdio: 'inherit' });
child.on('exit', (code, signal) => {
process.exit(code || signal);
});