5d: the review's image swap, teardown trap and fixture-name assertions
CI / gate (push) Successful in 1m25s
CI / publish (push) Has been skipped

This commit is contained in:
2026-09-04 10:57:35 +02:00
parent edf11304e3
commit 9e688f4b00
6 changed files with 60 additions and 42 deletions
+12 -7
View File
@@ -519,11 +519,16 @@ Under **3 — `markdownToAdf` (`0.1.0`)**:
JavaScriptCore that is not Safari's. The mechanism is the decision this item opens with: a
browser leg wants an image, a driver and a way to carry a verdict back out, none of which
the gate's plain `docker run` per engine has. The answer is `with_firefox`, which runs the
geckodriver image beside the node one in a shared network namespace, so the page's server and
Firefox image beside the node one in a shared network namespace, so the page's server and
the driver are each other's `127.0.0.1` and no user-defined network, container name or
geckodriver `--allow-hosts` entry is wanted. `browser-tests/run.js` serves the repo, drives
one `execute/sync` and asserts the results against the corpus with the Node-side
`assert.deepEqual` the corpus runner uses, so the browser page holds no second copy of the
comparison. The whole corpus fits: 118 fixtures in 2.9s warm, 14s cold, against a 120s
script timeout — no slice was worth choosing. A `try` around the dynamic import is what turns
a broken build into SpiderMonkey's own message rather than an undefined global.
geckodriver `--allow-hosts` entry is wanted; its `EXIT INT TERM` trap bakes in the container
id, since the `local` holding it is gone by the time the trap fires. `browser-tests/run.js`
serves the repo, drives one `execute/sync` and asserts the results against the corpus with the
Node-side `assert.deepEqual` the corpus runner uses, so the browser page holds no second copy
of the comparison. The whole corpus fits: 118 fixtures in 8s warm against a 120s script
timeout — no slice was worth choosing. A `try` around the dynamic import is what turns a
broken build into SpiderMonkey's own message rather than an undefined global.
**Settled** (the maintainer, 2026-09-04): `selenium/standalone-firefox` over the smaller
`instrumentisto/geckodriver`, currency over size — the leg's whole worth is a real
SpiderMonkey, which decays the moment the pin stops moving, and the smaller image was four
Firefox majors behind with a publisher that may go quiet while Renovate stays silent.