myxce/src/scheduler/testsuite
lei.chen a905baf013 test(scheduler): aggregate 28 white-box tests into one sched_unit_test
Collapse the 28 zero-#include white-box scheduler tests (whose meson
executable blocks each duplicated the full scheduler_srcs list) into a
single sched_unit_test aggregate, following the controller
controller_test.c precedent: one executable, one process, one runner.

- sched_unit_runner.c: SUITES registry (28 entries) with per-suite
  setUp/tearDown dispatch, -t <suite> filter, UnitySetTestFile per entry
- testsuite/meson.build: runner + 28 test TUs + every scheduler_srcs
  entry except src/main.c as separate TUs; foreach over scheduler_srcs
  so the aggregate can never drift from the production source list;
  all baked-path defines (XCE_SCHED_*_PATH, XCE_SIM_*) move to the
  aggregate's c_args; -Werror=incompatible-pointer-types carried
  suite-wide (verified clean across all 28 tests + 50 src TUs)
- transformed tests drop main()/setUp()/tearDown() and local stubs that
  now resolve against the aggregate's real src TUs
- test() registrations 126 -> 99 (126 - 28 + 1 aggregate); the three
  --wrap= interposition tests (decision publish retry, backpressure,
  decision redelivery) keep their standalone executables unchanged
- isolation libs (sched_core_isolation_lib, sched_sim_isolation_lib)
  stay build-only and are wired as test()-level depends; the nm(1)
  text-scan tests find them via XCE_CORE_LIB_PATH/XCE_SIM_LIB_PATH

Verified: meson test --suite scheduler 100/100 green x3 consecutive
runs (43s total, aggregate 3.3s); /tmp/xce_* sweep clean (the one
leftover is test_worker_launch_type_dispatch.c's by-design fixed-path
fake xrun launcher).

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-21 10:39:55 +00:00
..
fixtures/repl_trace_baseline fix(scheduler): REPL iterator leaks, affected jobids in round summaries, raw ids for trace on job 2026-10-09 03:37:03 +00:00
meson.build test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
sched_unit_runner.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_admin_request.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_alloc_cache.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_alloc_equivalence_parjob.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_alloc_equivalence_seqjob.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_alloc_equivalence_seqjob_changes.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_alloc_plan_iter.c feat(scheduler-allocator-runner): plan generators initialise from the scheduling core (task 1.1) 2026-09-30 07:44:27 +00:00
test_alloc_runner.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_alloc_runner_result.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_alloc_runner_search.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_builtin_fcfs_cursor_uaf.c fix(scheduler): invalidate stale builtin_fcfs picker cursors across calls (bug-1686) 2026-08-25 08:49:43 +00:00
test_clock.c test(scheduler): check only the timestamp field in the frozen tlog format test (bug-1924) 2026-10-08 09:50:36 +00:00
test_config_push_deferred.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_core_events.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_core_full_cycle.c fix(scheduler): wire mem reservation reconciliation into live rusage event path 2026-09-01 07:08:37 +00:00
test_core_isolation.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_core_jbuf_capacity_pin.c feat(scheduler-core): pin jbuf capacity + record kvmgr determinism audit (task 4.2) 2026-08-03 14:09:42 +00:00
test_core_ready_gates.c merge: sync Rongsong's scheduler-framework (c5b172c7..3442a57d, 781 commits) 2026-10-14 05:17:03 +00:00
test_core_session.c feat(worker-rejoin-resync): task 5 - exclude reconciling host from dispatch 2026-09-01 18:38:07 +00:00
test_core_session_cache_clear.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_decision_trace.c feat(scheduler-sim-decision-trace): trace attachment and trace-only op on decisions 2026-10-08 08:40:37 +00:00
test_driver_decision_cb.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_driver_session_ordering.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_driver_translate.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_handlers.c merge: sync Rongsong's scheduler-framework (c5b172c7..3442a57d, 781 commits) 2026-10-14 05:17:03 +00:00
test_host_admin_close.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_host_iter.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_host_unavail_reconciling.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_job_array_expand.c merge: sync Rongsong's scheduler-framework (c5b172c7..3442a57d, 781 commits) 2026-10-14 05:17:03 +00:00
test_job_array_wire_e2e.c merge: sync Rongsong's scheduler-framework (c5b172c7..3442a57d, 781 commits) 2026-10-14 05:17:03 +00:00
test_job_move_priority.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_job_update.c fix(scheduler): keep a moved job's own priority (bug-1944) 2026-10-10 08:37:11 +00:00
test_limit_host_dedup.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_limit_plugin.c fix(scheduler): replace limits on a config re-push (bug-1967) 2026-10-10 11:38:05 +00:00
test_maxtasks_wiring_ingest.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_maxtasks_wiring_sim_driver_parity.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_no_bare_printf.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_parjob_combinatorial.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_parjob_e2e_multislot.c refactor(scheduler-allocator-runner): describe the framework runner, not the removed my_alloc() (task 5.1) 2026-09-30 10:02:46 +00:00
test_parjob_task_range.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_picker_config_fields.c feat(scheduler-sim-live-allocation): make plugin hook dispatch core-safe (task 1.2) 2026-09-18 11:48:08 +00:00
test_picker_core_loop_boundary.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_picker_fcfs.c feat(scheduler-core): wire builtin_fcfs as registered default picker (task 2.4) 2026-08-03 08:51:45 +00:00
test_picker_fcfs_session.c feat(scheduler-core): wire builtin_fcfs as registered default picker (task 2.4) 2026-08-03 08:51:45 +00:00
test_picker_iface.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_picker_pendreason_factory_audit.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_picker_wiring.c fix: spurious errors/warnings from a pc13v HA deploy (bug-1872..1877) 2026-09-28 04:35:19 +00:00
test_plugin_hook_dispatch.c fix(scheduler): plugin_end_session() guards on the wrong field (bug-1682/1492) 2026-09-19 11:44:58 +00:00
test_plugin_picker_registration.c fix: spurious errors/warnings from a pc13v HA deploy (bug-1872..1877) 2026-09-28 04:35:19 +00:00
test_queue_admin_control.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_record_lifecycle.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_recording_path_validation.c feat(scheduler-core): implement record start/stop lifecycle (task 9.2) 2026-08-05 09:07:51 +00:00
test_redispatch.c test(scheduler): G-5 JOB_RUSAGE dequeue routing — routes to sched_apply_job_rusage 2026-08-14 02:52:09 +00:00
test_repl_breakpoints_inspection.c fix(scheduler): break jobid= filters accept every jobid form the REPL prints (bug-1926) 2026-10-09 04:06:53 +00:00
test_repl_equivalence.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_event_echo.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_execution_control.c build: eliminate all unused-variable/function warnings in our code 2026-10-21 09:28:34 +00:00
test_repl_help.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_limit_table.c fix(scheduler): replace limits on a config re-push (bug-1967) 2026-10-10 11:38:05 +00:00
test_repl_output_compression.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_repl_prompt_context.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_resource_formatting.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_repl_resource_table.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_round_rollup.c fix(scheduler): REPL iterator leaks, affected jobids in round summaries, raw ids for trace on job 2026-10-09 03:37:03 +00:00
test_repl_snapshot_params.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_step_verbosity.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_repl_trace_baseline.c test(scheduler): silence snprintf truncation warning in repl trace baseline cleanup 2026-10-08 08:28:22 +00:00
test_repl_trace_cmd.c fix(scheduler): REPL iterator leaks, affected jobids in round summaries, raw ids for trace on job 2026-10-09 03:37:03 +00:00
test_repl_trace_e2e.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_repl_trace_e2e.h test(scheduler-sim-decision-trace): prove tracing never changes scheduling 2026-10-08 16:49:26 +00:00
test_repl_trace_e2e_fixture.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_repl_trace_emit.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_repl_trace_file.c feat(scheduler-sim-decision-trace): manage the trace file copy and output-file conflicts 2026-10-08 14:26:10 +00:00
test_repl_trace_wiring.c fix(scheduler): REPL iterator leaks, affected jobids in round summaries, raw ids for trace on job 2026-10-09 03:37:03 +00:00
test_resource_accounting.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_resval_ownership.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_sched_alloc_from_stamp.c feat(libxce-alloc-preason-equality): stamp every allocation's from with the deciding session start (task 3.2) 2026-09-28 10:14:35 +00:00
test_sched_election_null_schedobj.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sched_election_sim_fixture.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sched_make_allocs_oom.c fix(lib,scheduler): allocation constructors and allocators report OOM instead of building NULL-name records (bug-1882) 2026-09-28 08:49:51 +00:00
test_scheduler_backpressure.c feat(component-failover-adoption): validate scheduler backpressure, fix candidate-name diagnostics 2026-08-11 14:00:02 +00:00
test_scheduler_cache_dispatch.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_scheduler_cache_dispatch_compound.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_scheduler_connect.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_scheduler_decision_publish_retry.c fix(scheduler): close post-failover rejoin detection gap (bug-1760) 2026-09-04 04:37:11 +00:00
test_scheduler_decision_redelivery.c test(component-failover-adoption): add scheduler decision-redelivery queue coverage 2026-08-11 23:50:20 +00:00
test_scheduler_dispatch_commit.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_seqjob_allocator.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_seqjob_rewrap_equivalence.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_sim_alloc_limit_fanout.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_alt_events.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_cache_clear_isolation.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_contention_limit_driver_parity.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_contention_parity.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_contention_resource_driver_parity.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_discrete_clock.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_e2e_limit_visibility.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_e2e_original_motivation.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_equivalence.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_event_loop.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_group_limit_parity.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_isolation.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_limit_config_push_parity.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_live_allocation.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_sim_print_decision_gate.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_reconcile_unaccounted.c build: eliminate all unused-variable/function warnings in our code 2026-10-21 09:28:34 +00:00
test_sim_record_output.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_resource_contention.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_round_boundary_reconciliation.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_session_ordering.c fix(scheduler): apply a mid-replay CONFIG_PUSH to the sim limit plugin (bug-1964) 2026-10-10 10:41:40 +00:00
test_sim_snapshot_reconcile_gap.c feat(scheduler-sim-decision-trace): compile trace sources into REPL/sim tests and the sim isolation checks 2026-10-08 14:56:31 +00:00
test_sim_startup.c feat(scheduler-sim-decision-trace): pass the scheduler log path to the simulation driver 2026-10-08 14:13:50 +00:00
test_sim_trace_driver.c test(scheduler-sim-decision-trace): close validation coverage gaps; sync design.md 2026-10-08 17:33:26 +00:00
test_sim_verify.c fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_snapshot_load_allocator_regression.c test(scheduler-snapshot-job-allocation): regression test for allocator crash 2026-08-27 16:31:45 +00:00
test_snapshot_save_load.c refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +00:00
test_snapshot_sparse_resvals.c test(scheduler): aggregate 28 white-box tests into one sched_unit_test 2026-10-21 10:39:55 +00:00
test_trace_bounds.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_trace_capture.c test(scheduler-sim-decision-trace): error-path trace scenarios with the real allocator 2026-10-08 16:28:17 +00:00
test_trace_equivalence.c test(scheduler-sim-decision-trace): prove tracing never changes scheduling 2026-10-08 16:49:26 +00:00
test_trace_equivalence.h test(scheduler-sim-decision-trace): prove tracing never changes scheduling 2026-10-08 16:49:26 +00:00
test_trace_equivalence_cmp.c test(scheduler-sim-decision-trace): prove tracing never changes scheduling 2026-10-08 16:49:26 +00:00
test_trace_error_paths.c test(scheduler-sim-decision-trace): error-path trace scenarios with the real allocator 2026-10-08 16:28:17 +00:00
test_trace_hooks_alloc_loop.c feat(scheduler-sim-decision-trace): hook the allocator loop 2026-10-08 11:10:28 +00:00
test_trace_hooks_gate.c feat(scheduler-sim-decision-trace): core trace gate and SCHED_TRACE hook macro 2026-10-08 08:53:40 +00:00
test_trace_hooks_resreq.c feat(scheduler-sim-decision-trace): hook resource-requirement branching 2026-10-08 11:23:16 +00:00
test_trace_hooks_runner.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_trace_host_hooks.c feat(scheduler-sim-decision-trace): hook the host pre-filter, host scan and satisfaction check 2026-10-08 11:42:19 +00:00
test_trace_model.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_trace_render.c fix(scheduler): place a task-range job with the largest count that fits (bug-1931) 2026-10-09 08:51:44 +00:00
test_trace_store.c test(scheduler-sim-decision-trace): error-path trace scenarios with the real allocator 2026-10-08 16:28:17 +00:00