summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAndreas Madsen <amwebdk@gmail.com>2017-11-24 16:08:47 +0100
committerAndreas Madsen <amwebdk@gmail.com>2017-11-24 21:52:11 +0100
commitad80c2120672975018f5d93dad5e5cb9cf900de2 (patch)
tree132b8ef2283e4120640736a408390b7786b5f7cf /test
parentdc389bf7cc8b297d4f8dd24603ee1793116f3414 (diff)
downloadandroid-node-v8-ad80c2120672975018f5d93dad5e5cb9cf900de2.tar.gz
android-node-v8-ad80c2120672975018f5d93dad5e5cb9cf900de2.tar.bz2
android-node-v8-ad80c2120672975018f5d93dad5e5cb9cf900de2.zip
trace_events: add executionAsyncId to init events
async_hooks emits trace_events. This adds the executionAsyncId to the init events. In theory this could be inferred from the before and after events but this is much simpler and doesn't require knowledge of all events. PR-URL: https://github.com/nodejs/node/pull/17196 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/parallel/test-trace-events-async-hooks.js10
-rw-r--r--test/parallel/test-trace-events-binding.js19
2 files changed, 25 insertions, 4 deletions
diff --git a/test/parallel/test-trace-events-async-hooks.js b/test/parallel/test-trace-events-async-hooks.js
index 7f8fb10620..e1f78f791a 100644
--- a/test/parallel/test-trace-events-async-hooks.js
+++ b/test/parallel/test-trace-events-async-hooks.js
@@ -43,7 +43,6 @@ proc.once('exit', common.mustCall(() => {
return true;
}));
-
// JavaScript async_hooks trace events should be generated.
assert(traces.some((trace) => {
if (trace.pid !== proc.pid)
@@ -54,5 +53,14 @@ proc.once('exit', common.mustCall(() => {
return false;
return true;
}));
+
+ // Check args in init events
+ const initEvents = traces.filter((trace) => {
+ return (trace.ph === 'b' && !trace.name.includes('_CALLBACK'));
+ });
+ assert(initEvents.every((trace) => {
+ return (trace.args.executionAsyncId > 0 &&
+ trace.args.triggerAsyncId > 0);
+ }));
}));
}));
diff --git a/test/parallel/test-trace-events-binding.js b/test/parallel/test-trace-events-binding.js
index 628c9cace7..9a182821ba 100644
--- a/test/parallel/test-trace-events-binding.js
+++ b/test/parallel/test-trace-events-binding.js
@@ -10,7 +10,10 @@ const CODE = `
'type-value', 10, 'extra-value', 20);
process.binding("trace_events").emit(
'b'.charCodeAt(0), 'custom',
- 'type-value', 20);
+ 'type-value', 20, 'first-value', 20, 'second-value', 30);
+ process.binding("trace_events").emit(
+ 'b'.charCodeAt(0), 'custom',
+ 'type-value', 30);
process.binding("trace_events").emit(
'b'.charCodeAt(0), 'missing',
'type-value', 10, 'extra-value', 20);
@@ -29,7 +32,7 @@ proc.once('exit', common.mustCall(() => {
assert(common.fileExists(FILE_NAME));
fs.readFile(FILE_NAME, common.mustCall((err, data) => {
const traces = JSON.parse(data.toString()).traceEvents;
- assert.strictEqual(traces.length, 2);
+ assert.strictEqual(traces.length, 3);
assert.strictEqual(traces[0].pid, proc.pid);
assert.strictEqual(traces[0].ph, 'b');
@@ -43,6 +46,16 @@ proc.once('exit', common.mustCall(() => {
assert.strictEqual(traces[1].cat, 'custom');
assert.strictEqual(traces[1].name, 'type-value');
assert.strictEqual(traces[1].id, '0x14');
- assert.deepStrictEqual(traces[1].args, { });
+ assert.deepStrictEqual(traces[1].args, {
+ 'first-value': 20,
+ 'second-value': 30
+ });
+
+ assert.strictEqual(traces[2].pid, proc.pid);
+ assert.strictEqual(traces[2].ph, 'b');
+ assert.strictEqual(traces[2].cat, 'custom');
+ assert.strictEqual(traces[2].name, 'type-value');
+ assert.strictEqual(traces[2].id, '0x1e');
+ assert.deepStrictEqual(traces[2].args, { });
}));
}));