n-api: separate out async_hooks test
Place the test_make_callback async_hooks-related test into its own file. PR-URL: https://github.com/nodejs/node/pull/19392 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
This commit is contained in:
parent
45c86e33e1
commit
f24d0ec201
44
test/addons-napi/test_make_callback/test-async-hooks.js
Normal file
44
test/addons-napi/test_make_callback/test-async-hooks.js
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
const common = require('../../common');
|
||||||
|
const assert = require('assert');
|
||||||
|
const async_hooks = require('async_hooks');
|
||||||
|
const binding = require(`./build/${common.buildType}/binding`);
|
||||||
|
const makeCallback = binding.makeCallback;
|
||||||
|
|
||||||
|
// Check async hooks integration using async context.
|
||||||
|
const hook_result = {
|
||||||
|
id: null,
|
||||||
|
init_called: false,
|
||||||
|
before_called: false,
|
||||||
|
after_called: false,
|
||||||
|
destroy_called: false,
|
||||||
|
};
|
||||||
|
const test_hook = async_hooks.createHook({
|
||||||
|
init: (id, type) => {
|
||||||
|
if (type === 'test') {
|
||||||
|
hook_result.id = id;
|
||||||
|
hook_result.init_called = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
before: (id) => {
|
||||||
|
if (id === hook_result.id) hook_result.before_called = true;
|
||||||
|
},
|
||||||
|
after: (id) => {
|
||||||
|
if (id === hook_result.id) hook_result.after_called = true;
|
||||||
|
},
|
||||||
|
destroy: (id) => {
|
||||||
|
if (id === hook_result.id) hook_result.destroy_called = true;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
test_hook.enable();
|
||||||
|
makeCallback(process, function() {});
|
||||||
|
|
||||||
|
assert.strictEqual(hook_result.init_called, true);
|
||||||
|
assert.strictEqual(hook_result.before_called, true);
|
||||||
|
assert.strictEqual(hook_result.after_called, true);
|
||||||
|
setImmediate(() => {
|
||||||
|
assert.strictEqual(hook_result.destroy_called, true);
|
||||||
|
test_hook.disable();
|
||||||
|
});
|
@ -2,7 +2,6 @@
|
|||||||
|
|
||||||
const common = require('../../common');
|
const common = require('../../common');
|
||||||
const assert = require('assert');
|
const assert = require('assert');
|
||||||
const async_hooks = require('async_hooks');
|
|
||||||
const vm = require('vm');
|
const vm = require('vm');
|
||||||
const binding = require(`./build/${common.buildType}/binding`);
|
const binding = require(`./build/${common.buildType}/binding`);
|
||||||
const makeCallback = binding.makeCallback;
|
const makeCallback = binding.makeCallback;
|
||||||
@ -81,40 +80,3 @@ function endpoint($Object) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
assert.strictEqual(Object, makeCallback(process, forward, endpoint));
|
assert.strictEqual(Object, makeCallback(process, forward, endpoint));
|
||||||
|
|
||||||
// Check async hooks integration using async context.
|
|
||||||
const hook_result = {
|
|
||||||
id: null,
|
|
||||||
init_called: false,
|
|
||||||
before_called: false,
|
|
||||||
after_called: false,
|
|
||||||
destroy_called: false,
|
|
||||||
};
|
|
||||||
const test_hook = async_hooks.createHook({
|
|
||||||
init: (id, type) => {
|
|
||||||
if (type === 'test') {
|
|
||||||
hook_result.id = id;
|
|
||||||
hook_result.init_called = true;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
before: (id) => {
|
|
||||||
if (id === hook_result.id) hook_result.before_called = true;
|
|
||||||
},
|
|
||||||
after: (id) => {
|
|
||||||
if (id === hook_result.id) hook_result.after_called = true;
|
|
||||||
},
|
|
||||||
destroy: (id) => {
|
|
||||||
if (id === hook_result.id) hook_result.destroy_called = true;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
test_hook.enable();
|
|
||||||
makeCallback(process, function() {});
|
|
||||||
|
|
||||||
assert.strictEqual(hook_result.init_called, true);
|
|
||||||
assert.strictEqual(hook_result.before_called, true);
|
|
||||||
assert.strictEqual(hook_result.after_called, true);
|
|
||||||
setImmediate(() => {
|
|
||||||
assert.strictEqual(hook_result.destroy_called, true);
|
|
||||||
test_hook.disable();
|
|
||||||
});
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user