test_flag_does_not_start_training_or_apply_to_preview_export (tests.test_recovery_api.RecoveryLaunchTests.test_flag_does_not_start_training_or_apply_to_preview_export) ... ok
test_invalid_flags_never_enqueue_a_viewer (tests.test_recovery_api.RecoveryLaunchTests.test_invalid_flags_never_enqueue_a_viewer) ... ok
test_normal_play_remains_normal_and_training_has_no_eval_flag (tests.test_recovery_api.RecoveryLaunchTests.test_normal_play_remains_normal_and_training_has_no_eval_flag) ... ok
test_onnx_check_uses_export_bound_source_and_sha (tests.test_recovery_api.RecoveryLaunchTests.test_onnx_check_uses_export_bound_source_and_sha) ... ok
test_pt_check_binds_source_task_and_mapping_and_disables_pushes (tests.test_recovery_api.RecoveryLaunchTests.test_pt_check_binds_source_task_and_mapping_and_disables_pushes) ... ok
test_walking_model_cannot_enter_check_by_spoofing_task (tests.test_recovery_api.RecoveryLaunchTests.test_walking_model_cannot_enter_check_by_spoofing_task) ... ok
test_all_dependent_terms_removed (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_all_dependent_terms_removed) ... ok
test_all_four_evaluation_operations_clean_dependencies (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_all_four_evaluation_operations_clean_dependencies) ... ok
test_already_absent_event_not_restored_when_push_flag_true (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_already_absent_event_not_restored_when_push_flag_true) ... ok
test_idempotent_and_keeps_disabled_placeholders (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_idempotent_and_keeps_disabled_placeholders) ... ok
test_matches_dependency_not_curriculum_key (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_matches_dependency_not_curriculum_key) ... ok
test_none_event_is_inactive (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_none_event_is_inactive) ... ok
test_onnx_path_cleans_before_environment_construction (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_onnx_path_cleans_before_environment_construction) ... ok
test_other_configuration_errors_are_not_hidden (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_other_configuration_errors_are_not_hidden) ... ok
test_push_enabled_keeps_event_and_curricula (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_push_enabled_keeps_event_and_curricula) ... ok
test_real_bundled_baseline_dependency_tables (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_real_bundled_baseline_dependency_tables) ... ok
test_reproduces_original_crash_then_cleans_orphan (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_reproduces_original_crash_then_cleans_orphan) ... ok
test_saved_policy_pushes_off_is_reconciled_even_with_eval_pushes_true (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_saved_policy_pushes_off_is_reconciled_even_with_eval_pushes_true) ... ok
test_training_preflight_describe_requests_do_nothing (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_training_preflight_describe_requests_do_nothing) ... ok
test_turn_off_removes_event_and_dependent_term (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_turn_off_removes_event_and_dependent_term) ... ok
test_unrelated_events_rewards_and_curricula_unchanged (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_unrelated_events_rewards_and_curricula_unchanged) ... ok
test_v2_cleans_both_push_dependencies (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_v2_cleans_both_push_dependencies) ... ok
test_v2_push_enabled_retains_both_events_and_courses (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_v2_push_enabled_retains_both_events_and_courses) ... ok
test_wrapper_cleanup_runs_after_recipe_overrides (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_wrapper_cleanup_runs_after_recipe_overrides) ... ok
test_wrapper_forwards_play_mode_and_keeps_registry_snapshot (tests.test_eval_push_dependencies.EvaluationDependencyTests.test_wrapper_forwards_play_mode_and_keeps_registry_snapshot) ... ok
test_height_and_tilt_must_hold_together_for_a_full_second (tests.test_recovery_evaluation.RecoveryResultsTests.test_height_and_tilt_must_hold_together_for_a_full_second) ... ok
test_mixed_observation_and_cancelled_trials_do_not_inflate_success (tests.test_recovery_evaluation.RecoveryResultsTests.test_mixed_observation_and_cancelled_trials_do_not_inflate_success) ... ok
test_reset_pose_cannot_create_success (tests.test_recovery_evaluation.RecoveryResultsTests.test_reset_pose_cannot_create_success) ... ok
test_kill_hung_viewer_also_kills_detached_child_only (tests.test_viewer_lifecycle.RealIsolationTests.test_kill_hung_viewer_also_kills_detached_child_only) ... ok
test_manager_watchdog_stops_unresponsive_viewer_without_blocking_state (tests.test_viewer_lifecycle.RealIsolationTests.test_manager_watchdog_stops_unresponsive_viewer_without_blocking_state) ... ok
test_viewer_connection_loss_leaves_training_connection_alive (tests.test_viewer_lifecycle.RealIsolationTests.test_viewer_connection_loss_leaves_training_connection_alive) ... ok
test_cancel_pending_switch_does_not_start_or_stop_training (tests.test_viewer_lifecycle.ReplacementTests.test_cancel_pending_switch_does_not_start_or_stop_training) ... ok
test_late_command_cannot_resurrect_stopping_viewer (tests.test_viewer_lifecycle.ReplacementTests.test_late_command_cannot_resurrect_stopping_viewer) ... ok
test_live_training_keeps_curves_when_old_model_selected (tests.test_viewer_lifecycle.ReplacementTests.test_live_training_keeps_curves_when_old_model_selected) ... ok
test_replacement_waits_for_exit_not_terminal_event (tests.test_viewer_lifecycle.ReplacementTests.test_replacement_waits_for_exit_not_terminal_event) ... ok
test_valid_replacement_only_stops_viewer_and_invalid_preserves_it (tests.test_viewer_lifecycle.ReplacementTests.test_valid_replacement_only_stops_viewer_and_invalid_preserves_it) ... ok
test_missing_real_field_is_reported_before_training (tests.test_training_api.TrainingApiTests.test_missing_real_field_is_reported_before_training) ... ok
test_official_entry_receives_environment_count_iterations_and_resume (tests.test_training_api.TrainingApiTests.test_official_entry_receives_environment_count_iterations_and_resume) ... ok
test_preflight_uses_same_configuration_without_starting_training (tests.test_training_api.TrainingApiTests.test_preflight_uses_same_configuration_without_starting_training) ... ok
test_launch_uses_adapter_without_cli_help_and_retains_logs_and_failures (tests.test_training_api.TrainingTransportTests.test_launch_uses_adapter_without_cli_help_and_retains_logs_and_failures) ... ok
test_close_and_disconnect_only_close_local_tunnels (tests.test_remote_training.RemoteTests.test_close_and_disconnect_only_close_local_tunnels) ... ok
test_deploy_starts_remote_environment_preparation (tests.test_remote_training.RemoteTests.test_deploy_starts_remote_environment_preparation) ... ok
test_failed_connection_stays_remote_and_retains_local_configuration (tests.test_remote_training.RemoteTests.test_failed_connection_stays_remote_and_retains_local_configuration) ... ok
test_input_validation_and_safe_ssh_arguments (tests.test_remote_training.RemoteTests.test_input_validation_and_safe_ssh_arguments) ... ok
test_legacy_export_envelope_reads_saved_parameters_and_actual_p (tests.test_remote_training.RemoteTests.test_legacy_export_envelope_reads_saved_parameters_and_actual_p) ... ok
test_model_mismatches_and_size_are_rejected (tests.test_remote_training.RemoteTests.test_model_mismatches_and_size_are_rejected) ... ok
test_model_transport_keeps_physical_contract_and_iteration (tests.test_remote_training.RemoteTests.test_model_transport_keeps_physical_contract_and_iteration) ... ok
test_restart_preserves_target_without_starting_or_falling_back (tests.test_remote_training.RemoteTests.test_restart_preserves_target_without_starting_or_falling_back) ... ok
test_server_proxy_keeps_browser_token_local_and_remote_payload_exact (tests.test_remote_training.RemoteTests.test_server_proxy_keeps_browser_token_local_and_remote_payload_exact) ... ok
test_viewers_get_separate_loopback_tunnels (tests.test_remote_training.RemoteTests.test_viewers_get_separate_loopback_tunnels) ... ok
test_wsl_deploy_only_inspects_existing_engine (tests.test_remote_training.RemoteTests.test_wsl_deploy_only_inspects_existing_engine) ... ok
test_attach_missing_job_never_creates_training (tests.test_durable_training.DurableTrainingTests.test_attach_missing_job_never_creates_training) ... ok
test_close_reopen_reconnect_and_explicit_stop_without_duplicate_training (tests.test_durable_training.DurableTrainingTests.test_close_reopen_reconnect_and_explicit_stop_without_duplicate_training) ... skipped 'PID namespace and /proc do not match; real Linux process ownership unavailable'
test_hard_killed_desktop_process_can_be_reopened (tests.test_durable_training.DurableTrainingTests.test_hard_killed_desktop_process_can_be_reopened) ... skipped 'PID namespace and /proc do not match; real Linux process ownership unavailable'
test_monitor_process_tree_kill_leaves_training_owner_alive (tests.test_durable_training.DurableTrainingTests.test_monitor_process_tree_kill_leaves_training_owner_alive) ... skipped 'PID namespace and /proc do not match; real Linux process ownership unavailable'
test_replayed_metrics_replace_existing_iteration (tests.test_durable_training.DurableTrainingTests.test_replayed_metrics_replace_existing_iteration) ... ok
test_worker_stdin_eof_is_not_stop_in_durable_mode (tests.test_durable_training.DurableTrainingTests.test_worker_stdin_eof_is_not_stop_in_durable_mode) ... ok

----------------------------------------------------------------------
Ran 57 tests in 8.505s

OK (skipped=3)
