CNA-VGAP-023: Most browser renderer paths are never executed automatically: WEBGL1/WEBGL2 have no test registrations, CANVAS has no registered browser run, and SVG_DOM runs only through a manual script
Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
WebGL identities have no test registrations and CI only builds a WEBGL2 bundle, CANVAS test programs are not registered, and the DOM host-contract suites are opt-in with no workflow; only HTML_DOM has a CI browser run.
- Identifier
CNA-VGAP-023- Category
- Verification gap
- Subsystem
- Testing & evidence
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- Yes: see Current tests
- Affected contract
- WEBGL1, WEBGL2, CANVAS, SVG_DOM (and HTML_DOM host contracts) renderer identities
Expected behaviour
A renderer identity published as supported should have at least one automated execution of its real target environment.
Actual behaviour at TARGET
CMakeLists.txt registers EasyGL tests only when NOT EMSCRIPTEN, so WEBGL1 and WEBGL2 have none; emscripten-multi-renderer-ci.yml builds a WEBGL2+CANVAS+HTML_DOM+SVG_DOM bundle and, per its header, does not run it in a browser. CMakeLists.txt builds test programs without registering them, and CMakeLists.txt gates CanvasHostContracts, HtmlDomHostContracts and SvgDomHostContracts behind off-by-default CNA_BUILD_*_HOST_TESTS options no workflow sets. SVG_DOM's smoke, pixel and scissor-order pages run only through run-svgdom-browser-test.sh; htmldom-ci.yml drives Chromium for HTML_DOM only.
Source locations
modules/renderers/easygl/examples/CMakeLists.txt— NOT EMSCRIPTEN registration guardmodules/renderers/canvas/examples/CMakeLists.txt— add_executable without registrationmodules/renderers/CMakeLists.txt— CNA_BUILD_CANVAS/HTML_DOM/SVG_DOM_HOST_TESTS optionsscripts/run-svgdom-browser-test.sh— manual SVG_DOM browser run.github/workflows/emscripten-multi-renderer-ci.yml— build-only multi-renderer web bundle.github/workflows/htmldom-ci.yml— the one automatic browser runscripts/run-htmldom-test-suite.sh— HTML_DOM browser suite driver
Evidence
Checked by reading the named sources at 009d40f5; nothing was built or executed for this entry.
Independently reported as CNA-VGAP-045 (folded into this entry by the adversarial audit): htmldom-ci.yml drives the HTML_DOM suite in a browser; SVG_DOM's runner script has no caller, CANVAS, WEBGL1 and WEBGL2 have no browser harness, WEBGL1 is built by no workflow, and the Emscripten multi-renderer job only builds a bundle.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
HTML_DOM: browser run in htmldom-ci.yml. The others: build only, or manual scripts.
Regression test
A headless-browser CI step per identity (reusing the HTML_DOM harness) and a CI configuration that enables the host-contract options.
Blast radius
All WebGL, Canvas and SVG DOM rendering, context loss and host-owned loop behaviour.
Workaround
No workaround is known.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Known issues
- Verification gap index