← Về thư mục
tests/test_orchestration_slurm.py
- _install_fake_scheduler · function · L60-L68 — def _install_fake_scheduler(tmp_path: Path, *, script: dict[str, str]) -> Path
- fake_cluster · function · L72-L178 — def fake_cluster(tmp_path, monkeypatch)
- _Cluster · class · L163-L176 — class _Cluster
- set · method · L166-L167 — def set(self, name: str, value: str) -> None
- get · method · L169-L173 — def get(self, name: str) -> str
- touch · method · L175-L176 — def touch(self, name: str) -> None
- _allocation · function · L181-L187 — def _allocation() -> Allocation
- _spec · function · L190-L195 — def _spec() -> WorkloadSpec
- _backend · function · L198-L199 — def _backend(**kwargs) -> SlurmBackend
- test_submit_observe_complete · function · L205-L227 — def test_submit_observe_complete(fake_cluster)
- test_reconciliation_survives_sites_that_do_not_account_job_comments · function · L230-L250 — def test_reconciliation_survives_sites_that_do_not_account_job_comments( fake_cluster, )
- test_terminal_state_mapping · function · L266-L279 — def test_terminal_state_mapping(fake_cluster, state, phase, reason)
- test_requeue_hold_states_remain_pending · function · L285-L294 — def test_requeue_hold_states_remain_pending(fake_cluster, state)
- test_cancel_is_idempotent · function · L297-L310 — def test_cancel_is_idempotent(fake_cluster)
- test_a_lost_submission_is_unknown_not_failure · function · L316-L326 — def test_a_lost_submission_is_unknown_not_failure(fake_cluster)
- test_retry_after_unknown_reconciles_instead_of_double_submitting · function · L329-L347 — def test_retry_after_unknown_reconciles_instead_of_double_submitting(fake_cluster)
- test_find_by_token_answers_from_accounting_too · function · L350-L360 — def test_find_by_token_answers_from_accounting_too(fake_cluster)
- test_unknown_token_finds_nothing · function · L363-L365 — def test_unknown_token_finds_nothing(fake_cluster)
- test_a_job_in_neither_queue_nor_accounting_is_lost · function · L371-L383 — def test_a_job_in_neither_queue_nor_accounting_is_lost(fake_cluster)
- test_an_unreachable_scheduler_is_not_a_failed_job · function · L386-L398 — def test_an_unreachable_scheduler_is_not_a_failed_job(tmp_path, monkeypatch)
- test_a_generic_scheduler_error_is_not_treated_as_absence · function · L402-L422 — def test_a_generic_scheduler_error_is_not_treated_as_absence(operation)
- refused · function · L406-L409 — def refused(command, **kwargs)
- test_the_specific_unknown_job_error_falls_back_to_accounting · function · L425-L447 — def test_the_specific_unknown_job_error_falls_back_to_accounting()
- runner · function · L428-L442 — def runner(command, **kwargs)
- test_a_failed_token_lookup_never_reaches_sbatch · function · L450-L466 — def test_a_failed_token_lookup_never_reaches_sbatch()
- refused · function · L453-L457 — def refused(command, **kwargs)
- test_a_failed_accounting_query_preserves_the_last_known_phase · function · L469-L487 — def test_a_failed_accounting_query_preserves_the_last_known_phase()
- runner · function · L470-L475 — def runner(command, **kwargs)
- test_a_refused_submission_is_rejected · function · L490-L497 — def test_a_refused_submission_is_rejected(fake_cluster)
- test_unschedulable_pending_reason_becomes_a_failure · function · L500-L517 — def test_unschedulable_pending_reason_becomes_a_failure(fake_cluster)
- test_argv_is_constructed_not_concatenated · function · L523-L548 — def test_argv_is_constructed_not_concatenated()
- test_a_step_with_no_environment_inherits_nothing · function · L551-L553 — def test_a_step_with_no_environment_inherits_nothing()
- test_a_long_step_has_no_control_plane_timeout · function · L556-L575 — def test_a_long_step_has_no_control_plane_timeout()
- runner · function · L559-L567 — def runner(command, **kwargs)
- Done · class · L562-L565 — class Done
- test_step_output_is_drained_but_retained_with_a_hard_cap · function · L578-L581 — def test_step_output_is_drained_but_retained_with_a_hard_cap(monkeypatch)
- test_a_hostile_name_is_an_argument_never_a_command · function · L584-L598 — def test_a_hostile_name_is_an_argument_never_a_command(fake_cluster)
- test_unsafe_job_name_or_comment_is_refused · function · L601-L606 — def test_unsafe_job_name_or_comment_is_refused()
- test_credential_shaped_environment_is_refused · function · L609-L630 — def test_credential_shaped_environment_is_refused()
- test_the_submitted_script_quotes_its_command · function · L633-L645 — def test_the_submitted_script_quotes_its_command(fake_cluster)
- test_a_multi_node_session_launches_one_ranked_worker_per_node · function · L648-L661 — def test_a_multi_node_session_launches_one_ranked_worker_per_node()
- test_example_config_parses_on_every_supported_python · function · L667-L677 — def test_example_config_parses_on_every_supported_python()
- test_the_python310_reader_accepts_a_comment_after_a_table_header · function · L680-L686 — def test_the_python310_reader_accepts_a_comment_after_a_table_header()
- test_profile_public_view_never_names_a_queue · function · L689-L697 — def test_profile_public_view_never_names_a_queue()
- test_malformed_config_is_refused_with_its_location · function · L700-L708 — def test_malformed_config_is_refused_with_its_location()
- test_unknown_cluster_keys_are_refused_instead_of_using_defaults · function · L720-L722 — def test_unknown_cluster_keys_are_refused_instead_of_using_defaults(text, unknown)
- test_the_python310_reader_refuses_basic_string_escapes_it_cannot_decode · function · L725-L730 — def test_the_python310_reader_refuses_basic_string_escapes_it_cannot_decode()
- test_the_python310_reader_rejects_tomllib_invalid_redefinitions · function · L743-L746 — def test_the_python310_reader_rejects_tomllib_invalid_redefinitions(text)
- test_the_python310_reader_allows_declaring_an_implicit_parent_once · function · L749-L755 — def test_the_python310_reader_allows_declaring_an_implicit_parent_once()
- test_the_python310_reader_accepts_well_formed_integer_underscores · function · L758-L762 — def test_the_python310_reader_accepts_well_formed_integer_underscores()
- test_absent_config_is_not_an_error · function · L765-L770 — def test_absent_config_is_not_an_error(tmp_path)
- test_an_unconfigured_profile_still_submits · function · L773-L783 — def test_an_unconfigured_profile_still_submits(fake_cluster)
- test_backend_diagnostics_report_availability · function · L786-L791 — def test_backend_diagnostics_report_availability(fake_cluster)
- test_broker_timeout_is_distinguishable_from_refusal · function · L794-L808 — def test_broker_timeout_is_distinguishable_from_refusal(fake_cluster)
- test_the_fake_cluster_is_really_being_used · function · L811-L822 — def test_the_fake_cluster_is_really_being_used(fake_cluster)