Skip to content

Commit e0951c8

Browse files
cjihrigtargos
authored andcommitted
report: loop over uv_cpu_info() results
The code currently loops over the results, but only the first result is accessed. PR-URL: #28829 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
1 parent 454e879 commit e0951c8

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/node_report.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -334,13 +334,13 @@ static void PrintCpuInfo(JSONWriter* writer) {
334334
writer->json_arraystart("cpus");
335335
for (int i = 0; i < count; i++) {
336336
writer->json_start();
337-
writer->json_keyvalue("model", cpu_info->model);
338-
writer->json_keyvalue("speed", cpu_info->speed);
339-
writer->json_keyvalue("user", cpu_info->cpu_times.user);
340-
writer->json_keyvalue("nice", cpu_info->cpu_times.nice);
341-
writer->json_keyvalue("sys", cpu_info->cpu_times.sys);
342-
writer->json_keyvalue("idle", cpu_info->cpu_times.idle);
343-
writer->json_keyvalue("irq", cpu_info->cpu_times.irq);
337+
writer->json_keyvalue("model", cpu_info[i].model);
338+
writer->json_keyvalue("speed", cpu_info[i].speed);
339+
writer->json_keyvalue("user", cpu_info[i].cpu_times.user);
340+
writer->json_keyvalue("nice", cpu_info[i].cpu_times.nice);
341+
writer->json_keyvalue("sys", cpu_info[i].cpu_times.sys);
342+
writer->json_keyvalue("idle", cpu_info[i].cpu_times.idle);
343+
writer->json_keyvalue("irq", cpu_info[i].cpu_times.irq);
344344
writer->json_end();
345345
}
346346
writer->json_arrayend();

test/common/report.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const fs = require('fs');
55
const os = require('os');
66
const path = require('path');
77
const util = require('util');
8+
const cpus = os.cpus();
89

910
function findReports(pid, dir) {
1011
// Default filenames are of the form
@@ -98,6 +99,7 @@ function _validateContent(report) {
9899
assert.strictEqual(typeof header.osVersion, 'string');
99100
assert.strictEqual(typeof header.osMachine, 'string');
100101
assert(Array.isArray(header.cpus));
102+
assert.strictEqual(header.cpus.length, cpus.length);
101103
header.cpus.forEach((cpu) => {
102104
assert.strictEqual(typeof cpu.model, 'string');
103105
assert.strictEqual(typeof cpu.speed, 'number');
@@ -106,6 +108,9 @@ function _validateContent(report) {
106108
assert.strictEqual(typeof cpu.sys, 'number');
107109
assert.strictEqual(typeof cpu.idle, 'number');
108110
assert.strictEqual(typeof cpu.irq, 'number');
111+
assert(cpus.some((c) => {
112+
return c.model === cpu.model && c.speed === cpu.speed;
113+
}));
109114
});
110115
assert.strictEqual(header.host, os.hostname());
111116

0 commit comments

Comments
 (0)