feat(scheduler-sim-decision-trace): hook the host pre-filter, host scan and satisfaction check

Task 3.3: the pre-filter records selection mismatches and internal
errors as host verdicts, a scan stopped by an error marks the position
as a scan error, and unsatisfy_() hands every checked row to the current
record. Iterator and check results are unchanged.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-08 11:42:19 +00:00
parent 542c6e602a
commit d4bee4b5d0
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
6 changed files with 834 additions and 3 deletions

View file

@ -2680,3 +2680,19 @@ sched_trace_hooks_resreq_test = executable(
test('scheduler trace hooks resreq test',
sched_trace_hooks_resreq_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'])
# scheduler-sim-decision-trace task 3.3: the host pre-filter, host scan and
# satisfaction-check trace hooks (design.md "TraceHooks": Pre-filter, Scan
# stop, Shortfall rows; Requirements 4.1, 4.2, 4.4, 5.2-5.5, 5.7) on the
# real host_iter.c and resource.c. Same white-box #include set as
# sched_host_iter_test, with host_iter.c's fault seams renamed by macros.
sched_trace_host_hooks_test = executable(
'sched_trace_host_hooks_test',
['test_trace_host_hooks.c'],
include_directories:[incdir],
dependencies: [scheduler_test_deps],
install: false)
test('scheduler trace host hooks test',
sched_trace_host_hooks_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'])