[INFO] fetching crate oximedia-subtitle 0.1.2... [INFO] testing oximedia-subtitle-0.1.2 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate oximedia-subtitle 0.1.2 into /workspace/builds/worker-4-tc1/source [INFO] started tweaking crates.io crate oximedia-subtitle 0.1.2 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate oximedia-subtitle 0.1.2 [INFO] tweaked toml for crates.io crate oximedia-subtitle 0.1.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-subtitle 0.1.2 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-subtitle 0.1.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fontdue v0.9.3 [INFO] [stderr] Downloaded ttf-parser v0.21.1 [INFO] [stderr] Downloaded oximedia-core v0.1.2 [INFO] [stderr] Downloaded oximedia-codec v0.1.2 [INFO] [stderr] Downloaded oximedia-io v0.1.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7d8308f7ce14bb08f6a07fddb2652503d219c94b7d0df57c33368eb2cb92afff [INFO] running `Command { std: "docker" "start" "-a" "7d8308f7ce14bb08f6a07fddb2652503d219c94b7d0df57c33368eb2cb92afff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d8308f7ce14bb08f6a07fddb2652503d219c94b7d0df57c33368eb2cb92afff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d8308f7ce14bb08f6a07fddb2652503d219c94b7d0df57c33368eb2cb92afff", kill_on_drop: false }` [INFO] [stdout] 7d8308f7ce14bb08f6a07fddb2652503d219c94b7d0df57c33368eb2cb92afff [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b33fd8c7955831431b196862559b784098a417f77568bff602fbac7bcc09b843 [INFO] running `Command { std: "docker" "start" "-a" "b33fd8c7955831431b196862559b784098a417f77568bff602fbac7bcc09b843", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling ab_glyph_rasterizer v0.1.10 [INFO] [stderr] Compiling ttf-parser v0.21.1 [INFO] [stderr] Compiling nom v8.0.0 [INFO] [stderr] Compiling quick-xml v0.39.2 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling fontdue v0.9.3 [INFO] [stderr] Compiling owned_ttf_parser v0.25.1 [INFO] [stderr] Compiling ab_glyph v0.2.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.2 [INFO] [stderr] Compiling oximedia-io v0.1.2 [INFO] [stderr] Compiling oximedia-codec v0.1.2 [INFO] [stderr] Compiling oximedia-subtitle v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.18s [INFO] running `Command { std: "docker" "inspect" "b33fd8c7955831431b196862559b784098a417f77568bff602fbac7bcc09b843", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b33fd8c7955831431b196862559b784098a417f77568bff602fbac7bcc09b843", kill_on_drop: false }` [INFO] [stdout] b33fd8c7955831431b196862559b784098a417f77568bff602fbac7bcc09b843 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 84e74e87fe0dfc396603c1b66808c05f9d87c5dfe4831c80022ade295aed9136 [INFO] running `Command { std: "docker" "start" "-a" "84e74e87fe0dfc396603c1b66808c05f9d87c5dfe4831c80022ade295aed9136", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-subtitle v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.16s [INFO] running `Command { std: "docker" "inspect" "84e74e87fe0dfc396603c1b66808c05f9d87c5dfe4831c80022ade295aed9136", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "84e74e87fe0dfc396603c1b66808c05f9d87c5dfe4831c80022ade295aed9136", kill_on_drop: false }` [INFO] [stdout] 84e74e87fe0dfc396603c1b66808c05f9d87c5dfe4831c80022ade295aed9136 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6eb09fa79923ceea084b690e043cfaf6e02be33b6edff89a358bbf89dbdaefa9 [INFO] running `Command { std: "docker" "start" "-a" "6eb09fa79923ceea084b690e043cfaf6e02be33b6edff89a358bbf89dbdaefa9", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_subtitle-6ffd9ace1838d90f) [INFO] [stdout] [INFO] [stdout] running 726 tests [INFO] [stdout] test accessibility::tests::test_accessibility_profile_description_not_empty ... ok [INFO] [stdout] test accessibility::tests::test_sdh_formatter_alarm_with_desc ... ok [INFO] [stdout] test accessibility::tests::test_sdh_event_construction ... ok [INFO] [stdout] test accessibility::tests::test_sdh_formatter_applause ... ok [INFO] [stdout] test accessibility::tests::test_sdh_formatter_laughter_with_speaker ... ok [INFO] [stdout] test accessibility::tests::test_reading_speed_check_too_fast ... ok [INFO] [stdout] test accessibility::tests::test_reading_speed_check_slow ... ok [INFO] [stdout] test accessibility::tests::test_sdh_formatter_music_no_desc ... ok [INFO] [stdout] test accessibility::tests::test_reading_speed_recommended_duration ... ok [INFO] [stdout] test accessibility::tests::test_sound_description_confidence_clamped ... ok [INFO] [stdout] test accessibility::tests::test_sdh_formatter_music_with_desc ... ok [INFO] [stdout] test accessibility::tests::test_sound_type_labels ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_bitmap_font_glyph_correct_length ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_bitmap_font_glyph_size ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_bitmap_font_has_ascii_digits ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_get_active_no_match ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_get_active_returns_matching_entries ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_bitmap_font_has_uppercase ... ok [INFO] [stdout] test burn_in::tests::test_alignment_is_top ... ok [INFO] [stdout] test burn_in::tests::test_broadcast_config_font_size ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_burn_in_new ... ok [INFO] [stdout] test burn_in::tests::test_burn_in_color_to_yuv ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_bitmap_font_has_lowercase ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_render_text_dimensions ... ok [INFO] [stdout] test burn_in::tests::test_burn_in_color_white ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_burn_frame_modifies_pixels ... ok [INFO] [stdout] test burn_in::tests::test_render_to_rgba_basic ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_render_text_empty_string ... ok [INFO] [stdout] test burn_in::tests::test_alignment_is_left ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_render_text_scale_zero_returns_empty ... ok [INFO] [stdout] test burn_in::tests::test_burn_in_job_estimated_broadcast ... ok [INFO] [stdout] test burn_in::tests::test_burn_in_job_estimated_web ... ok [INFO] [stdout] test burn_in::tests::test_burn_in_job_fields ... ok [INFO] [stdout] test burn_in::tests::test_compute_position_bottom_center ... ok [INFO] [stdout] test burn_in::tests::test_render_to_rgba_buffer_too_small ... ok [INFO] [stdout] test cea708::tests::test_backspace_removes_last_char ... ok [INFO] [stdout] test cea708::tests::test_carriage_return_appends_newline ... ok [INFO] [stdout] test burn_in::tests::test_validate_safe_area_inside ... ok [INFO] [stdout] test burn_in::tests::test_render_to_yuv420p_basic ... ok [INFO] [stdout] test burn_in::tests::test_web_config_no_background ... ok [INFO] [stdout] test burn_in::tests::test_validate_safe_area_outside_left ... ok [INFO] [stdout] test burn_in::tests::test_validate_safe_area_outside_right ... ok [INFO] [stdout] test burn_in::tests::test_compute_position_top_left ... ok [INFO] [stdout] test burn_in::tests::test_glyph_render_char_dimensions ... ok [INFO] [stdout] test burn_in::tests::test_render_text_bitmap_space ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_burn_frame_no_active_entries_noop ... ok [INFO] [stdout] test burn_in::tests::test_render_text_bitmap_not_empty ... ok [INFO] [stdout] test cea708::tests::test_delete_windows_clears_text_and_visibility ... ok [INFO] [stdout] test cea708::tests::test_display_windows_makes_window_visible ... ok [INFO] [stdout] test cea708::tests::test_form_feed_clears_current_window ... ok [INFO] [stdout] test cea708::tests::test_hide_windows_makes_invisible ... ok [INFO] [stdout] test cea708::tests::test_mixed_control_and_text ... ok [INFO] [stdout] test cea708::tests::test_new_decoder_all_windows_empty_text ... ok [INFO] [stdout] test cea708::tests::test_new_decoder_all_windows_invisible ... ok [INFO] [stdout] test cea708::tests::test_new_decoder_has_eight_windows ... ok [INFO] [stdout] test cea708::tests::test_clear_windows_by_bitmask ... ok [INFO] [stdout] test cea708::tests::test_decode_empty_packet_returns_eight_windows ... ok [INFO] [stdout] test burn_in::tests::test_compute_position_bottom_right ... ok [INFO] [stdout] test cea708::tests::test_decode_printable_text_appends_to_current_window ... ok [INFO] [stdout] test cea708::tests::test_sequence_number_stored ... ok [INFO] [stdout] test cea708::tests::test_set_current_window_switches_active ... ok [INFO] [stdout] test cea708::tests::test_text_accumulates_across_multiple_decodes ... ok [INFO] [stdout] test cea708::tests::test_window_id_bounds ... ok [INFO] [stdout] test cea::embed::tests::test_frame_rate_conversion ... ok [INFO] [stdout] test cea::embed::tests::test_parity_check ... ok [INFO] [stdout] test cea708::tests::test_set_pen_location ... ok [INFO] [stdout] test cea::encoder::tests::test_cea708_service_block ... ok [INFO] [stdout] test cea::embed::tests::test_line21_encoding ... ok [INFO] [stdout] test cea::encoder::tests::test_cea608_basic_text ... ok [INFO] [stdout] test cea::encoder::tests::test_parity_calculation ... ok [INFO] [stdout] test cue_parser::tests::test_cue_document_valid_entries ... ok [INFO] [stdout] test cea::embed::tests::test_timecode_calculation ... ok [INFO] [stdout] test cue_parser::tests::test_cue_entry_duration_ms ... ok [INFO] [stdout] test cea::embed::tests::test_sei_builder ... ok [INFO] [stdout] test convert::tests::test_color_mapping ... ok [INFO] [stdout] test cue_parser::tests::test_cue_entry_is_valid_empty_text ... ok [INFO] [stdout] test cue_parser::tests::test_cue_document_duration_ms ... ok [INFO] [stdout] test cue_parser::tests::test_cue_entry_is_valid_inverted_times ... ok [INFO] [stdout] test cue_parser::tests::test_cue_entry_is_valid_ok ... ok [INFO] [stdout] test cue_parser::tests::test_cue_parser_multiple_entries ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_parse_invalid ... ok [INFO] [stdout] test cue_parser::tests::test_cue_parser_parse_webvtt_block ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_parse_comma_separator ... ok [INFO] [stdout] test cea::encoder::tests::test_framerate_codes ... ok [INFO] [stdout] test convert::tests::test_position_mapping ... ok [INFO] [stdout] test convert::tests::test_split_lines ... ok [INFO] [stdout] test convert::tests::test_strip_html_tags ... ok [INFO] [stdout] test convert::tests::test_timing_adjuster ... ok [INFO] [stdout] test cue_parser::tests::test_cue_document_active_at ... ok [INFO] [stdout] test burn_in::tests::test_render_to_rgba_with_background ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_parse_three_part ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_parse_two_part ... ok [INFO] [stdout] test convert::tests::test_format_converter ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_total_ms_hours ... ok [INFO] [stdout] test cue_parser::tests::test_cue_timestamp_total_ms_simple ... ok [INFO] [stdout] test cue_point::tests::test_by_type_chapter ... ok [INFO] [stdout] test cue_point::tests::test_by_type_no_match ... ok [INFO] [stdout] test cue_point::tests::test_cue_point_in_range ... ok [INFO] [stdout] test cue_point::tests::test_cue_type_label_custom ... ok [INFO] [stdout] test cue_point::tests::test_cue_type_label_standard ... ok [INFO] [stdout] test cue_point::tests::test_empty_list ... ok [INFO] [stdout] test cue_point::tests::test_in_range_basic ... ok [INFO] [stdout] test cue_point::tests::test_in_range_empty ... ok [INFO] [stdout] test cue_point::tests::test_in_range_exclusive_end ... ok [INFO] [stdout] test cue_point::tests::test_latest_at ... ok [INFO] [stdout] test cue_point::tests::test_latest_at_none ... ok [INFO] [stdout] test cue_point::tests::test_list_is_sorted ... ok [INFO] [stdout] test cue_point::tests::test_list_len ... ok [INFO] [stdout] test cue_point::tests::test_remove_type ... ok [INFO] [stdout] test cue_point::tests::test_with_duration ... ok [INFO] [stdout] test cue_timing::tests::test_average_duration ... ok [INFO] [stdout] test cue_timing::tests::test_average_duration_empty ... ok [INFO] [stdout] test cue_timing::tests::test_convert_frame_rate ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_clamp ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_contains ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_duration ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_gap_to ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_is_valid ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_no_overlap ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_overlaps ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_scale ... ok [INFO] [stdout] test cue_timing::tests::test_cue_span_shift ... ok [INFO] [stdout] test cue_timing::tests::test_enforce_minimum_gap ... ok [INFO] [stdout] test cue_timing::tests::test_find_overlaps ... ok [INFO] [stdout] test cue_timing::tests::test_minimum_gap_single ... ok [INFO] [stdout] test cue_timing::tests::test_shift_all ... ok [INFO] [stdout] test cue_timing::tests::test_snap_to_frame_24fps ... ok [INFO] [stdout] test cue_timing::tests::test_subtitle_density ... ok [INFO] [stdout] test cue_timing::tests::test_subtitle_density_zero_duration ... ok [INFO] [stdout] test cue_timing::tests::test_minimum_gap ... ok [INFO] [stdout] test cue_timing::tests::test_total_display_time ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_arabic ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_arabic_extended ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_arabic_presentation ... ok [INFO] [stdout] test font::font_chain_tests::test_chained_font_specific_covers ... ok [INFO] [stdout] test cue_timing::tests::test_snap_to_frame_zero_fps ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_cjk_extension ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_cjk_hangul ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_cjk_hiragana ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_cjk_main_block ... ok [INFO] [stdout] test forced_subtitle::tests::test_custom_config ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_other ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_classification_enum ... ok [INFO] [stdout] test forced_subtitle::tests::test_extract_forced ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_devanagari ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_katakana ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_detection_bracketed ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_latin_extended ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_detection_empty_track ... ok [INFO] [stdout] test font::font_chain_tests::test_script_of_latin ... ok [INFO] [stdout] test font::font_chain_tests::test_chained_font_universal_covers_all ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_detection_non_latin ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_report_fraction_empty ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_report_fraction ... ok [INFO] [stdout] test forced_subtitle::tests::test_is_bracketed_none ... ok [INFO] [stdout] test forced_subtitle::tests::test_is_bracketed_music ... ok [INFO] [stdout] test forced_subtitle::tests::test_is_bracketed_parens ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_italic_signal ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_detection_normal_dialogue ... ok [INFO] [stdout] test burn_in::bitmap_tests::test_burn_frame_with_background_box ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_detector_default_trait ... ok [INFO] [stdout] test forced_subtitle::tests::test_flag_forced ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_config_default ... ok [INFO] [stdout] test forced_subtitle::tests::test_is_bracketed_short ... ok [INFO] [stdout] test forced_subtitle::tests::test_forced_signal_enum ... ok [INFO] [stdout] test forced_subtitle::tests::test_is_bracketed_square ... ok [INFO] [stdout] test forced_subtitle::tests::test_non_latin_ratio_empty ... ok [INFO] [stdout] test forced_subtitle::tests::test_non_latin_ratio_latin ... ok [INFO] [stdout] test format_convert::tests::test_entry_duration_ms ... ok [INFO] [stdout] test format_convert::tests::test_entry_duration_saturating ... ok [INFO] [stdout] test forced_subtitle::tests::test_full_translation_detection ... ok [INFO] [stdout] test format_convert::tests::test_entry_line_count_empty ... ok [INFO] [stdout] test format_convert::tests::test_entry_line_count_multi ... ok [INFO] [stdout] test format_convert::tests::test_entry_line_count_single ... ok [INFO] [stdout] test format_convert::tests::test_format_ms_to_srt_complex ... ok [INFO] [stdout] test format_convert::tests::test_format_ms_to_srt_one_hour ... ok [INFO] [stdout] test format_convert::tests::test_format_ms_to_srt_zero ... ok [INFO] [stdout] test format_convert::tests::test_format_ms_to_vtt_complex ... ok [INFO] [stdout] test format_convert::tests::test_format_ms_to_vtt_zero ... ok [INFO] [stdout] test format_convert::tests::test_srt_parser_invalid_sequence ... ok [INFO] [stdout] test format_convert::tests::test_srt_parser_roundtrip ... ok [INFO] [stdout] test format_convert::tests::test_srt_parser_multi_entry ... ok [INFO] [stdout] test format_convert::tests::test_srt_serializer_basic ... ok [INFO] [stdout] test format_convert::tests::test_srt_serializer_empty ... ok [INFO] [stdout] test format_converter::tests::test_format_supports_styling ... ok [INFO] [stdout] test format_converter::tests::test_convert_srt_to_vtt ... ok [INFO] [stdout] test format_converter::tests::test_merge_sorted_by_start_time ... ok [INFO] [stdout] test format_convert::tests::test_vtt_serializer_empty ... ok [INFO] [stdout] test format_converter::tests::test_merge_two_documents ... ok [INFO] [stdout] test format_convert::tests::test_vtt_serializer_header ... ok [INFO] [stdout] test format_convert::tests::test_vtt_serializer_timing_format ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parse_one_scc_unsupported ... ok [INFO] [stdout] test format_converter::tests::test_parse_ass_basic ... ok [INFO] [stdout] test format_converter::tests::test_parse_srt_index ... ok [INFO] [stdout] test format_converter::tests::test_parse_lrc_metadata ... ok [INFO] [stdout] test format_converter::tests::test_parse_srt_italic_tag ... ok [INFO] [stdout] test format_converter::tests::test_parse_vtt_missing_header ... ok [INFO] [stdout] test format_converter::tests::test_parse_ass_styles ... ok [INFO] [stdout] test format_converter::tests::test_parse_vtt_timing ... ok [INFO] [stdout] test format_converter::tests::test_parse_srt_basic ... ok [INFO] [stdout] test format_converter::tests::test_scale_timing ... ok [INFO] [stdout] test format_converter::tests::test_parse_sbv_basic ... ok [INFO] [stdout] test format_converter::tests::test_parse_lrc_basic ... ok [INFO] [stdout] test format_converter::tests::test_shift_timing ... ok [INFO] [stdout] test format_converter::tests::test_parse_vtt_basic ... ok [INFO] [stdout] test format_converter::tests::test_to_sbv_format ... ok [INFO] [stdout] test format_converter::tests::test_shift_timing_negative_clamps ... ok [INFO] [stdout] test line_break::tests::test_default_config_max_chars ... ok [INFO] [stdout] test format_converter::tests::test_to_ass_has_sections ... ok [INFO] [stdout] test format_converter::tests::test_to_ttml_valid_xml ... ok [INFO] [stdout] test format_converter::tests::test_to_srt_roundtrip ... ok [INFO] [stdout] test line_break::tests::test_fits_within_false ... ok [INFO] [stdout] test line_break::tests::test_max_line_length_empty ... ok [INFO] [stdout] test line_break::tests::test_fits_within_true ... ok [INFO] [stdout] test line_break::tests::test_wrap_empty_string ... ok [INFO] [stdout] test line_break::tests::test_wrap_and_join_uses_separator ... ok [INFO] [stdout] test line_break::tests::test_wrap_oversized_word_with_hyphenation ... ok [INFO] [stdout] test line_break::tests::test_max_line_length_multiline ... ok [INFO] [stdout] test line_break::tests::test_split_with_hyphen_exact_multiple ... ok [INFO] [stdout] test format_converter::tests::test_to_vtt_has_header ... ok [INFO] [stdout] test line_break::tests::test_wrap_oversized_word_no_hyphenation ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_error_propagation ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_vtt ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_srt ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_empty ... ok [INFO] [stdout] test line_break::tests::test_wrap_single_word_no_hyphenation ... ok [INFO] [stdout] test line_break::tests::test_wrap_splits_long_line ... ok [INFO] [stdout] test overlap_detect::tests::test_detectable_cue_overlap_type_full ... ok [INFO] [stdout] test overlap_detect::tests::test_detectable_cue_no_overlap ... ok [INFO] [stdout] test overlap_detect::tests::test_detectable_cue_overlap_type_partial ... ok [INFO] [stdout] test overlap_detect::tests::test_detectable_cue_overlaps_with ... ok [INFO] [stdout] test overlap_detect::tests::test_detector_finds_full_overlap ... ok [INFO] [stdout] test overlap_detect::tests::test_detector_finds_partial_overlap ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_owned ... ok [INFO] [stdout] test overlap_detect::tests::test_overlap_type_label ... ok [INFO] [stdout] test overlap_detect::tests::test_detector_no_overlaps_sequential ... ok [INFO] [stdout] test overlap_detect::tests::test_overlap_type_severity ... ok [INFO] [stdout] test line_break::tests::test_wrap_max_lines_truncation ... ok [INFO] [stdout] test line_break::tests::test_wrap_short_text_unchanged ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_mixed_formats ... ok [INFO] [stdout] test format_converter::parallel_tests::test_parallel_batch_order_preserved ... ok [INFO] [stdout] test overlap_detect::tests::test_detectable_cue_overlap_window ... ok [INFO] [stdout] test overlap_detect::tests::test_report_has_full_overlaps ... ok [INFO] [stdout] test overlap_detect::tests::test_report_is_clean_when_no_overlaps ... ok [INFO] [stdout] test overlap_detect::tests::test_subtitle_overlap_duration_ms ... ok [INFO] [stdout] test overlap_detect::tests::test_report_overlaps_for_cue ... ok [INFO] [stdout] test overlap_detect::tests::test_subtitle_overlap_is_full ... ok [INFO] [stdout] test parser::cea708_decoder::tests::test_decoder_creation ... ok [INFO] [stdout] test parser::cea708_decoder::tests::test_window_definition ... ok [INFO] [stdout] test parser::cea608_decoder::tests::test_basic_character_decoding ... ok [INFO] [stdout] test parser::dvb::tests::test_2bit_rle_single_pixel ... ok [INFO] [stdout] test parser::dvb::tests::test_4bit_rle_colour_run ... ok [INFO] [stdout] test parser::cea608_decoder::tests::test_pac_row_calculation ... ok [INFO] [stdout] test parser::dvb::tests::test_2bit_rle_transparent_pair ... ok [INFO] [stdout] test parser::dvb::tests::test_4bit_rle_single_pixels ... ok [INFO] [stdout] test parser::dvb::tests::test_4bit_rle_transparent_run ... ok [INFO] [stdout] test parser::dvb::tests::test_8bit_rle_colour_run ... ok [INFO] [stdout] test parser::dvb::tests::test_8bit_rle_single_pixel ... ok [INFO] [stdout] test parser::dvb::tests::test_8bit_rle_end_of_line ... ok [INFO] [stdout] test parser::dvb::tests::test_decode_segment_invalid_sync ... ok [INFO] [stdout] test parser::dvb::tests::test_8bit_rle_transparent_run ... ok [INFO] [stdout] test parser::dvb::tests::test_ycrcb_conversion_black ... ok [INFO] [stdout] test parser::dvb::tests::test_ycrcb_conversion_white ... ok [INFO] [stdout] test parser::pgs::tests::test_decoder_creation ... ok [INFO] [stdout] test parser::srt::tests::test_empty_formatted_text ... ok [INFO] [stdout] test parser::dvb::tests::test_decode_segment_page_composition ... ok [INFO] [stdout] test parser::srt::tests::test_formatted_segment_has_formatting ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_bold ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_plain_text ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_nested_bold_italic ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_font_color ... ok [INFO] [stdout] test parser::srt::tests::test_parse_srt_with_formatting ... ok [INFO] [stdout] test parser::srt::tests::test_parse_srt_with_formatting_font_tag ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_font_face_size ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_italic ... ok [INFO] [stdout] test parser::srt::tests::test_parse_formatted_text_mixed_segments ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_tags_basic ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_tags_mixed ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_tags_font ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_preserves_newlines ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_tags_no_tags ... ok [INFO] [stdout] test parser::srt::tests::test_to_tagged_string_font_color ... ok [INFO] [stdout] test parser::srt::tests::test_unclosed_tag_handling ... ok [INFO] [stdout] test parser::srt::tests::test_underline_and_strikethrough ... ok [INFO] [stdout] test parser::srt::tests::test_to_tagged_string_roundtrip ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_fad_timing_fields ... ok [INFO] [stdout] test parser::srt::tests::test_strip_html_tags_nested ... ok [INFO] [stdout] test parser::dvb::tests::test_decoder_creation ... ok [INFO] [stdout] test parser::pgs::tests::test_ycrcb_conversion ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_move_animation_no_time ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_origin_fields ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_fad_zero ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_fad ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_iclip ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_move_with_time ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_move_insufficient_args_returns_none ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_clip_basic ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_move_without_time ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_multiple_blocks ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_combined_tags ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_override_no_tags ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_clip_rect_fields ... ok [INFO] [stdout] test parser::ttml::tests::test_parse_font_size ... ok [INFO] [stdout] test parser::ttml::tests::test_parse_clock_time ... ok [INFO] [stdout] test parser::ttml::tests::test_parse_offset_time ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_parse_org ... ok [INFO] [stdout] test parser::ttml::tests::test_parse_ttml_color ... ok [INFO] [stdout] test parser::ssa::ass_override_tests::test_strip_tags_with_override ... ok [INFO] [stdout] test parser::ttml::tests::test_write_ttml ... ok [INFO] [stdout] test parser::ttml::tests::test_parse_simple_ttml ... ok [INFO] [stdout] test parser::webvtt::tests::test_missing_webvtt_header ... ok [INFO] [stdout] test parser::webvtt::tests::test_cue_settings_default_horizontal ... ok [INFO] [stdout] test parser::webvtt::tests::test_format_timestamp_hms ... ok [INFO] [stdout] test parser::ttml::tests::test_format_timestamp ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_multiline_cue ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_position_setting ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_multiple_cue_settings ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_region_anchor_in_cue ... ok [INFO] [stdout] test parser::webvtt::tests::test_format_timestamp_ms_only ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_basic_webvtt ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_cue_identifier ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_bom_prefix ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_empty_vtt ... ok [INFO] [stdout] test position_calc::tests::test_avoid_collision_with_overlap ... ok [INFO] [stdout] test position_calc::tests::test_compute_position_center_bottom ... ok [INFO] [stdout] test position_calc::tests::test_compute_position_left_top ... ok [INFO] [stdout] test position_calc::tests::test_multi_line_total_height ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_vtt_timestamp_short ... ok [INFO] [stdout] test parser::webvtt::tests::test_region_default_values ... ok [INFO] [stdout] test parser::webvtt::tests::test_skip_note_block ... ok [INFO] [stdout] test position_calc::tests::test_avoid_collision_no_overlap ... ok [INFO] [stdout] test parser::webvtt::tests::test_strip_vtt_tags ... ok [INFO] [stdout] test parser::webvtt::tests::test_write_document_with_region ... ok [INFO] [stdout] test parser::webvtt::tests::test_write_roundtrip ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_region_definition ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_vertical_text_lr ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_vertical_text_rl ... ok [INFO] [stdout] test parser::webvtt::tests::test_parse_vtt_timestamp_long ... ok [INFO] [stdout] test position_calc::tests::test_multi_line_total_height_zero_lines ... ok [INFO] [stdout] test position_calc::tests::test_multi_line_y_positions ... ok [INFO] [stdout] test position_calc::tests::test_rect_area ... ok [INFO] [stdout] test position_calc::tests::test_rect_center ... ok [INFO] [stdout] test reading_speed::tests::test_complexity_analyzer_no_violation_slow ... ok [INFO] [stdout] test position_calc::tests::test_rect_contains_point ... ok [INFO] [stdout] test reading_speed::tests::test_estimate_syllables_empty ... ok [INFO] [stdout] test reading_speed::tests::test_complexity_check_fields ... ok [INFO] [stdout] test reading_speed::tests::test_estimate_syllables_one ... ok [INFO] [stdout] test position_calc::tests::test_rect_contains_rect ... ok [INFO] [stdout] test position_calc::tests::test_rect_no_overlap ... ok [INFO] [stdout] test position_calc::tests::test_rect_overlaps ... ok [INFO] [stdout] test position_calc::tests::test_rect_right_bottom ... ok [INFO] [stdout] test position_calc::tests::test_safe_area_broadcast ... ok [INFO] [stdout] test position_calc::tests::test_safe_area_streaming ... ok [INFO] [stdout] test reading_speed::tests::test_analyzer_detects_violation ... ok [INFO] [stdout] test reading_speed::tests::test_analyzer_no_violations_slow_text ... ok [INFO] [stdout] test reading_speed::tests::test_complexity_analyzer_detects_fast_complex_text ... ok [INFO] [stdout] test reading_speed::tests::test_estimate_syllables_polysyllabic ... ok [INFO] [stdout] test reading_speed::tests::test_estimate_syllables_single_char ... ok [INFO] [stdout] test reading_speed::tests::test_estimate_syllables_two ... ok [INFO] [stdout] test position_calc::tests::test_compute_position_right_middle ... ok [INFO] [stdout] test reading_speed::tests::test_reading_level_cps_limit_children ... ok [INFO] [stdout] test reading_speed::tests::test_reading_level_cps_limit_unlimited ... ok [INFO] [stdout] test reading_speed::tests::test_reading_level_labels ... ok [INFO] [stdout] test reading_speed::tests::test_reading_speed_check_is_too_fast ... ok [INFO] [stdout] test reading_speed::tests::test_reading_speed_check_not_too_fast ... ok [INFO] [stdout] test reading_speed::tests::test_report_compliance_pct_partial ... ok [INFO] [stdout] test reading_speed::tests::test_speed_cue_char_count_excludes_spaces ... ok [INFO] [stdout] test reading_speed::tests::test_report_compliance_pct_full ... ok [INFO] [stdout] test reading_speed::tests::test_speed_cue_duration_secs ... ok [INFO] [stdout] test reading_speed::tests::test_speed_cue_zero_duration_cps ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_config_custom ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_score_complex_higher ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_equality ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_score_digits_penalty ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_score_punctuation_penalty ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_not_empty ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_is_empty_zero_height ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_new ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_union_adjacent ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_empty_text ... ok [INFO] [stdout] test reading_speed::tests::test_report_empty_cues ... ok [INFO] [stdout] test reading_speed::tests::test_speed_cue_cps ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_is_empty_zero_width ... ok [INFO] [stdout] test renderer::incremental_tests::test_incremental_renderer_invalidate_resets_state ... ok [INFO] [stdout] test segmentation::tests::test_block_optimizer_reflow ... ok [INFO] [stdout] test segmentation::tests::test_line_breaker_empty_text ... ok [INFO] [stdout] test segmentation::tests::test_line_breaker_max_lines_truncates ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_union_with_empty ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_union_basic ... ok [INFO] [stdout] test reading_speed::tests::test_word_complexity_score_simple_text ... ok [INFO] [stdout] test segmentation::tests::test_line_breaker_wraps_at_max ... ok [INFO] [stdout] test segmentation::tests::test_no_orphan_rule ... ok [INFO] [stdout] test segmentation::tests::test_line_breaker_natural_breaks_at_conjunction ... ok [INFO] [stdout] test renderer::incremental_tests::test_dirty_rect_union_both_empty ... ok [INFO] [stdout] test segmentation::tests::test_readability_score_empty_block ... ok [INFO] [stdout] test segmentation::tests::test_line_breaker_simple ... ok [INFO] [stdout] test segmentation::tests::test_subtitle_block_line_count ... ok [INFO] [stdout] test segmentation::tests::test_subtitle_block_char_count ... ok [INFO] [stdout] test segmentation::tests::test_subtitle_block_to_plain_text ... ok [INFO] [stdout] test segmentation::tests::test_readability_score_range ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_gaussian_blur_empty_returns_empty ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_gaussian_blur_preserves_size ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_gaussian_blur_spreads_signal ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_gaussian_blur_zero_radius_is_near_identity ... ok [INFO] [stdout] test line_break::tests::test_max_line_length_single ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_render_soft_shadow_buffer_too_small ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_render_soft_shadow_basic ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_render_soft_shadow_shadow_precedes_text ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_soft_shadow_config_broadcast ... ok [INFO] [stdout] test soft_shadow::soft_shadow_tests::test_soft_shadow_config_defaults ... ok [INFO] [stdout] test spell_check::tests::test_autocorrect_fixes_word ... ok [INFO] [stdout] test spell_check::tests::test_dictionary_case_insensitive ... ok [INFO] [stdout] test spell_check::tests::test_check_sentence_finds_misspelling ... ok [INFO] [stdout] test spell_check::tests::test_dictionary_contains_existing ... ok [INFO] [stdout] test spell_check::tests::test_dictionary_insert ... ok [INFO] [stdout] test spell_check::tests::test_dictionary_len ... ok [INFO] [stdout] test spell_check::tests::test_dictionary_missing_word ... ok [INFO] [stdout] test spell_check::tests::test_edit_distance_empty_strings ... ok [INFO] [stdout] test spell_check::tests::test_edit_distance_identical ... ok [INFO] [stdout] test spell_check::tests::test_edit_distance_one_insertion ... ok [INFO] [stdout] test spell_check::tests::test_edit_distance_one_substitution ... ok [INFO] [stdout] test spell_check::tests::test_edit_distance_one_vs_empty ... ok [INFO] [stdout] test spell_check::tests::test_spell_checker_correct_word ... ok [INFO] [stdout] test spell_check::tests::test_spell_checker_incorrect_word ... ok [INFO] [stdout] test spell_check::tests::test_spell_checker_suggestions_close ... ok [INFO] [stdout] test spell_check::tests::test_spell_checker_suggestions_too_far ... ok [INFO] [stdout] test spell_check::tests::test_strip_punctuation_removes_comma ... ok [INFO] [stdout] test spell_check::tests::test_suggestion_ordering ... ok [INFO] [stdout] test sub_style::tests::test_color_black ... ok [INFO] [stdout] test sub_style::tests::test_color_is_opaque_false ... ok [INFO] [stdout] test sub_style::tests::test_color_is_opaque_true ... ok [INFO] [stdout] test sub_style::tests::test_alignment_is_bottom ... ok [INFO] [stdout] test sub_style::tests::test_alignment_is_centered ... ok [INFO] [stdout] test sub_style::tests::test_color_to_hex_rgba_black ... ok [INFO] [stdout] test sub_style::tests::test_color_to_hex_rgba_white ... ok [INFO] [stdout] test sub_style::tests::test_color_white ... ok [INFO] [stdout] test sub_style::tests::test_color_yellow ... ok [INFO] [stdout] test sub_style::tests::test_font_style_bold ... ok [INFO] [stdout] test sub_style::tests::test_font_style_italic ... ok [INFO] [stdout] test sub_style::tests::test_font_style_plain ... ok [INFO] [stdout] test sub_style::tests::test_subtitle_style_default ... ok [INFO] [stdout] test sub_style::tests::test_subtitle_style_forced_is_yellow ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_config_default ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_constant_offset ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_empty_reference ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_empty_source ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_entry_duration ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_large_offset ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_similarity_high_for_identical_text ... ok [INFO] [stdout] test subtitle_alignment::tests::test_estimate_constant_offset_empty_source ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_match_contains_source_idx ... ok [INFO] [stdout] test subtitle_alignment::tests::test_estimate_constant_offset_empty_reference ... ok [INFO] [stdout] test subtitle_alignment::tests::test_estimate_constant_offset_simple ... ok [INFO] [stdout] test subtitle_alignment::tests::test_estimate_offset_low_similarity_yields_none ... ok [INFO] [stdout] test subtitle_alignment::tests::test_levenshtein_equal ... ok [INFO] [stdout] test subtitle_alignment::tests::test_levenshtein_single_delete ... ok [INFO] [stdout] test subtitle_alignment::tests::test_levenshtein_single_insert ... ok [INFO] [stdout] test subtitle_alignment::tests::test_levenshtein_substitution ... ok [INFO] [stdout] test subtitle_alignment::tests::test_text_similarity_close ... ok [INFO] [stdout] test subtitle_alignment::tests::test_text_similarity_empty_both ... ok [INFO] [stdout] test subtitle_alignment::tests::test_text_similarity_identical ... ok [INFO] [stdout] test subtitle_alignment::tests::test_text_similarity_one_empty ... ok [INFO] [stdout] test subtitle_alignment::tests::test_text_similarity_unrelated ... ok [INFO] [stdout] test subtitle_alignment::tests::test_align_identical_tracks ... ok [INFO] [stdout] test subtitle_api_tests::test_srt_parser_basic ... ok [INFO] [stdout] test subtitle_api_tests::test_ass_parser_basic ... ok [INFO] [stdout] test subtitle_api_tests::test_srt_parser_second_entry ... ok [INFO] [stdout] test subtitle_api_tests::test_subtitle_duration ... ok [INFO] [stdout] test subtitle_api_tests::test_subtitle_id_field ... ok [INFO] [stdout] test subtitle_api_tests::test_webvtt_parser_timing ... ok [INFO] [stdout] test subtitle_api_tests::test_subtitle_is_active ... ok [INFO] [stdout] test subtitle_diff::tests::test_count_diff_kinds ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_both_changed ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_entry_text_matches_ignore_case ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_entry_timing_matches ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_entry_text_matches ... ok [INFO] [stdout] test subtitle_api_tests::test_subtitle_new_has_no_id ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_summary_empty ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_text_changed ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_timing_changed ... ok [INFO] [stdout] test subtitle_diff::tests::test_edit_distance_empty ... ok [INFO] [stdout] test subtitle_export::tests::test_ass_format_contains_dialogue ... ok [INFO] [stdout] test subtitle_diff::tests::test_edit_distance_identical ... ok [INFO] [stdout] test subtitle_export::tests::test_ass_timestamp_format ... ok [INFO] [stdout] test subtitle_export::tests::test_export_all_srt ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_summary_identity_percentage ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_identical_tracks ... ok [INFO] [stdout] test subtitle_api_tests::test_webvtt_parser_basic ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_ignore_case_config ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_only_in_first ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_result_is_changed ... ok [INFO] [stdout] test subtitle_diff::tests::test_diff_only_in_second ... ok [INFO] [stdout] test subtitle_export::tests::test_export_target_extension ... ok [INFO] [stdout] test subtitle_export::tests::test_ms_to_srt_ts_zero ... ok [INFO] [stdout] test subtitle_export::tests::test_ms_to_vtt_ts_hours ... ok [INFO] [stdout] test subtitle_export::tests::test_srt_no_header ... ok [INFO] [stdout] test subtitle_export::tests::test_srt_sequence_number ... ok [INFO] [stdout] test subtitle_export::tests::test_srt_text_present ... ok [INFO] [stdout] test subtitle_export::tests::test_srt_timestamp_format ... ok [INFO] [stdout] test subtitle_export::tests::test_ttml_format ... ok [INFO] [stdout] test subtitle_export::tests::test_export_target_mime_type ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_gap ... ok [INFO] [stdout] test subtitle_export::tests::test_vtt_no_sequence_number ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_first_cue ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_overlap ... ok [INFO] [stdout] test subtitle_export::tests::test_ttml_has_header_and_footer ... ok [INFO] [stdout] test subtitle_index::tests::test_empty_index_active_at ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_second_cue ... ok [INFO] [stdout] test subtitle_export::tests::test_vtt_header ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_end_exclusive ... ok [INFO] [stdout] test subtitle_index::tests::test_first_last_entry ... ok [INFO] [stdout] test subtitle_index::tests::test_new_is_empty ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_all_entries ... ok [INFO] [stdout] test subtitle_export::tests::test_vtt_timestamp_format ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_basic ... ok [INFO] [stdout] test subtitle_index::tests::test_from_ranges_length ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_binary_search_empty_index ... ok [INFO] [stdout] test subtitle_index::tests::test_index_entry_is_active_at ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_inverted_range ... ok [INFO] [stdout] test subtitle_index::tests::test_active_at_before_start ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_partial_overlap_end ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_partial_overlap_start ... ok [INFO] [stdout] test subtitle_index::tests::test_push_and_build ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_before_all ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_after_all ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_no_match ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_single_match ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_tight_window ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_strategy_name ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_no_overlap ... ok [INFO] [stdout] test subtitle_merge::tests::test_merger_add_track ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_prefer_first_drops_conflict ... ok [INFO] [stdout] test subtitle_merge::tests::test_subtitle_entry_duration_ms ... ok [INFO] [stdout] test subtitle_merge::tests::test_subtitle_entry_mark_conflicted ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_prefer_last_replaces ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_result_span_ms ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_drop_on_conflict ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_keep_all_marks_conflicts ... ok [INFO] [stdout] test subtitle_merge::tests::test_merge_sorted_output ... ok [INFO] [stdout] test subtitle_index::tests::test_range_query_large_index_perf ... ok [INFO] [stdout] test subtitle_diff::tests::test_edit_distance_different ... ok [INFO] [stdout] test subtitle_merge::tests::test_subtitle_entry_overlaps_false ... ok [INFO] [stdout] test subtitle_merge::tests::test_subtitle_entry_overlaps_true ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_has_encoding_issues_clean ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_has_encoding_issues_mojibake ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_remove_hi_descriptions ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_remove_empty_lines ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_limit_line_breaks ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_remove_hi_nested ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_sanitize_full ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_strip_ssa_tags ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_strip_html_tags_basic ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_strip_ssa_tags_no_tags ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_strip_html_tags_nested ... ok [INFO] [stdout] test subtitle_search::tests::test_case_sensitive_search ... ok [INFO] [stdout] test subtitle_search::tests::test_count_occurrences ... ok [INFO] [stdout] test subtitle_search::tests::test_empty_query ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_normalize_whitespace ... ok [INFO] [stdout] test subtitle_search::tests::test_search_hit_byte_offset ... ok [INFO] [stdout] test subtitle_search::tests::test_max_results ... ok [INFO] [stdout] test subtitle_search::tests::test_search_in_time_range ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_strip_html_tags_no_tags ... ok [INFO] [stdout] test subtitle_search::tests::test_search_time_range_no_match ... ok [INFO] [stdout] test subtitle_search::tests::test_whole_word_search ... ok [INFO] [stdout] test subtitle_search::tests::test_word_index_build_and_lookup ... ok [INFO] [stdout] test subtitle_search::tests::test_whole_word_no_partial ... ok [INFO] [stdout] test subtitle_stats::tests::test_average_gap ... ok [INFO] [stdout] test subtitle_search::tests::test_basic_search ... ok [INFO] [stdout] test subtitle_stats::tests::test_average_gap_single ... ok [INFO] [stdout] test subtitle_stats::tests::test_char_count_excludes_whitespace ... ok [INFO] [stdout] test subtitle_search::tests::test_word_index_word_count ... ok [INFO] [stdout] test subtitle_stats::tests::test_chars_per_second ... ok [INFO] [stdout] test subtitle_stats::tests::test_chars_per_second_zero_duration ... ok [INFO] [stdout] test subtitle_stats::tests::test_word_count_simple ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_preset_library_with_defaults ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_attribute_is_visual_font_family_false ... ok [INFO] [stdout] test subtitle_stats::tests::test_count_fast_cues ... ok [INFO] [stdout] test subtitle_stats::tests::test_stat_subtitle_duration ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_attribute_key ... ok [INFO] [stdout] test subtitle_search::tests::test_word_index_missing_word ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_attribute_is_visual_font_size ... ok [INFO] [stdout] test subtitle_stats::tests::test_track_stats_avg_words_per_cue ... ok [INFO] [stdout] test subtitle_stats::tests::test_track_stats_basic ... ok [INFO] [stdout] test subtitle_stats::tests::test_track_stats_empty ... ok [INFO] [stdout] test subtitle_stats::tests::test_compute_gaps ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_preset_library_add_and_find ... ok [INFO] [stdout] test subtitle_stats::tests::test_words_per_minute ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_merge_adds_new_keys ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_merge_overrides ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_set_and_get ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_remove ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_visual_attributes ... ok [INFO] [stdout] test subtitle_validator::tests::test_report_by_rule ... ok [INFO] [stdout] test subtitle_validator::tests::test_subtitle_violation_is_timing_error_false ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_preset_library_names ... ok [INFO] [stdout] test subtitle_validator::tests::test_report_error_count ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_is_empty ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_negative_start ... ok [INFO] [stdout] test subtitle_style_ext::tests::test_style_set_len ... ok [INFO] [stdout] test subtitle_validator::tests::test_validation_rule_name ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_clean_entries ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_max_chars_per_line ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_max_duration ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_end_before_start ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_max_lines ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_min_duration ... ok [INFO] [stdout] test subtitle_validator::tests::test_subtitle_violation_is_timing_error_true ... ok [INFO] [stdout] test subtitle_validator::tests::test_validate_min_gap ... ok [INFO] [stdout] test subtitle_validator::tests::test_validator_entry_duration_ms ... ok [INFO] [stdout] test subtitle_validator::tests::test_validator_entry_empty_text_line_count ... ok [INFO] [stdout] test subtitle_sanitize::tests::test_trim_lines ... ok [INFO] [stdout] test subtitle_validator::tests::test_validator_entry_max_line_length ... ok [INFO] [stdout] test subtitle_validator::tests::test_validator_entry_line_count ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_contrast_ratio_symmetric ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_passes_wcag_aa_large_white_on_dark_grey ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_fails_wcag_aa_large_similar ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_passes_wcag_aa_yellow_on_black ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_fails_wcag_aaa_moderate_contrast ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_passes_wcag_aaa_white_black ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_fails_wcag_aa_similar_colors ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_relative_luminance_black ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_relative_luminance_mid_grey ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_relative_luminance_white ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_same_color_contrast_is_1 ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_srgb_color_new ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_wcag_level_aa ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_wcag_level_aa_large ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_wcag_level_aaa ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_wcag_level_fail ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_passes_wcag_aa_white_on_black ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_wcag_level_ordering ... ok [INFO] [stdout] test timing::tests::test_fix_overlaps ... ok [INFO] [stdout] test timing::tests::test_frame_to_ms ... ok [INFO] [stdout] test timing::tests::test_linear_correction ... ok [INFO] [stdout] test timing::tests::test_merge_similar ... ok [INFO] [stdout] test timing::tests::test_ms_to_frame ... ok [INFO] [stdout] test timing::tests::test_remove_duplicates ... ok [INFO] [stdout] test timing::tests::test_scale_subtitles ... ok [INFO] [stdout] test timing::tests::test_offset_subtitles ... ok [INFO] [stdout] test timing::tests::test_timing_adjuster ... ok [INFO] [stdout] test timing::tests::test_split_long_subtitles ... ok [INFO] [stdout] test timing_adjust::tests::test_frame_rate_convert_24_to_25 ... ok [INFO] [stdout] test timing_adjust::tests::test_frame_rate_convert_same_rate ... ok [INFO] [stdout] test subtitle_validator::wcag_tests::test_white_black_contrast_is_21 ... ok [INFO] [stdout] test timing_adjust::tests::test_frame_rate_frames_to_ms ... ok [INFO] [stdout] test timing_adjust::tests::test_frame_rate_ms_to_frames ... ok [INFO] [stdout] test timing_adjust::tests::test_speed_adjust_double ... ok [INFO] [stdout] test timing_adjust::tests::test_convert_timestamps_list ... ok [INFO] [stdout] test timing_adjuster::tests::test_adjust_ms_clamp_to_zero ... ok [INFO] [stdout] test timing_adjuster::tests::test_adjust_ms_fps_scale ... ok [INFO] [stdout] test timing_adjuster::tests::test_detect_offset_shifted ... ok [INFO] [stdout] test timing_adjust::tests::test_speed_adjust_half_speed ... ok [INFO] [stdout] test timing_adjuster::tests::test_detect_offset_zero ... ok [INFO] [stdout] test timing_adjuster::tests::test_adjust_ms_pure_offset ... ok [INFO] [stdout] test timing_adjust::tests::test_speed_adjust_with_origin ... ok [INFO] [stdout] test timing_adjuster::tests::test_identity_no_change ... ok [INFO] [stdout] test timing_adjust::tests::test_time_shift_clamped_no_underflow ... ok [INFO] [stdout] test timing_adjuster::tests::test_detect_offset_empty_docs ... ok [INFO] [stdout] test timing_adjust::tests::test_time_shift_clamped_positive ... ok [INFO] [stdout] test timing_adjust::tests::test_speed_adjust_identity ... ok [INFO] [stdout] test timing_adjust::tests::test_time_shift_negative ... ok [INFO] [stdout] test timing_adjust::tests::test_time_shift_positive ... ok [INFO] [stdout] test timing_adjuster::tests::test_adjust_document ... ok [INFO] [stdout] test timing_adjuster::tests::test_adjust_entry ... ok [INFO] [stdout] test timing_adjust::tests::test_shift_timestamps_list ... ok [INFO] [stdout] test timing_adjust::tests::test_speed_adjust_timestamps_list ... ok [INFO] [stdout] test timing_adjuster::tests::test_invalid_fps_fallback ... ok [INFO] [stdout] test timing_adjuster::tests::test_new_stores_fields ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_double_speed ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_extrapolation_after ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_extrapolation_before ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_half_speed ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_remap_document ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_identity_two_keyframes ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_remap_ms_u64_clamp ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_single_keyframe_offset ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_speed_at_empty ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_speed_at_normal ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_speed_ramp ... ok [INFO] [stdout] test timing_adjuster::tests::test_ntsc_to_pal_adjust_entry ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_multi_segment_ramp ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_vfr_correction ... ok [INFO] [stdout] test timing_adjuster::tests::test_pal_to_ntsc_scale ... ok [INFO] [stdout] test translation::tests::test_bilingual_subtitle_duration ... ok [INFO] [stdout] test translation::tests::test_bilingual_subtitle_formatted ... ok [INFO] [stdout] test translation::tests::test_bilingual_subtitle_is_active ... ok [INFO] [stdout] test translation::tests::test_language_all_known_codes ... ok [INFO] [stdout] test translation::tests::test_language_from_code_rtl ... ok [INFO] [stdout] test translation::tests::test_language_from_code_unknown ... ok [INFO] [stdout] test translation::tests::test_levenshtein_empty ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_default_trait ... ok [INFO] [stdout] test translation::tests::test_levenshtein_equal ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_empty_is_identity ... ok [INFO] [stdout] test timing_adjuster::tests::test_ntsc_to_pal_scale ... ok [INFO] [stdout] test translation::tests::test_language_from_code_hebrew ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_remap_entry ... ok [INFO] [stdout] test ttml_v2::tests::test_clock_time_mm_ss ... ok [INFO] [stdout] test translation::tests::test_language_from_code_known ... ok [INFO] [stdout] test ttml_v2::tests::test_invalid_time ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_document_regions ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_two_percentage_values_basic ... ok [INFO] [stdout] test timing_adjuster::tests::test_nonlinear_speed_at_double ... ok [INFO] [stdout] test translation::tests::test_levenshtein_simple_substitution ... ok [INFO] [stdout] test translation::tests::test_levenshtein_single_insertion ... ok [INFO] [stdout] test translation::tests::test_translation_memory_empty ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_document_styles ... ok [INFO] [stdout] test translation::tests::test_translation_memory_exact_match ... ok [INFO] [stdout] test translation::tests::test_translation_memory_fuzzy_match ... ok [INFO] [stdout] test translation::tests::test_translation_memory_no_match_wrong_lang ... ok [INFO] [stdout] test ttml_v2::tests::test_clock_time_hh_mm_ss_ms ... ok [INFO] [stdout] test ttml_v2::tests::test_offset_time ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_basic ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_two_percentage_values_no_suffix ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_is_active ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_empty_span_text ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_two_percentage_values_zero ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_multiple_cues ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_multiple_regions ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_with_spans ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_region_ref ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_no_style_defaults_to_none ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_offset_timing ... ok [INFO] [stdout] test ttml_v2::tests::test_style_background_color ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_style_ref ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_no_region_defaults_to_none ... ok [INFO] [stdout] test ttml_v2::tests::test_parse_v2_span_aggregated_text ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 726 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_subtitle [INFO] [stdout] [INFO] [stdout] running 17 tests [INFO] [stdout] test src/font.rs - font::FontChain (line 276) ... ignored [INFO] [stdout] test src/lib.rs - (line 21) ... ignored [INFO] [stdout] test src/lib.rs - SrtParser (line 229) ... ignored [INFO] [stdout] test src/renderer.rs - renderer::IncrementalSubtitleRenderer (line 347) ... ignored [INFO] [stdout] test src/timing_adjuster.rs - timing_adjuster::NonLinearRemapper (line 184) ... ignored [INFO] [stdout] test src/parser/ssa.rs - parser::ssa::parse_override_tags (line 438) ... ok [INFO] [stdout] test src/cue_point.rs - cue_point::CuePoint (line 47) ... ok [INFO] [stdout] test src/timing.rs - timing::frame_to_ms (line 251) ... ok [INFO] [stdout] test src/cue_point.rs - cue_point::CuePointList (line 103) ... ok [INFO] [stdout] test src/timing.rs - timing::offset_subtitles (line 134) ... ok [INFO] [stdout] test src/timing.rs - timing::ms_to_frame (line 232) ... ok [INFO] [stdout] test src/subtitle_validator.rs - subtitle_validator::wcag_contrast_ratio (line 545) ... ok [INFO] [stdout] test src/format_converter.rs - format_converter::parallel_parse_batch (line 1529) ... ok [INFO] [stdout] test src/timing.rs - timing::scale_subtitles (line 163) ... ok [INFO] [stdout] test src/subtitle_validator.rs - subtitle_validator::passes_wcag_aa (line 591) ... ok [INFO] [stdout] test src/subtitle_index.rs - subtitle_index::SubtitleIndex (line 44) ... ok [INFO] [stdout] test src/subtitle_export.rs - subtitle_export::SubtitleExporter (line 108) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 4.21s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "6eb09fa79923ceea084b690e043cfaf6e02be33b6edff89a358bbf89dbdaefa9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6eb09fa79923ceea084b690e043cfaf6e02be33b6edff89a358bbf89dbdaefa9", kill_on_drop: false }` [INFO] [stdout] 6eb09fa79923ceea084b690e043cfaf6e02be33b6edff89a358bbf89dbdaefa9