feat(scheduler-sim-repl-verbosity): task 4.1 - RED-phase sim_print_decision Gate tests
Adds 3 tests in a new test_sim_print_decision_gate.c covering the old unconditional per-decision echo (sim_loop.c's sim_print_decision()) no longer duplicating the Round Rollup's per-round summary under `continue` mode (Requirement 2.3), while `step` mode and headless (non-interactive) batch runs stay completely unaffected (Requirements 5.1, 5.4). This is exactly the duplication bug-1610 reported. 1 of 3 tests fails as expected RED evidence (continue-mode bare "[sim] PEND jobid=..." line still appears alongside the Round Rollup's own summary today); the other 2 (step-mode and headless regression checks) correctly pass since they pin already-correct, unaffected behavior. New file rather than extending either sibling: test_repl_round_rollup.c is already 1022 lines (222 over the 800-line cap), and test_repl_event_echo.c (704 lines) deliberately keeps its fixtures job-free (bug-1595 discipline), which this task's decision-producing fixtures cannot follow. No production code touched (sim_loop.c/repl.c/repl_rollup.c/repl_break.c untouched) - tests only, per this task's RED-phase boundary. The actual gate implementation is task 4.2. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YAWMhfRJFnmmnG8h97yUDd
This commit is contained in:
parent
cc78d09140
commit
3d08a43a35
3 changed files with 735 additions and 1 deletions
|
|
@ -962,6 +962,33 @@ sched_repl_event_echo_test = executable(
|
|||
dependencies: [scheduler_test_deps, libedit_dep],
|
||||
install: false)
|
||||
|
||||
# Contract test for the interactive simulation REPL's `sim_print_decision`
|
||||
# Gate component (scheduler-sim-repl-verbosity spec, task 4.1, Requirements
|
||||
# 2.3, 5.1, 5.4 "retire the redundant per-decision echo during continuous
|
||||
# execution"): under `continue` mode, sim_print_decision()'s (sim_loop.c)
|
||||
# bare per-decision line must no longer appear outside the Round Rollup's
|
||||
# own per-round summary; `step` mode and non-interactive (headless, no -i)
|
||||
# batch runs are completely unaffected and keep printing that bare line
|
||||
# exactly as today. Same white-box #include pattern as
|
||||
# sched_repl_round_rollup_test/sched_repl_event_echo_test above (core.c,
|
||||
# core_clock.c, core_events.c, core_session.c, decision.c, plugin.c,
|
||||
# plugins/builtin_fcfs.c, recording.c, recording_session.c, sim.c,
|
||||
# sim_loop.c, sim_record.c, sim_verify.c,
|
||||
# snapshot.c/snapshot_wire.c/snapshot_load.c, repl.c, repl_rollup.c,
|
||||
# repl_break.c, repl_info.c, repl_params.c). Split into its own file rather
|
||||
# than extended onto either sibling: test_repl_round_rollup.c is already
|
||||
# 1022 lines (222 over this project's 800-line cap) on its own, and
|
||||
# test_repl_event_echo.c (704 lines) deliberately keeps every one of its
|
||||
# own fixtures job-free (bug-1595 jobid-reuse safety discipline), which
|
||||
# this task's decision-producing fixtures cannot follow -- see this file's
|
||||
# own header comment for the full rationale.
|
||||
sched_sim_print_decision_gate_test = executable(
|
||||
'sched_sim_print_decision_gate_test',
|
||||
['test_sim_print_decision_gate.c'],
|
||||
include_directories:[incdir],
|
||||
dependencies: [scheduler_test_deps, libedit_dep],
|
||||
install: false)
|
||||
|
||||
# Contract test for the interactive simulation REPL's breakpoint and
|
||||
# state-inspection slice (scheduler-core spec, task 12.2, Req 5 AC 22
|
||||
# "Breakpoints"/"State inspection"): setting a breakpoint on a specific
|
||||
|
|
@ -1418,6 +1445,9 @@ test('scheduler repl round rollup test',
|
|||
test('scheduler repl event echo test',
|
||||
sched_repl_event_echo_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
test('scheduler sim print decision gate test',
|
||||
sched_sim_print_decision_gate_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
test('scheduler repl breakpoints inspection test',
|
||||
sched_repl_breakpoints_inspection_test, suite: 'scheduler',
|
||||
env: ['ASAN_OPTIONS=detect_leaks=0'])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue