CompileSurfaceParityTests: add a per-member exclusion seam so the ScriptLogger/CompileLog pair is guarded #57

Open
opened 2026-11-06 15:24:40 -05:00 by dohertj2 · 0 comments
Owner

Register row 116 (deferred-work register).

AccessorMirrorPairs asserts the compile mirror has at least as many overloads as the runtime accessor for every public method; ScriptLogger.FlushDropped() must be absent from the mirror, so the pair is left out entirely. Fix: an optional ignoredRuntimeMethods set per row (or a [NotScriptReachable] attribute on FlushDropped), then add the pair.

Revisit trigger (from register): The next public method added to ScriptLogger (or any accessor whose mirror must omit a member).

Current state: Not done; Log methods guarded only by the name-superset check + hand-written surface tests.
Test: tests/ZB.MOM.WW.ScadaBridge.SiteRuntime.Tests/Scripts/CompileSurfaceParityTests.cs.

Source: docs/plans/2026-07-08-deferred-work-register.md row 116

Register row 116 (deferred-work register). `AccessorMirrorPairs` asserts the compile mirror has at least as many overloads as the runtime accessor for every public method; `ScriptLogger.FlushDropped()` must be absent from the mirror, so the pair is left out entirely. Fix: an optional `ignoredRuntimeMethods` set per row (or a `[NotScriptReachable]` attribute on `FlushDropped`), then add the pair. **Revisit trigger (from register):** The next public method added to `ScriptLogger` (or any accessor whose mirror must omit a member). **Current state:** Not done; `Log` methods guarded only by the name-superset check + hand-written surface tests. Test: `tests/ZB.MOM.WW.ScadaBridge.SiteRuntime.Tests/Scripts/CompileSurfaceParityTests.cs`. Source: `docs/plans/2026-07-08-deferred-work-register.md` row 116
dohertj2 added the type:testpriority:p3migrated labels 2026-11-06 15:24:40 -05:00
Sign in to join this conversation.