mirror of
https://github.com/software-mansion/argent.git
synced 2026-09-14 19:27:14 +08:00
e8536076de
- The JUnit reporter is PARSED, not grepped. Every assertion was `toContain` or
a regex, which passes wherever in the document a fragment sits — which is
exactly how an `<error>` in a position no schema allows survived the suite.
`flow.test.ts` validates the document it actually writes, too.
- The MCP failure block gets a verbatim pin. The section was entirely
`toContain`, so an injected extra line or a silently dropped slot survived.
- `inlineRole` — the headline MCP change in this diff — was unreachable by the
suite: the two near-miss tests set `secretTyped` (killing the flag it sits
behind) and passed no ctx. Both arms are now driven, and `MAX_RENDER_FAILURES`
has a fixture that reaches it.
- The other new code the suite never executed: `wireTimestamp` (load-bearing —
removing it makes `buildJUnitXml` throw), `resolvedPlatform`, the JUnit body's
`expected:`/`actual:`/`match:`/`reads:`/`device:` slots, and
`sink.error = undefined`, the only stale-error clear, which now has a test
that recovers after a read failure.
- The "unclassified" test asserted nothing: its body was `if (failure) { … }`,
vacuous when the failure is absent — and its fixture produces a PASSING step,
so the guard never opened. `unclassified` is now driven at the assembler, the
site that decides it, with a literal pin.
- `expect(indexOf(a)).toBeLessThan(indexOf(b))` is satisfied by `a` being absent
entirely (-1 < N); presence is asserted first.
The nested-`flow-execute` secret case the harness could not express is covered
by the device-scoped latch's own two-run test.