Say what the console noise is, so the count stops reading as a defect
"17 pass-with-console-errors" is a bare number that invites investigation, and
it cost a full tick: the count was carded as a suspected hidden defect on the
real precedent that a thrown setup() in this repo once removed a subtree
silently while the gate still counted the element as mounted.
It was noise, and the partition is the proof. Every noisy element is map-bearing
or bakes in a map-bearing child; every silent one is not. On a box with no GPU
and no Mapbox token, a map reporting a failed init is correct behaviour.
One message class was an artifact of the report itself: console.error('[x] Map
failed to initialize --', err) passes two arguments, and Playwright renders the
Error argument as the bare word "Error". Storing each argument separately made
those look like 12 anonymous errors of unknown origin; they were the second half
of messages already counted.
The report now lists each noisy element with its child count and first message,
and prints an explicit "what WOULD be a defect" counter -- a noisy element with
0 shadow children or an error card -- which reads 0 today.
Negative-tested: a synthetic tree with a 0-child element and an error card
drives that counter from 0 to 2, so it is a live signal and not a decorative
zero.
This commit is contained in:
parent
bd2a77e82d
commit
121275e0f2
1 changed files with 27 additions and 0 deletions
|
|
@ -216,5 +216,32 @@ if (glNoise) {
|
|||
console.log(' Paint is verified separately by verify:map-paint (SwiftShader). Run with')
|
||||
console.log(' EXPECT_CANVAS=1 on a machine with real GL to assert canvases and stop filtering.')
|
||||
}
|
||||
// ★ SAY WHAT THE NOISE IS, NOT JUST HOW MUCH. A bare "17 pass-with-console-errors" is an invitation
|
||||
// to investigate, and on 2026-09-23 it cost a full tick: the count was carded as a suspected hidden
|
||||
// defect, on the real precedent that a thrown setup() in this repo once removed a subtree silently
|
||||
// while the gate still counted the element as mounted.
|
||||
//
|
||||
// IT WAS NOISE, AND THE PROOF IS THE PARTITION. Every noisy element is map-bearing; every silent one
|
||||
// is not (poster-wall, people-groups-grid, doxa-vision-card, connectivity-list, big-picture). No
|
||||
// noisy element had 0 shadow children or an error card — which is the shape the feared defect would
|
||||
// take. On a box with no GPU and no Mapbox token, a map that reports a failed init is the CORRECT
|
||||
// behaviour, so the count tracks the ENVIRONMENT, not the product.
|
||||
//
|
||||
// ★ AND ONE MESSAGE CLASS WAS AN ARTIFACT OF THIS REPORT ITSELF. `console.error('[x] Map failed to
|
||||
// initialize —', err)` passes TWO arguments; Playwright renders the Error argument as the bare word
|
||||
// "Error", and storing each argument separately made those look like 12 anonymous errors of unknown
|
||||
// origin. They were the second half of messages already counted. Grouping by element and showing the
|
||||
// first message stops the same reader-hours being spent again.
|
||||
if (noisy.length) {
|
||||
const withMap = noisy.filter(r => r.canvas || /map/i.test(r.key)).length
|
||||
console.log(`[plugin-gallery-smoke] ${noisy.length} element(s) passed WITH console errors — ${withMap} of them map-bearing.`)
|
||||
console.log(' A map that cannot reach Mapbox logs an init failure; with no GPU and no token that is')
|
||||
console.log(' EXPECTED here and is not a product defect. What WOULD be one: a noisy element with 0')
|
||||
console.log(` shadow children or an error card. Count of those right now: ${noisy.filter(r => r.shadowChildren === 0 || r.errorCard).length}.`)
|
||||
for (const r of noisy) {
|
||||
const first = String(r.consoleErrors[0] || '').replace(/\s+/g, ' ').slice(0, 72)
|
||||
console.log(` ${r.key.padEnd(44)} children=${String(r.shadowChildren).padStart(3)} ${first}`)
|
||||
}
|
||||
}
|
||||
if (JSON_OUT) { writeFileSync(JSON_OUT, JSON.stringify({ base: BASE, results }, null, 2)); console.log(`[plugin-gallery-smoke] report → ${JSON_OUT}`) }
|
||||
if (failed.length) { console.log('FAILED:'); failed.forEach(f => console.log(` ✗ ${f.key} — ${f.why}`)); process.exit(1) }
|
||||
|
|
|
|||
Loading…
Reference in a new issue