Repository navigation
REQ 036
REQ-036: Linux LUnit execution (post-spike): full self-contained restatement of REQ-034's conditions for Linux, gated on REQ-035 outcome (a)
Linux LUnit execution shall run the pinned-commit ni/labview-icon-editor suite, unattended, inside a fresh GitHub-hosted-runner Linux LabVIEW container, with no VIPM installation, activation, or secret present anywhere in the container's build or runtime.
Keeps both platforms on one architecture (no-VIPM, pinned-commit, GitHub-hosted, SHA-256-verified, digest-pinned) now that REQ-035 has confirmed feasibility, satisfying REQ-033's dual-platform gate without inventing a second, inconsistent design. Fully self-contained (round-2 review finding, now resolved with real evidence): this row states its own complete, Linux-specific waiver list rather than cross-referencing REQ-034's Windows-only one. The two Linux-specific waivers are formally authorized by ADR-0004 (per ADR-0003's own rule that waiving a test beyond the single Windows exception requires a new ADR, not a quiet SRS edit -- a process gap #94's review found and ADR-0004 closed), each with its own follow-up issue (#95, #96) and pin-update expiry condition.
A fresh container build from this engine's pinned-by-digest nationalinstruments/labview Linux image, given the same SHA-256-verified LUnit/LUnit CLI VI package files (deployed by a plain file copy, not an NSIS installer -- confirmed unnecessary for Linux), runs the pinned-commit suite unattended and produces a lunit.xml JUnit report covering every one of the pinned suite's 10 test cases (a truncated/partial run, or any skipped test case, blocks the gate regardless of waiver status), with zero failures and zero errors, with exactly three named, lapsing waivers and no others: Test Write Read Library Icon Data.vi (shared with REQ-034, the same upstream tag-mismatch), Test Window Position.vi (Linux-specific, #95: 7 of 8 window-bounds assertions fail by a consistent 1-pixel rendering offset versus the test's Windows-captured expected values), and Test INI Settings.vi (Linux-specific, #96: both of its 2 assertions expect Windows-only default font names -- "Small Fonts", "Calibri" -- that Linux LabVIEW's real default, "LabVIEW Application", does not match) -- and with no VIPM installation, activation call, secret, or credential present anywhere in the container's build or runtime, and with this engine's own release-candidate commit recorded in every gate result alongside the suite commit (REQ-033).
Verified (live, fork + upstream): confirmed via direct local Docker testing, then real workflow_dispatch runs on both the fork (run 42372457595) and upstream (run 42372700928, after #92 merged) -- identical results: 10 total tests, all 3 named waivers, vipmPresence: false. An independent 3-model post-implementation verification review (#94) then found and this engine fixed: a Linux VIPM-detection gap (wrong marker paths), a report-completeness gap (a truncated/skipped run could have passed), a missing formal waiver ADR (ADR-0004), and several documentation overclaims (this row's own Xvfb wording, a wrong installMethod manifest value), per #97. A fresh upstream re-verification run after the fix (42375127600) reproduces the same result, now also recording engineCommit and with the corrected installMethod. Tracked in #87.
Software-Requirements-Specification
High
Not yet implemented
Gated on REQ-035; tracked in #87
Planned