test_busy_clean_rejected (__main__.Cleaning.test_busy_clean_rejected) ... ok
test_clean_cost_and_repeat_rejection (__main__.Cleaning.test_clean_cost_and_repeat_rejection) ... ok
test_clean_other_machine_advances_work (__main__.Cleaning.test_clean_other_machine_advances_work) ... ok
test_clean_then_metal_exercise (__main__.Cleaning.test_clean_then_metal_exercise) ... ok
test_completed_hold_also_busy_for_clean (__main__.Cleaning.test_completed_hold_also_busy_for_clean) ... ok
test_initial_wood_and_metal_rejection (__main__.Cleaning.test_initial_wood_and_metal_rejection) ... ok
test_mismatched_fifo_head_cannot_skip (__main__.Cleaning.test_mismatched_fifo_head_cannot_skip) ... ok
test_busy_and_started_atomic (__main__.Cutting.test_busy_and_started_atomic) ... ok
test_done_not_duplicated (__main__.Cutting.test_done_not_duplicated) ... ok
test_duration_exercise (__main__.Cutting.test_duration_exercise) ... ok
test_invalid_types_and_indices (__main__.Cutting.test_invalid_types_and_indices) ... ok
test_one_tick_immediate_completion (__main__.Cutting.test_one_tick_immediate_completion) ... ok
test_start_counts_as_first_tick (__main__.Cutting.test_start_counts_as_first_tick) ... ok
test_states_are_frozen (__main__.Cutting.test_states_are_frozen) ... ok
test_wait_finishes_at_three (__main__.Cutting.test_wait_finishes_at_three) ... ok
test_all_supplied_winning_routes (__main__.Deadlines.test_all_supplied_winning_routes) ... ok
test_check_value_consistency (__main__.Deadlines.test_check_value_consistency) ... ok
test_due_equal_is_full_value (__main__.Deadlines.test_due_equal_is_full_value) ... ok
test_due_exercise_changes_goal (__main__.Deadlines.test_due_exercise_changes_goal) ... ok
test_goal_not_early_terminal (__main__.Deadlines.test_goal_not_early_terminal) ... ok
test_late_floor_and_boundary (__main__.Deadlines.test_late_floor_and_boundary) ... ok
test_terminal_all_actions_atomic (__main__.Deadlines.test_terminal_all_actions_atomic) ... ok
test_wait_and_bad_material_route_fail (__main__.Deadlines.test_wait_and_bad_material_route_fail) ... ok
test_chord_and_retained_key_block (__main__.InputAndUI.test_chord_and_retained_key_block) ... ok
test_comparison_resets_history (__main__.InputAndUI.test_comparison_resets_history) ... ok
test_draw_pure_and_text_inside_canvas (__main__.InputAndUI.test_draw_pure_and_text_inside_canvas) ... ok
test_every_demo_checkpoint (__main__.InputAndUI.test_every_demo_checkpoint) ... ok
test_hold_no_repeat_then_release (__main__.InputAndUI.test_hold_no_repeat_then_release) ... ok
test_level_change_resets_and_requires_release (__main__.InputAndUI.test_level_change_resets_and_requires_release) ... ok
test_reset_priority_in_gate_and_chord (__main__.InputAndUI.test_reset_priority_in_gate_and_chord) ... ok
test_selection_wrap_and_zero_time (__main__.InputAndUI.test_selection_wrap_and_zero_time) ... ok
test_undo_key_after_terminal (__main__.InputAndUI.test_undo_key_after_terminal) ... ok
test_unknown_and_held_only_do_nothing (__main__.InputAndUI.test_unknown_and_held_only_do_nothing) ... ok
test_diff_roundtrip_exact (__main__.Package.test_diff_roundtrip_exact) ... ok
test_full_license_headers_and_alias (__main__.Package.test_full_license_headers_and_alias) ... ok
test_snippets_are_verbatim (__main__.Package.test_snippets_are_verbatim) ... ok
test_capacity_exercise (__main__.Parallel.test_capacity_exercise) ... ok
test_cut_cannot_also_start_finish (__main__.Parallel.test_cut_cannot_also_start_finish) ... ok
test_empty_finish_no_time (__main__.Parallel.test_empty_finish_no_time) ... ok
test_fifo_head_order (__main__.Parallel.test_fifo_head_order) ... ok
test_finish_busy_is_atomic (__main__.Parallel.test_finish_busy_is_atomic) ... ok
test_finish_frees_slot_before_cut_transfer (__main__.Parallel.test_finish_frees_slot_before_cut_transfer) ... ok
test_full_rail_holds_completed_work (__main__.Parallel.test_full_rail_holds_completed_work) ... ok
test_ownership_all_reachable_short_states (__main__.Parallel.test_ownership_all_reachable_short_states) ... ok
test_ownership_check_rejects_duplicate (__main__.Parallel.test_ownership_check_rejects_duplicate) ... ok
test_parallel_countdown_same_tick (__main__.Parallel.test_parallel_countdown_same_tick) ... ok
test_unlimited_early_stages (__main__.Parallel.test_unlimited_early_stages) ... ok
test_every_reference_state_draw_is_pure_and_bounded (__main__.Reference.test_every_reference_state_draw_is_pure_and_bounded) ... ok
test_live_canonical (__main__.Reference.test_live_canonical) ... skipped 'Optional canonical model path is not present'
test_stage04_normal_reference (__main__.Reference.test_stage04_normal_reference) ... ok
test_stage05_normal_and_free_reference (__main__.Reference.test_stage05_normal_and_free_reference) ... ok
test_terminal_traces (__main__.Reference.test_terminal_traces) ... ok
test_branch_after_undo (__main__.Undo.test_branch_after_undo) ... ok
test_empty_undo_and_invalid_do_not_append (__main__.Undo.test_empty_undo_and_invalid_do_not_append) ... ok
test_free_setup_keeps_processing_times (__main__.Undo.test_free_setup_keeps_processing_times) ... ok
test_preview_pure_and_equal_apply (__main__.Undo.test_preview_pure_and_equal_apply) ... ok
test_undo_every_field_through_all_routes (__main__.Undo.test_undo_every_field_through_all_routes) ... ok
test_undo_exercise_terminal_to_running (__main__.Undo.test_undo_exercise_terminal_to_running) ... ok
test_undo_restores_cleaned_material_and_count (__main__.Undo.test_undo_restores_cleaned_material_and_count) ... ok
test_undo_restores_full_rail_hold_and_finish (__main__.Undo.test_undo_restores_full_rail_hold_and_finish) ... ok
test_undo_terminal_rejection_not_recorded (__main__.Undo.test_undo_terminal_rejection_not_recorded) ... ok

----------------------------------------------------------------------
Ran 61 tests in 0.769s

OK (skipped=1)
