feat(scheduler-core): implement what-if branching and simulation output recording (task 11.5)
Add sim_record.c (scheduler_t-free .replay writer: ReplayHeader + loaded SnapshotEntry once, then per-event pass-through and per-session ReplaySession finalization) and wire --sim-alt-events event-source selection into sim_loop.c's drain loop, coexisting with task 11.2's stdout default and task 11.4's --sim-verify. Extract scheduler_t-free halves out of recording_session.c's begin/end so sim-side code can reuse the decision-encoding path without gaining an xce_scheduler_t* dependency, preserving Req 5 AC 17 isolation. Per Req 5 AC 16/19.
This commit is contained in:
parent
a6083d803e
commit
564408e967
14 changed files with 1750 additions and 91 deletions
|
|
@ -58,8 +58,11 @@
|
|||
* test_pend_decision_round_trip() already prove works.
|
||||
*
|
||||
* White-box #include of the same TU set test_sim_event_loop.c uses (see
|
||||
* that file's own header comment) PLUS ../src/sim_verify.c (the code under
|
||||
* test).
|
||||
* that file's own header comment, including task 11.5's
|
||||
* recording_session.c/sim_record.c -- required at link time by
|
||||
* sched_sim_driver_run()'s unconditional externs regardless of whether
|
||||
* --sim-output is ever set in a given test) PLUS ../src/sim_verify.c (the
|
||||
* code under test).
|
||||
*/
|
||||
#include <errno.h>
|
||||
#include <limits.h>
|
||||
|
|
@ -89,8 +92,10 @@
|
|||
#include "../src/plugin.c"
|
||||
#include "../src/plugins/builtin_fcfs.c"
|
||||
#include "../src/recording.c"
|
||||
#include "../src/recording_session.c"
|
||||
#include "../src/sim.c"
|
||||
#include "../src/sim_loop.c"
|
||||
#include "../src/sim_record.c"
|
||||
#include "../src/sim_verify.c"
|
||||
#include "../src/snapshot.c"
|
||||
#include "../src/snapshot_load.c"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue