feat(scheduler-sim-decision-trace): capture the trace-off REPL transcript baseline

Task 1.1: scripted REPL session over a contention replay (license, cluster
and host limits, parallel and alternative jobs); transcript, recordings and
--sim-verify result committed as fixtures and compared byte for byte.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-10-08 07:21:38 +00:00
parent bf1e4b7245
commit e2d5662d28
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C
9 changed files with 1206 additions and 1 deletions

View file

@ -2474,3 +2474,38 @@ test('scheduler sim discrete clock test',
sched_sim_discrete_clock_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'],
depends: scheduler)
# scheduler-sim-decision-trace spec, task 1.1 (Req 10.4, 10.5): the
# trace-off REPL transcript baseline. Runs the built xce_scheduler
# (XCE_SCHEDULER_BIN; `depends: scheduler` builds it first) in interactive
# simulation mode on the committed resource-contention replay under
# fixtures/repl_trace_baseline/ with a scripted session, and compares the
# console transcript, the --sim-output and `set output` recordings and the
# --sim-verify result with the committed baseline (wall-clock metadata
# excluded). The replay writer links the real scheduler_srcs, same
# technique as sched_sim_e2e_limit_visibility_test. Set
# XCE_REPL_BASELINE_REGEN=1 to regenerate the fixtures (see the file's
# header comment).
sched_repl_trace_baseline_test_srcs = ['test_repl_trace_baseline.c']
foreach f : scheduler_srcs
if f != 'src/main.c'
sched_repl_trace_baseline_test_srcs += ['../' + f]
endif
endforeach
sched_repl_trace_baseline_test = executable(
'sched_repl_trace_baseline_test',
sched_repl_trace_baseline_test_srcs,
include_directories:[incdir],
dependencies: [scheduler_test_deps],
c_args: ['-DXCE_SCHEDULER_BIN="' + scheduler.full_path() + '"',
'-DXCE_BASELINE_DIR="'
+ (meson.current_source_dir() / 'fixtures'
/ 'repl_trace_baseline')
+ '"'],
install: false)
test('scheduler repl trace baseline test',
sched_repl_trace_baseline_test, suite: 'scheduler',
env: ['ASAN_OPTIONS=detect_leaks=0'],
depends: scheduler)