Skip to content

Commit eec5ff0

Browse files
committed
refactor complex reportAndWrite
1 parent 9049985 commit eec5ff0

File tree

1 file changed

+51
-39
lines changed

1 file changed

+51
-39
lines changed

smoke-tests/smoke-test.mjs

Lines changed: 51 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -408,55 +408,67 @@ async function probeFrontendPlugins(plugins, port, pluginsRoot) {
408408
// Reporting
409409
// ---------------------------------------------------------------------------
410410

411+
function logResultAndCollectFailures(result, failedPlugins) {
412+
switch (result.status) {
413+
case "skip":
414+
console.log(` SKIP ${result.pkgName} (${result.role})`);
415+
return;
416+
case "pass":
417+
if (result.pluginId) {
418+
console.log(
419+
` PASS ${result.pkgName} → /api/${result.pluginId} (${result.http})`,
420+
);
421+
} else if (isFrontendRole(result.role)) {
422+
console.log(` PASS ${result.pkgName} (${result.role})`);
423+
}
424+
return;
425+
case "warn":
426+
console.log(
427+
` WARN ${result.pkgName} → /api/${result.pluginId} (404 — pluginId guess may be wrong)`,
428+
);
429+
return;
430+
case "fail-bundle":
431+
console.log(` FAIL ${result.pkgName} [bundle] ${result.detail}`);
432+
failedPlugins.push(result.pkgName);
433+
return;
434+
case "fail-load":
435+
console.log(` FAIL ${result.pkgName} [load] ${result.detail}`);
436+
failedPlugins.push(result.pkgName);
437+
return;
438+
default:
439+
console.log(` FAIL ${result.pkgName} ${result.error}`);
440+
failedPlugins.push(result.pkgName);
441+
}
442+
}
443+
444+
function updateResultCounts(result, backendCounts, frontendCounts) {
445+
const isFrontend = isFrontendRole(result.role);
446+
if (result.status === "fail-bundle" || result.status === "fail-load") {
447+
if (isFrontend) frontendCounts.fail++;
448+
else backendCounts.fail++;
449+
return;
450+
}
451+
452+
if (isFrontend) {
453+
frontendCounts[result.status] = (frontendCounts[result.status] ?? 0) + 1;
454+
return;
455+
}
456+
457+
backendCounts[result.status] = (backendCounts[result.status] ?? 0) + 1;
458+
}
459+
411460
function reportAndWrite(results, resultsFile) {
412461
console.log("\n========== Smoke Test Results ==========\n");
413462
const failedPlugins = [];
414463

415464
for (const r of results) {
416-
switch (r.status) {
417-
case "skip":
418-
console.log(` SKIP ${r.pkgName} (${r.role})`);
419-
break;
420-
case "pass":
421-
if (r.pluginId) {
422-
console.log(
423-
` PASS ${r.pkgName} → /api/${r.pluginId} (${r.http})`,
424-
);
425-
} else if (isFrontendRole(r.role)) {
426-
console.log(` PASS ${r.pkgName} (${r.role})`);
427-
}
428-
break;
429-
case "warn":
430-
console.log(
431-
` WARN ${r.pkgName} → /api/${r.pluginId} (404 — pluginId guess may be wrong)`,
432-
);
433-
break;
434-
case "fail-bundle":
435-
console.log(` FAIL ${r.pkgName} [bundle] ${r.detail}`);
436-
failedPlugins.push(r.pkgName);
437-
break;
438-
case "fail-load":
439-
console.log(` FAIL ${r.pkgName} [load] ${r.detail}`);
440-
failedPlugins.push(r.pkgName);
441-
break;
442-
default:
443-
console.log(` FAIL ${r.pkgName} ${r.error}`);
444-
failedPlugins.push(r.pkgName);
445-
}
465+
logResultAndCollectFailures(r, failedPlugins);
446466
}
447467

448468
const be = { pass: 0, warn: 0, skip: 0, fail: 0 };
449469
const fe = { pass: 0, fail: 0 };
450470
for (const r of results) {
451-
const isFe = isFrontendRole(r.role);
452-
if (r.status === "fail-bundle" || r.status === "fail-load") {
453-
if (isFe) fe.fail++;
454-
else be.fail++;
455-
} else if (isFe) {
456-
fe[r.status] = (fe[r.status] ?? 0) + 1;
457-
} else {
458-
be[r.status] = (be[r.status] ?? 0) + 1;
459-
}
471+
updateResultCounts(r, be, fe);
460472
}
461473
const total = results.length;
462474
const totalFail = be.fail + fe.fail;

0 commit comments

Comments
 (0)