feat(scheduler-core): enforce simulation isolation (task 11.3)
Three-layer regression guard (test_sim_isolation.c) proving sim.h/sim.c/ sim_loop.c hold no controller-facing client/cluster-config/capnp-socket state: source-text scan, struct-body field scan, and nm(1) link-time undefined-symbol audit of a new isolated sched_sim_isolation_lib target.
This commit is contained in:
parent
7e1e861e4f
commit
b8d2f5f48d
4 changed files with 604 additions and 1 deletions
|
|
@ -61,4 +61,21 @@ sched_core_isolation_lib = static_library(
|
|||
dependencies: scheduler_deps,
|
||||
install: false)
|
||||
|
||||
# Task 11.3 (scheduler-core spec, Req 5 AC 17): isolated compile target for
|
||||
# the simulation driver's own files, consumed by
|
||||
# testsuite/test_sim_isolation.c to prove at build time that sim.c/sim_loop.c
|
||||
# reference zero controller-facing symbols (client/netio/xceapi/delay/idgen).
|
||||
# Both files are compiled together into ONE archive -- task 11.2 added
|
||||
# sim_loop.c as a sibling file to task 11.1's sim.c, and covering only one of
|
||||
# them would repeat core.c's own siblings' (core_events.c/core_session.c/
|
||||
# core_clock.c) never-mechanically-covered gap for the sim driver. Same
|
||||
# "compiling to an object is enough, no real linking needed" rationale as
|
||||
# sched_core_isolation_lib above.
|
||||
sched_sim_isolation_lib = static_library(
|
||||
'sched_sim_isolation',
|
||||
['src/sim.c', 'src/sim_loop.c'],
|
||||
include_directories: incdir,
|
||||
dependencies: scheduler_deps,
|
||||
install: false)
|
||||
|
||||
subdir('testsuite')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue