node/test/parallel/test-perf-hooks-timerify-constructor.js
Joyee Cheung b4b1413779
test: split test-perf-hooks-timerify
This test has been flaky in the CI. It squeezes too many independent
test cases into one file, so split it up so that we can mark the
persistent flaky test case and leave the unproblematic ones alone.

PR-URL: https://github.com/nodejs/node/pull/60568
Refs: https://github.com/nodejs/node/issues/54803
Refs: https://github.com/nodejs/reliability/blob/main/reports/2025-11-03.md
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-11-05 15:19:04 +00:00

28 lines
805 B
JavaScript

// Test that timerify works with class constructors and creates performance
// entries with the correct name.
'use strict';
const common = require('../common');
const assert = require('assert');
const { timerify, PerformanceObserver } = require('perf_hooks');
class N {}
const n = timerify(N);
const obs = new PerformanceObserver(common.mustCall((list) => {
const entries = list.getEntries();
const entry = entries[0];
assert.strictEqual(entry[0], 1);
assert.strictEqual(entry[1], 'abc');
assert(entry);
assert.strictEqual(entry.name, 'N');
assert.strictEqual(entry.entryType, 'function');
assert.strictEqual(typeof entry.duration, 'number');
assert.strictEqual(typeof entry.startTime, 'number');
obs.disconnect();
}));
obs.observe({ entryTypes: ['function'] });
new n(1, 'abc');