Lines Matching refs:report
12 // report.<date>.<time>.<pid>.<tid>.<seq>.json
13 const format = '^report\\.\\d+\\.\\d+\\.' + pid + '\\.\\d+\\.\\d+\\.json$';
27 const report = fs.readFileSync(filepath, 'utf8');
28 if (process.report.compact) {
29 const end = report.indexOf('\n');
30 assert.strictEqual(end, report.length - 1);
32 validateContent(JSON.parse(report), fields);
35 function validateContent(report, fields = []) {
36 if (typeof report === 'string') {
38 report = JSON.parse(report);
45 _validateContent(report, fields);
48 err.stack += util.format('\n------\nFailing Report:\n%O', report);
56 function _validateContent(report, fields = []) {
58 const isJavaScriptThreadReport = report.javascriptHeap != null;
60 // Verify that all sections are present as own properties of the report.
66 if (report.uvthreadResourceUsage)
72 checkForUnknownFields(report, sections);
74 assert(Object.hasOwn(report, section));
75 assert(typeof report[section] === 'object' && report[section] !== null);
95 checkLoop(report, actual.split('.'), expect);
99 const header = report.header;
171 assert(Array.isArray(report.nativeStack));
172 report.nativeStack.forEach((frame) => {
182 checkForUnknownFields(report.javascriptStack,
184 assert.strictEqual(typeof report.javascriptStack.errorProperties,
186 assert.strictEqual(typeof report.javascriptStack.message, 'string');
187 if (report.javascriptStack.stack !== undefined) {
188 assert(Array.isArray(report.javascriptStack.stack));
189 report.javascriptStack.stack.forEach((frame) => {
195 const heap = report.javascriptHeap;
235 const usage = { ...report.resourceUsage };
255 if (report.resourceUsage.constrained_memory) {
256 assert(typeof report.resourceUsage.constrained_memory, 'string');
268 if (report.uvthreadResourceUsage) {
269 const usage = report.uvthreadResourceUsage;
287 assert(Array.isArray(report.libuv));
288 report.libuv.forEach((resource) => {
298 for (const [key, value] of Object.entries(report.environmentVariables)) {
310 checkForUnknownFields(report.userLimits, userLimitsFields);
311 for (const [type, limits] of Object.entries(report.userLimits)) {
323 assert(Array.isArray(report.sharedObjects));
324 report.sharedObjects.forEach((sharedObject) => {
329 assert(Array.isArray(report.workers));
330 report.workers.forEach((worker) => _validateContent(worker));