tests: the UiScript wall's ceiling follows the four files that argued past it
`ui_script_wall.rs` has been failing since `2af91704`, 888 commits ago: 43
gameplay files name `UiScript` against a ceiling of 40. A ratchet that cannot
pass notices nothing, which is the one thing it is for — so the ceiling
follows the count, with each newcomer argued in place, as the test's own
message asks.
Three of the four do not cross the line the wall draws:
- `spell/net.rs` names the identifier only to say it holds none — three doc
comments explaining why its work is queued instead. The count reads doc
comments by design, so documenting the line reads as crossing it.
- `target/by_name.rs` and `target/scan.rs` hold the VM because `TargetByName`
and the scan must select inside the Lua call as `0x489d60` does; that is
`bbe2e3aa`, without which an addon's own target restore cannot see what it
selected.
- `debug_panel/{mod,lighting_controls}.rs` write CVars through
`UiScript::set_cvar_engine`, the queue Lua's `SetCVar` feeds, so the dev
panel cannot hold a different value than the interface.
Nothing moves and nothing is excused wholesale: the next file to learn that
the VM exists still fails this test.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn
This commit is contained in:
@@ -38,7 +38,23 @@ fn family(rel: &str) -> Family {
|
||||
}
|
||||
|
||||
/// The standing count of `Game` files; raise it only with the reason written down.
|
||||
const CEILING: usize = 40;
|
||||
///
|
||||
/// 40 was the count the last time this test passed, 888 commits back (`2af91704`): the chain has
|
||||
/// been red here long enough that the wall could no longer notice a newcomer, which is the one
|
||||
/// thing it is for. The four files that have joined since, each argued rather than moved:
|
||||
///
|
||||
/// - `spell/net.rs` names the identifier **only to say it holds none** — three doc comments of the
|
||||
/// form "these handlers hold no `UiScript`", explaining why their work is queued instead. The
|
||||
/// count is deliberately coarse (it reads doc comments too, see above), so a file that documents
|
||||
/// the line is counted as if it crossed it.
|
||||
/// - `target/by_name.rs` and `target/scan.rs` hold the VM on purpose: `TargetByName` and the scan
|
||||
/// must select **inside** the Lua call, as `0x489d60` does, or an addon's
|
||||
/// `prevTarget ~= foundTarget` restore cannot see what it just selected (`bbe2e3aa`, which is
|
||||
/// what made unitscan stop stealing the target).
|
||||
/// - `debug_panel/mod.rs` and `debug_panel/lighting_controls.rs` drive CVars through
|
||||
/// `UiScript::set_cvar_engine`, the same queue Lua's `SetCVar` feeds, so the dev panel and the
|
||||
/// interface cannot hold different values for one CVar.
|
||||
const CEILING: usize = 43;
|
||||
|
||||
/// How far under [`CEILING`] the count may sit before the test asks for the ceiling to follow it.
|
||||
const SLACK: usize = 4;
|
||||
|
||||
Reference in New Issue
Block a user