mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
44 lines
1.4 KiB
JavaScript
44 lines
1.4 KiB
JavaScript
|
'use strict';
|
||
|
// Flags: --expose-internals
|
||
|
|
||
|
const common = require('../common');
|
||
|
const { it } = require('node:test');
|
||
|
|
||
|
try {
|
||
|
require('trace_events');
|
||
|
} catch {
|
||
|
common.skip('missing trace events');
|
||
|
}
|
||
|
|
||
|
const { createTracing, getEnabledCategories } = require('trace_events');
|
||
|
const assert = require('assert');
|
||
|
|
||
|
const binding = require('internal/test/binding');
|
||
|
const getCategoryEnabledBuffer = binding.internalBinding('trace_events').getCategoryEnabledBuffer;
|
||
|
|
||
|
it('should track enabled/disabled categories', () => {
|
||
|
const random = Math.random().toString().slice(2);
|
||
|
const category = `node.${random}`;
|
||
|
|
||
|
const buffer = getCategoryEnabledBuffer(category);
|
||
|
|
||
|
const tracing = createTracing({
|
||
|
categories: [category],
|
||
|
});
|
||
|
|
||
|
assert.ok(buffer[0] === 0, `the buffer[0] should start with value 0, got: ${buffer[0]}`);
|
||
|
|
||
|
tracing.enable();
|
||
|
|
||
|
let currentCategories = getEnabledCategories();
|
||
|
|
||
|
assert.ok(currentCategories.includes(category), `the getEnabledCategories should include ${category}, got: ${currentCategories}`);
|
||
|
assert.ok(buffer[0] > 0, `the buffer[0] should be greater than 0, got: ${buffer[0]}`);
|
||
|
|
||
|
tracing.disable();
|
||
|
|
||
|
currentCategories = getEnabledCategories();
|
||
|
assert.ok(currentCategories === undefined, `the getEnabledCategories should return undefined, got: ${currentCategories}`);
|
||
|
assert.ok(buffer[0] === 0, `the buffer[0] should be 0, got: ${buffer[0]}`);
|
||
|
});
|