feat(scheduler-sim-diagnostics): implement info limit name/all resolution
repl_info_limit() (repl_info.c, not yet wired into repl_cmd_info() -- that's task 4) resolves "all" vs a specific name against limit_get_configured_limits(): a NULL/empty handle on the all path reports "no limits configured" (Req 1.7); a NULL handle or key_find() miss on the named path reports "no such limit '<name>'" (Req 1.3) and never collapses into the all-only message. New white-box test_repl_limit_table.c exercises both paths directly, including a dedicated regression guard for the NULL-scoping rule. Making repl_info.c genuinely call limit_get_configured_limits() broke the link for ~24 other white-box test files that #include repl_info.c without also linking plugins/limit.c -- fixed with the same link-satisfying-stub idiom this file family already uses elsewhere (all return NULL, verified behavior- preserving since none of these fixtures register the limit plugin). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RLSNJhNoULvVcUhXEFafQC
This commit is contained in:
parent
b79a547a1e
commit
d3df8fb29f
28 changed files with 1098 additions and 1 deletions
|
|
@ -115,6 +115,21 @@ void kill_sched_user(void* arg) { (void)arg; }
|
|||
void kill_sched_project(void* arg) { (void)arg; }
|
||||
void kill_sched_resval(xce_val_t* val) { (void)val; }
|
||||
|
||||
/* repl_info.c (scheduler-sim-diagnostics spec, task 2.1) now calls
|
||||
* limit_get_configured_limits() (plugins/limit.c, not part of this TU) to
|
||||
* resolve `info limit`'s name/all argument -- link-satisfying stub only,
|
||||
* same rationale as kill_sched_job()/kill_sched_resval() above; this
|
||||
* file's own fixtures never register the limit plugin, so NULL
|
||||
* (limit_get_configured_limits()'s own documented "plugin absent" return)
|
||||
* is also the behaviorally correct answer here, not just a link
|
||||
* placeholder. repl_info_limit() itself is not yet wired into
|
||||
* repl_cmd_info() (task 4), so no test in this file can reach it anyway. */
|
||||
var limit_get_configured_limits(xce_sched_core_t* core)
|
||||
{
|
||||
(void)core;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* resource-accounting.md's reconciliation (resource.c, not linked here --
|
||||
* this file only #includes core_events.c). core_events.c's
|
||||
* XCE_CORE_EVENT_JOB_RUSAGE handler calls this whenever job->accounts !=
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue