myxce/src/scheduler/testsuite
Rongsong Shen 2cd02cdc8c
fix(scheduler): give unavailable and reconciling hosts no new jobs (bug-1963)
Cause: sched_host_iter_next(), the one candidate-host source of the
seqjob and parjob allocators on both drivers, skipped only admin-closed
hosts (bug-1939). A host marked XCE_WORKER_UNAVAIL or
XCE_WORKER_RECONCILING was still offered, and its frozen resInUse
(bug-1799/1801) does not reject it, so new jobs were placed on it.

Fix: skip IS_WORKER_UNAVAIL/IS_WORKER_RECONCILING hosts next to the
closed-host check. test_host_unavail_reconciling.c covers serial and
parallel jobs on the normal-mode and sim-mode fixtures.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-10 10:41:39 +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 fix(scheduler): give unavailable and reconciling hosts no new jobs (bug-1963) 2026-10-10 10:41:39 +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 fix(scheduler): a re-applied config updates queues in place and frees the config it replaces (bug-1886) 2026-09-29 10:03:04 +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 refactor(scheduler-sim-decision-trace): split trace sources under the 800-line cap 2026-10-08 10:16:46 +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_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 fix(scheduler): mid-round rejoin config push truncated live rounds (bug-1846 part 2) 2026-09-24 06:30:34 +00:00
test_host_admin_close.c fix(scheduler): exclude admin-closed hosts from new placements (bug-1939) 2026-10-10 08:37:11 +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 fix(scheduler): give unavailable and reconciling hosts no new jobs (bug-1963) 2026-10-10 10:41:39 +00:00
test_job_array_expand.c feat(job-array-one-based-index): guard scheduler array expansion (task 3.1) 2026-10-01 10:24:42 +00:00
test_job_array_wire_e2e.c feat(job-array-one-based-index): guard scheduler array expansion (task 3.1) 2026-10-01 10:24:42 +00:00
test_job_move_priority.c fix(scheduler): keep a moved job's own priority (bug-1944) 2026-10-10 08:37:11 +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 fix(scheduler): record config pushes, free hlimits lists, quiet benign picker WARN (bug-1847/1848/1849) 2026-09-24 07:00:07 +00:00
test_limit_plugin.c fix(scheduler): resolve limit host and project scopes against their own groups (bug-1933) 2026-10-10 03:42:59 +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 fix(scheduler): sim_print_decision() bypassed tlog, producing inconsistent PEND/DISPATCH/PREEMPT output 2026-08-20 03:02:48 +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 feat(scheduler-sim-live-allocation): extract shared picker/allocator into sched_election.c (task 3.1) 2026-09-19 02:50:38 +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 feat(scheduler-core): define job picker plugin contract (task 1.1) 2026-08-03 04:49:55 +00:00
test_picker_pendreason_factory_audit.c feat(scheduler-allocator-runner): runner guards and shared-resource precheck (task 3.1) 2026-09-30 08:58:07 +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 fix(scheduler): hold jobs of inactive queues at dispatch (bug-1938) 2026-10-10 08:37:11 +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_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 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_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 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_output_compression.c feat(scheduler-sim-repl-verbosity): task 1.1 - RED-phase tests for job identifier range compression 2026-09-02 07:31:31 +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 feat(scheduler-sim-decision-trace): move units and value formatting helpers into repl_fmt.c 2026-10-08 07:30:42 +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 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_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 fix(scheduler): never elect a job without a schedobj (bug-1897) 2026-10-01 03:45:51 +00:00
test_sched_election_sim_fixture.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_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 feat(component-failover-adoption): validate scheduler backpressure, fix candidate-name diagnostics 2026-08-11 14:00:02 +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 feat(scheduler-sim-live-allocation): make allocation dispatch and decision commit core-safe (task 2.2) 2026-09-18 14:53:59 +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 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_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 fix(scheduler): cache hits keep the full pend reason; sim uses the cache (bug-1932) 2026-10-09 08:02:18 +00:00
test_sim_contention_limit_driver_parity.c test(scheduler-sim-live-allocation): prove contention parity across drivers (task 5.1) 2026-09-19 08:24:35 +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-sim-live-allocation): prove contention parity across drivers (task 5.1) 2026-09-19 08:24:35 +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 feat(scheduler-sim-discrete-clock): remove the simulator speed argument and shadow copy (task 3.1) 2026-09-29 05:19:34 +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 fix(scheduler): load user/host groups in the simulator too (bug-1943) 2026-10-10 08:37:11 +00:00
test_sim_isolation.c test(scheduler-sim-decision-trace): close validation coverage gaps; sync design.md 2026-10-08 17:33:26 +00:00
test_sim_live_allocation.c feat(libxce-alloc-preason-equality): replay reproduces the reservation start time (task 5.3) 2026-09-29 06:48:38 +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 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_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 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_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 fix(scheduler): load shared resource values from the snapshot (bug-1923) 2026-10-08 08:10:00 +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