[INFO] fetching crate oximedia-clips 0.1.3... [INFO] testing oximedia-clips-0.1.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-2 [INFO] extracting crate oximedia-clips 0.1.3 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate oximedia-clips 0.1.3 [INFO] finished tweaking crates.io crate oximedia-clips 0.1.3 [INFO] tweaked toml for crates.io crate oximedia-clips 0.1.3 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-clips 0.1.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate oximedia-clips 0.1.3 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 66bdc3266ffe62699e5b53f1fee337990538af0e31ec15314bbed4de687cdcf6 [INFO] running `Command { std: "docker" "start" "-a" "66bdc3266ffe62699e5b53f1fee337990538af0e31ec15314bbed4de687cdcf6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "66bdc3266ffe62699e5b53f1fee337990538af0e31ec15314bbed4de687cdcf6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66bdc3266ffe62699e5b53f1fee337990538af0e31ec15314bbed4de687cdcf6", kill_on_drop: false }` [INFO] [stdout] 66bdc3266ffe62699e5b53f1fee337990538af0e31ec15314bbed4de687cdcf6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ecb83f7dbb21d5a47246c0b12867c4e93fd07e58bc440841d0a239159f5f3e0e [INFO] running `Command { std: "docker" "start" "-a" "ecb83f7dbb21d5a47246c0b12867c4e93fd07e58bc440841d0a239159f5f3e0e", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling hashbrown v0.17.0 [INFO] [stderr] Compiling cc v1.2.60 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Compiling crc-catalog v2.4.0 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Compiling crc v3.3.0 [INFO] [stderr] Compiling hashlink v0.10.0 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling libsqlite3-sys v0.30.1 [INFO] [stderr] Compiling audio-core v0.2.1 [INFO] [stderr] Compiling transpose v0.2.3 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling primal-check v0.3.4 [INFO] [stderr] Compiling tokio v1.52.0 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling rustfft v6.4.1 [INFO] [stderr] Compiling event-listener v5.4.1 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling audioadapter v3.0.0 [INFO] [stderr] Compiling audioadapter-sample v3.0.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling oxifft v0.2.0 [INFO] [stderr] Compiling audioadapter-buffers v3.0.0 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling windowfunctions v0.1.1 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom v0.1.7 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling yoke v0.8.2 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling oxifft-codegen v0.2.0 [INFO] [stderr] Compiling tinystr v0.8.3 [INFO] [stderr] Compiling potential_utf v0.1.5 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling icu_collections v2.2.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling realfft v3.5.0 [INFO] [stderr] Compiling visibility v0.1.1 [INFO] [stderr] Compiling rubato v2.0.0 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling oximedia-core v0.1.3 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling sqlx-core v0.8.6 [INFO] [stderr] Compiling oximedia-audio v0.1.3 [INFO] [stderr] Compiling sqlx-sqlite v0.8.6 [INFO] [stderr] Compiling sqlx-macros-core v0.8.6 [INFO] [stderr] Compiling sqlx-macros v0.8.6 [INFO] [stderr] Compiling sqlx v0.8.6 [INFO] [stderr] Compiling oximedia-timecode v0.1.3 [INFO] [stderr] Compiling oximedia-edl v0.1.3 [INFO] [stderr] Compiling oximedia-clips v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 44s [INFO] running `Command { std: "docker" "inspect" "ecb83f7dbb21d5a47246c0b12867c4e93fd07e58bc440841d0a239159f5f3e0e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ecb83f7dbb21d5a47246c0b12867c4e93fd07e58bc440841d0a239159f5f3e0e", kill_on_drop: false }` [INFO] [stdout] ecb83f7dbb21d5a47246c0b12867c4e93fd07e58bc440841d0a239159f5f3e0e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2c1ac4d7f1f8c3c29372dd4b8ebf09ce5c0f15d91784524e6d77753373427850 [INFO] running `Command { std: "docker" "start" "-a" "2c1ac4d7f1f8c3c29372dd4b8ebf09ce5c0f15d91784524e6d77753373427850", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-clips v0.1.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.42s [INFO] running `Command { std: "docker" "inspect" "2c1ac4d7f1f8c3c29372dd4b8ebf09ce5c0f15d91784524e6d77753373427850", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c1ac4d7f1f8c3c29372dd4b8ebf09ce5c0f15d91784524e6d77753373427850", kill_on_drop: false }` [INFO] [stdout] 2c1ac4d7f1f8c3c29372dd4b8ebf09ce5c0f15d91784524e6d77753373427850 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 8a50b2e3fb87e9caee51becbf80e6d41617df671937fac74f0d526ba6d66db4d [INFO] running `Command { std: "docker" "start" "-a" "8a50b2e3fb87e9caee51becbf80e6d41617df671937fac74f0d526ba6d66db4d", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_clips-4aa54275512c2312) [INFO] [stdout] [INFO] [stdout] running 554 tests [INFO] [stdout] test ai_tagging::tests::test_broll_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_enabled_sources_filter ... ok [INFO] [stdout] test ai_tagging::tests::test_b_roll_underscore_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_hd_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_long_form_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_loud_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_mono_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_interview_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_no_audio_produces_no_audio_tags ... ok [INFO] [stdout] test ai_tagging::tests::test_no_duration_tag_for_medium_clip ... ok [INFO] [stdout] test ai_tagging::tests::test_quiet_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_mp4_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_output_sorted_descending ... ok [INFO] [stdout] test ai_tagging::tests::test_sd_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_short_clip_boundary_exactly_30s_not_tagged ... ok [INFO] [stdout] test ai_tagging::tests::test_stereo_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_social_clip_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_surround_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_threshold_filters_low_confidence ... ok [INFO] [stdout] test ai_tagging::tests::test_threshold_zero_keeps_everything ... ok [INFO] [stdout] test ai_tagging::tests::test_timelapse_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_short_clip_tag ... ok [INFO] [stdout] test ai_tagging::tests::test_uhd_tag_height_only ... ok [INFO] [stdout] test ai_tagging::tests::test_zero_duration_no_duration_tags ... ok [INFO] [stdout] test bin_organizer::tests::test_bin_rule_case_insensitive ... ok [INFO] [stdout] test ai_tagging::tests::test_uhd_tag_4k_width ... ok [INFO] [stdout] test bin_organizer::tests::test_bin_rule_matches ... ok [INFO] [stdout] test bin_organizer::tests::test_apply_rules ... ok [INFO] [stdout] test bin_organizer::tests::test_bin_rule_no_match ... ok [INFO] [stdout] test bin_organizer::tests::test_clip_descriptor_new ... ok [INFO] [stdout] test bin_organizer::tests::test_organize_by_camera ... ok [INFO] [stdout] test bin_organizer::tests::test_frame_rate_label ... ok [INFO] [stdout] test bin_organizer::tests::test_organized_bin_clip_count ... ok [INFO] [stdout] test bin_organizer::tests::test_organize_empty ... ok [INFO] [stdout] test bin_organizer::tests::test_organized_bin_total_clip_count ... ok [INFO] [stdout] test bin_organizer::tests::test_resolution_label ... ok [INFO] [stdout] test bin_organizer::tests::test_organize_by_rating ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_approximate_ev_none_when_missing_fields ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_builder ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_approximate_ev_some ... ok [INFO] [stdout] test bin_organizer::tests::test_organize_by_date ... ok [INFO] [stdout] test bin_organizer::tests::test_organize_by_resolution ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_default_is_empty ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_store_remove ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_overwrite ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_store_missing_key ... ok [INFO] [stdout] test clip::core::tests::test_clip_id ... ok [INFO] [stdout] test clip::core::tests::test_clip_keywords ... ok [INFO] [stdout] test camera_metadata::tests::test_camera_metadata_store_set_get ... ok [INFO] [stdout] test clip::core::tests::test_effective_duration ... ok [INFO] [stdout] test clip::metadata::tests::test_custom_fields ... ok [INFO] [stdout] test clip::metadata::tests::test_metadata_creation ... ok [INFO] [stdout] test clip::core::tests::test_clip_creation ... ok [INFO] [stdout] test clip::subclip::tests::test_invalid_subclip ... ok [INFO] [stdout] test clip::subclip::tests::test_subclip_boundary_conditions ... ok [INFO] [stdout] test clip_audit::tests::test_audit_entry_new ... ok [INFO] [stdout] test clip_audit::tests::test_audit_entry_with_description ... ok [INFO] [stdout] test clip_audit::tests::test_audit_entry_not_undoable ... ok [INFO] [stdout] test clip::version::tests::test_version_creation ... ok [INFO] [stdout] test clip_audit::tests::test_audit_entry_with_values ... ok [INFO] [stdout] test clip_audit::tests::test_audit_filter_time_range ... ok [INFO] [stdout] test clip_audit::tests::test_audit_filter_matches ... ok [INFO] [stdout] test clip_audit::tests::test_audit_filter_user ... ok [INFO] [stdout] test clip::subclip::tests::test_subclip_creation ... ok [INFO] [stdout] test clip_audit::tests::test_trail_purge_before ... ok [INFO] [stdout] test clip_audit::tests::test_trail_history_for_clip ... ok [INFO] [stdout] test clip_audit::tests::test_trail_query_with_filter ... ok [INFO] [stdout] test clip_audit::tests::test_trail_query_with_limit ... ok [INFO] [stdout] test clip_audit::tests::test_trail_record_with_values ... ok [INFO] [stdout] test clip_audit::tests::test_trail_summarize ... ok [INFO] [stdout] test clip_bin::tests::bin_item_description ... ok [INFO] [stdout] test clip_bin::tests::bin_color_label ... ok [INFO] [stdout] test clip_bin::tests::bin_item_is_folder_false_for_clip ... ok [INFO] [stdout] test clip_bin::tests::bin_item_is_folder_true_for_folder ... ok [INFO] [stdout] test clip_bin::tests::bin_manager_create_and_find ... ok [INFO] [stdout] test clip_bin::tests::bin_manager_bin_count ... ok [INFO] [stdout] test clip_bin::tests::bin_manager_find_bin_mut_allows_modification ... ok [INFO] [stdout] test clip_bin::tests::bin_manager_find_missing_returns_none ... ok [INFO] [stdout] test clip_bin::tests::bin_manager_remove_bin ... ok [INFO] [stdout] test clip_bin::tests::clip_bin_move_item_out_of_range ... ok [INFO] [stdout] test clip_bin::tests::clip_bin_remove_returns_item ... ok [INFO] [stdout] test clip_compare::tests::test_comparable_clip_duration ... ok [INFO] [stdout] test clip_bin::tests::clip_bin_move_item_reorders ... ok [INFO] [stdout] test clip_bin::tests::clip_bin_remove_missing_returns_none ... ok [INFO] [stdout] test clip_compare::tests::test_critical_diffs ... ok [INFO] [stdout] test clip_compare::tests::test_compare_against_reference ... ok [INFO] [stdout] test clip_compare::tests::test_diff_kind_display ... ok [INFO] [stdout] test clip_compare::tests::test_identical_clips ... ok [INFO] [stdout] test clip_compare::tests::test_diff_severity_ordering ... ok [INFO] [stdout] test clip_compare::tests::test_keyword_diff ... ok [INFO] [stdout] test clip_compare::tests::test_frame_rate_tolerance ... ok [INFO] [stdout] test clip_compare::tests::test_name_diff ... ok [INFO] [stdout] test clip_compare::tests::test_rating_diff ... ok [INFO] [stdout] test clip_compare::tests::test_summary_identical ... ok [INFO] [stdout] test clip_compare::tests::test_trim_diff ... ok [INFO] [stdout] test clip_audit::tests::test_trail_recent_entries ... ok [INFO] [stdout] test clip_compare::tests::test_technical_only_comparer ... ok [INFO] [stdout] test clip_compare::tests::test_summary_with_diffs ... ok [INFO] [stdout] test clip_export::tests::export_config_invalid_when_empty_clip_id ... ok [INFO] [stdout] test clip_export::tests::export_config_invalid_when_empty_output_dir ... ok [INFO] [stdout] test clip_export::tests::export_config_is_valid_with_fields ... ok [INFO] [stdout] test clip_compare::tests::test_max_severity ... ok [INFO] [stdout] test clip_export::tests::export_job_estimated_size_uses_bitrate ... ok [INFO] [stdout] test clip_export::tests::export_job_fail_status ... ok [INFO] [stdout] test clip_export::tests::export_job_initial_status_pending ... ok [INFO] [stdout] test clip_export::tests::export_target_extension ... ok [INFO] [stdout] test clip_export::tests::export_target_is_professional ... ok [INFO] [stdout] test clip_export::tests::exporter_get_job_found ... ok [INFO] [stdout] test clip_export::tests::exporter_pending_count_decreases_after_completion ... ok [INFO] [stdout] test clip_export::tests::exporter_queue_increments_pending ... ok [INFO] [stdout] test clip_export::tests::exporter_queue_returns_job_id ... ok [INFO] [stdout] test clip_fingerprint::tests::test_clip_average_distance_identical ... ok [INFO] [stdout] test clip_fingerprint::tests::test_clip_fingerprint_add_frame ... ok [INFO] [stdout] test clip_fingerprint::tests::test_clip_fingerprint_new ... ok [INFO] [stdout] test clip_fingerprint::tests::test_clip_is_duplicate ... ok [INFO] [stdout] test clip_fingerprint::tests::test_compute_phash_empty ... ok [INFO] [stdout] test clip_bin::tests::clip_bin_add_item_increments_count ... ok [INFO] [stdout] test clip_export::tests::export_job_estimated_size_fallback_prores ... ok [INFO] [stdout] test clip_export::tests::export_job_status_transitions ... ok [INFO] [stdout] test clip_export::tests::export_target_format_name_mp4 ... ok [INFO] [stdout] test clip_audit::tests::test_trail_record ... ok [INFO] [stdout] test clip_fingerprint::tests::test_compute_phash_uniform ... ok [INFO] [stdout] test clip_fingerprint::tests::test_fingerprint_db_insert_get ... ok [INFO] [stdout] test clip_fingerprint::tests::test_fingerprint_db_find_similar ... ok [INFO] [stdout] test clip_fingerprint::tests::test_fingerprint_db_remove ... ok [INFO] [stdout] test clip_fingerprint::tests::test_frame_fingerprint_from_bytes ... ok [INFO] [stdout] test clip_fingerprint::tests::test_hamming_distance_different ... ok [INFO] [stdout] test clip_fingerprint::tests::test_frame_fingerprint_new ... ok [INFO] [stdout] test clip_fingerprint::tests::test_hamming_distance_identical ... ok [INFO] [stdout] test clip_fingerprint::tests::test_is_similar ... ok [INFO] [stdout] test clip_history::tests::test_clip_history_filter ... ok [INFO] [stdout] test clip_history::tests::test_clear_history ... ok [INFO] [stdout] test clip_history::tests::test_edit_batch ... ok [INFO] [stdout] test clip_history::tests::test_edit_action_display ... ok [INFO] [stdout] test clip_history::tests::test_history_log ... ok [INFO] [stdout] test clip_history::tests::test_history_entry_description ... ok [INFO] [stdout] test clip_history::tests::test_history_record_and_undo ... ok [INFO] [stdout] test clip_history::tests::test_new_action_clears_redo ... ok [INFO] [stdout] test clip_history::tests::test_max_depth ... ok [INFO] [stdout] test clip_history::tests::test_history_redo ... ok [INFO] [stdout] test clip_history::tests::test_history_log_entries_for_clip ... ok [INFO] [stdout] test clip_history::tests::test_pause_resume ... ok [INFO] [stdout] test clip_history::tests::test_peek_undo ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_clear ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_crossfade ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_concatenate ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_keywords_merge_all ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_validate ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_empty ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_stack ... ok [INFO] [stdout] test clip_merge::tests::test_clip_merger_keywords_discard ... ok [INFO] [stdout] test clip_merge::tests::test_merge_entry_duration ... ok [INFO] [stdout] test clip_merge::tests::test_merge_entry_with_track ... ok [INFO] [stdout] test clip_merge::tests::test_merge_entry_zero_duration ... ok [INFO] [stdout] test clip_merge::tests::test_merge_entry_with_transition ... ok [INFO] [stdout] test clip_merge::tests::test_merge_entry_new ... ok [INFO] [stdout] test clip_metadata::tests::test_clip_metadata_attribute_count ... ok [INFO] [stdout] test clip_metadata::tests::test_clip_count ... ok [INFO] [stdout] test clip_merge::tests::test_merge_id_increments ... ok [INFO] [stdout] test clip_metadata::tests::test_clip_metadata_has_attribute_after_set ... ok [INFO] [stdout] test clip_metadata::tests::test_clip_metadata_overwrite ... ok [INFO] [stdout] test clip_metadata::tests::test_clip_metadata_missing_attribute ... ok [INFO] [stdout] test clip_metadata::tests::test_codec_is_technical ... ok [INFO] [stdout] test clip_metadata::tests::test_description_not_technical ... ok [INFO] [stdout] test clip_metadata::tests::test_rating_not_technical ... ok [INFO] [stdout] test clip_metadata::tests::test_diff_detects_difference ... ok [INFO] [stdout] test clip_metadata::tests::test_diff_same_sets_empty ... ok [INFO] [stdout] test clip_merge::tests::test_compute_concat_duration ... ok [INFO] [stdout] test clip_metadata::tests::test_frame_rate_is_technical ... ok [INFO] [stdout] test clip_metadata::tests::test_set_merge_overwrites ... ok [INFO] [stdout] test clip_metadata::tests::test_tag_not_technical ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_clear ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_collection ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_item_effective_duration ... ok [INFO] [stdout] test clip_fingerprint::tests::test_compute_phash_half_bright ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_move_item ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_find_by_title ... ok [INFO] [stdout] test clip_metadata::tests::test_set_merge_adds_new_clip ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_item_effective_duration_with_start_only ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_item_new ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_navigation_none ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_navigation_repeat_all ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_previous ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_navigation_repeat_one ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_new ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_remove ... ok [INFO] [stdout] test clip_relations::tests::test_add_and_find_related ... ok [INFO] [stdout] test clip_relations::tests::test_clip_relation_is_forward_false ... ok [INFO] [stdout] test clip_relations::tests::test_alternate_not_derivative ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_push_and_len ... ok [INFO] [stdout] test clip_relations::tests::test_clip_relation_is_forward_true ... ok [INFO] [stdout] test clip_relations::tests::test_duplicate_not_derivative ... ok [INFO] [stdout] test clip_relations::tests::test_edge_count ... ok [INFO] [stdout] test clip_relations::tests::test_find_related_by_type ... ok [INFO] [stdout] test clip_relations::tests::test_find_related_empty ... ok [INFO] [stdout] test clip_relations::tests::test_subclip_is_derivative ... ok [INFO] [stdout] test clip_relations::tests::test_has_direct_relation_false ... ok [INFO] [stdout] test clip_relations::tests::test_transitively_related_chain ... ok [INFO] [stdout] test clip_relations::tests::test_relation_labels ... ok [INFO] [stdout] test clip_relations::tests::test_has_direct_relation_true ... ok [INFO] [stdout] test clip_relations::tests::test_version_is_derivative ... ok [INFO] [stdout] test clip_relations::tests::test_transitively_related_no_cycle_explosion ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_canonical_edge_count_multiple_types ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_duplicate_add_is_idempotent ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_add_creates_both_directions ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_find_related_from_both_endpoints ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_multiple_clips_connected_to_one ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_empty_graph_has_no_relations ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_find_related_by_type_from_both_sides ... ok [INFO] [stdout] test clip_search::tests::search_by_keyword_finds_matches ... ok [INFO] [stdout] test clip_search::tests::query_has_criteria_empty ... ok [INFO] [stdout] test clip_relations_bidirectional::tests::test_transitively_related_bidirectional_chain ... ok [INFO] [stdout] test clip_search::tests::query_has_criteria_with_one ... ok [INFO] [stdout] test clip_search::tests::search_by_name_finds_matches ... ok [INFO] [stdout] test clip_search::tests::search_by_description ... ok [INFO] [stdout] test clip_search::tests::search_case_insensitive_by_default ... ok [INFO] [stdout] test clip_search::tests::search_case_sensitive_no_match ... ok [INFO] [stdout] test clip_search::tests::search_field_label_all ... ok [INFO] [stdout] test clip_search::tests::search_empty_query_returns_all ... ok [INFO] [stdout] test clip_search::tests::search_field_label_name ... ok [INFO] [stdout] test clip_search::tests::search_field_is_metadata ... ok [INFO] [stdout] test clip_search::tests::search_no_match_returns_empty ... ok [INFO] [stdout] test clip_search::tests::search_by_file_path ... ok [INFO] [stdout] test clip_audit::tests::test_change_type_display ... ok [INFO] [stdout] test clip_search::tests::search_with_limit ... ok [INFO] [stdout] test clip_tag::tests::test_clip_tag_binding_auto_clamp ... ok [INFO] [stdout] test clip_playlist::tests::test_playlist_total_duration ... ok [INFO] [stdout] test clip_tag::tests::test_clip_tag_binding_manual ... ok [INFO] [stdout] test clip_tag::tests::test_registry_assign_and_query ... ok [INFO] [stdout] test clip_tag::tests::test_clip_tag_binding_auto ... ok [INFO] [stdout] test clip_search::tests::search_sorted_by_name ... ok [INFO] [stdout] test clip_tag::tests::test_registry_assign_invalid_tag ... ok [INFO] [stdout] test clip_tag::tests::test_registry_register_colored_tag ... ok [INFO] [stdout] test clip_tag::tests::test_registry_clips_with_all_tags ... ok [INFO] [stdout] test clip_tag::tests::test_registry_register_tag ... ok [INFO] [stdout] test clip_tag::tests::test_registry_remove_tag ... ok [INFO] [stdout] test clip_tag::tests::test_registry_tags_in_namespace ... ok [INFO] [stdout] test clip_tag::tests::test_tag_full_path ... ok [INFO] [stdout] test clip_tag::tests::test_registry_suggest_tags ... ok [INFO] [stdout] test clip_tag::tests::test_tag_is_category ... ok [INFO] [stdout] test clip_tag::tests::test_registry_tag_frequencies ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_add_entry ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_duration_seconds ... ok [INFO] [stdout] test clip_tag::tests::test_tag_new ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_find_gaps ... ok [INFO] [stdout] test clip_tag::tests::test_tag_is_namespace ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_find_overlaps ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_move_entry ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_remove_entry ... ok [INFO] [stdout] test clip_timeline::tests::test_clip_timeline_total_duration ... ok [INFO] [stdout] test clip_timeline::tests::test_effective_source_duration ... ok [INFO] [stdout] test clip_timeline::tests::test_entries_on_track ... ok [INFO] [stdout] test clip_timeline::tests::test_sorted_entry_ids ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_entry_end ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_entry_no_overlap_different_tracks ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_entry_overlaps_range ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_entry_overlaps_with ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_gap_duration ... ok [INFO] [stdout] test clip_timeline::tests::test_timeline_track_new ... ok [INFO] [stdout] test clip_waveform::tests::test_empty_samples_returns_empty_waveform ... ok [INFO] [stdout] test clip_waveform::tests::test_min_max_ordering ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_empty_samples_returns_zeros ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_silence_is_silent ... ok [INFO] [stdout] test clip_waveform::tests::test_pixels_per_second_stored ... ok [INFO] [stdout] test clip_waveform::tests::test_duration_secs_correct ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_zero_width_returns_empty ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_width_proportional_to_duration ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_width_field_matches_rms_len ... ok [INFO] [stdout] test clip_waveform::tests::test_positive_only_signal_peaks_non_negative_min ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_correct_length ... ok [INFO] [stdout] test clip_waveform::tests::test_zero_pixels_per_second_returns_empty ... ok [INFO] [stdout] test clip_waveform::tests::test_peak_amplitude_for_sine ... ok [INFO] [stdout] test database::query::tests::test_query_builder_params ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_sine_nonzero_rms ... ok [INFO] [stdout] test clip_waveform::tests::test_waveform_thumbnail_dc_rms_value ... ok [INFO] [stdout] test database::query::tests::test_query_builder ... ok [INFO] [stdout] test database::query::tests::test_query_builder_empty ... ok [INFO] [stdout] test export::edl::tests::test_edl_export ... ok [INFO] [stdout] test export::edl::tests::test_frames_to_timecode ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_clip_with_keywords_in_comments ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_contains_project_name ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_contains_sequence ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_contains_xmeml_root ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_produces_xml_declaration ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_empty_clips ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_single_clip_item ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_multiple_clips ... ok [INFO] [stdout] test export::fcpxml::tests::test_export_timebase ... ok [INFO] [stdout] test export::fcpxml::tests::test_xml_escape_special_chars ... ok [INFO] [stdout] test export::list::tests::test_export_json ... ok [INFO] [stdout] test database::storage::tests::test_save_and_get_clip ... ok [INFO] [stdout] test group::bin::tests::test_bin_clips ... ok [INFO] [stdout] test group::bin::tests::test_bin_creation ... ok [INFO] [stdout] test group::collection::tests::test_collection_creation ... ok [INFO] [stdout] test group::folder::tests::test_child_folder ... ok [INFO] [stdout] test group::folder::tests::test_child_folders ... ok [INFO] [stdout] test group::folder::tests::test_folder_clips ... ok [INFO] [stdout] test group::folder::tests::test_folder_creation ... ok [INFO] [stdout] test group::smart::tests::test_refresh_if_needed_skips_when_not_needed ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_auto_refresh_needs_refresh_when_cache_invalid ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_auto_update_new_clips ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_cache_populated_after_update ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_invalidate_cache ... ok [INFO] [stdout] test group::collection::tests::test_collection_clips ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_keyword ... ok [INFO] [stdout] test export::list::tests::test_export_csv ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_match_modes ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_rating ... ok [INFO] [stdout] test group::smart::tests::test_smart_collection_poll_interval_accessors ... ok [INFO] [stdout] test import::batch::tests::test_batch_import ... ok [INFO] [stdout] test import::batch::tests::test_import_with_progress ... ok [INFO] [stdout] test import::scanner::tests::test_custom_extensions ... ok [INFO] [stdout] test logging::favorites::tests::test_favorites ... ok [INFO] [stdout] test import::scanner::tests::test_is_media_file ... ok [INFO] [stdout] test database::storage::tests::test_search_clips ... ok [INFO] [stdout] test database::migration::tests::test_migration ... ok [INFO] [stdout] test logging::keywords::tests::test_keyword_collection ... ok [INFO] [stdout] test logging::keywords::tests::test_keyword_creation ... ok [INFO] [stdout] test logging::keywords::tests::test_keyword_descendant ... ok [INFO] [stdout] test logging::keywords::tests::test_keyword_parent ... ok [INFO] [stdout] test logging::logger::tests::test_logger_creation ... ok [INFO] [stdout] test logging::logger::tests::test_log_clip ... ok [INFO] [stdout] test export::list::tests::test_csv_escape ... ok [INFO] [stdout] test logging::ratings::tests::test_rating_from_value ... ok [INFO] [stdout] test logging::ratings::tests::test_rating_to_value ... ok [INFO] [stdout] test marker::export::tests::test_frames_to_timecode ... ok [INFO] [stdout] test manager::tests::test_clip_manager ... ok [INFO] [stdout] test marker::export::tests::test_to_csv ... ok [INFO] [stdout] test logging::ratings::tests::test_rating_ordering ... ok [INFO] [stdout] test marker::manager::tests::test_marker_manager ... ok [INFO] [stdout] test marker::manager::tests::test_remove_marker ... ok [INFO] [stdout] test database::storage::tests::test_database_creation ... ok [INFO] [stdout] test marker::range::tests::test_collection_add_and_get ... ok [INFO] [stdout] test marker::range::tests::test_collection_default ... ok [INFO] [stdout] test marker::range::tests::test_collection_at_frame ... ok [INFO] [stdout] test marker::range::tests::test_collection_find_overlaps ... ok [INFO] [stdout] test marker::range::tests::test_collection_remove ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_contains ... ok [INFO] [stdout] test marker::range::tests::test_collection_sorted ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_duration_single_frame ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_duration ... ok [INFO] [stdout] test marker::range::tests::test_collection_to_csv ... ok [INFO] [stdout] test manager::tests::test_search ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_new ... ok [INFO] [stdout] test manager::tests::test_bins ... ok [INFO] [stdout] test manager::tests::test_add_and_get_clip ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_no_overlap ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_overlaps_adjacent ... ok [INFO] [stdout] test marker::range::tests::test_marker_range_overlaps_yes ... ok [INFO] [stdout] test marker::types::tests::test_range_marker ... ok [INFO] [stdout] test marker::types::tests::test_todo_marker ... ok [INFO] [stdout] test note::annotation::tests::test_note_at_frame ... ok [INFO] [stdout] test note::annotation::tests::test_note_creation ... ok [INFO] [stdout] test note::thread::tests::test_thread_creation ... ok [INFO] [stdout] test note::annotation::tests::test_note_reply ... ok [INFO] [stdout] test marker::types::tests::test_chapter_marker ... ok [INFO] [stdout] test marker::types::tests::test_marker_creation ... ok [INFO] [stdout] test note::thread::tests::test_thread_depth ... ok [INFO] [stdout] test proxy::link::tests::test_proxy_link ... ok [INFO] [stdout] test note::thread::tests::test_thread_replies ... ok [INFO] [stdout] test proxy::link::tests::test_proxy_quality ... ok [INFO] [stdout] test proxy::manager::tests::test_clear_proxies ... ok [INFO] [stdout] test proxy_link::tests::test_megapixels_custom ... ok [INFO] [stdout] test proxy_link::tests::test_megapixels_full ... ok [INFO] [stdout] test proxy::manager::tests::test_proxy_manager ... ok [INFO] [stdout] test proxy_link::tests::test_megapixels_half ... ok [INFO] [stdout] test proxy_link::tests::test_megapixels_quarter ... ok [INFO] [stdout] test note::annotation::tests::test_annotation ... ok [INFO] [stdout] test proxy_link::tests::test_registry_link_and_find ... ok [INFO] [stdout] test proxy_link::tests::test_proxy_link_full_not_offline_edit_suitable ... ok [INFO] [stdout] test proxy_link::tests::test_proxy_link_not_verified_initially ... ok [INFO] [stdout] test proxy_link::tests::test_registry_total_link_count ... ok [INFO] [stdout] test proxy_link::tests::test_proxy_resolution_label ... ok [INFO] [stdout] test proxy_link::tests::test_registry_link_replaces_same_resolution ... ok [INFO] [stdout] test proxy_link::tests::test_registry_unlink_missing_returns_false ... ok [INFO] [stdout] test proxy_meta::tests::test_count ... ok [INFO] [stdout] test proxy_meta::tests::test_is_proxy_valid_dimensions_match ... ok [INFO] [stdout] test proxy_meta::tests::test_is_proxy_valid_not_registered ... ok [INFO] [stdout] test proxy_link::tests::test_proxy_link_offline_edit_suitable_quarter ... ok [INFO] [stdout] test proxy_meta::tests::test_list_all ... ok [INFO] [stdout] test proxy_link::tests::test_proxy_link_verified_after_verify ... ok [INFO] [stdout] test proxy_link::tests::test_registry_find_missing ... ok [INFO] [stdout] test proxy_meta::tests::test_proxy_spec_fields ... ok [INFO] [stdout] test proxy_meta::tests::test_register_empty_original_path_errors ... ok [INFO] [stdout] test proxy_meta::tests::test_register_and_find ... ok [INFO] [stdout] test proxy_meta::tests::test_proxy_metadata_fields ... ok [INFO] [stdout] test proxy_meta::tests::test_register_empty_proxy_path_errors ... ok [INFO] [stdout] test proxy_meta::tests::test_remove_missing_returns_none ... ok [INFO] [stdout] test proxy_meta::tests::test_register_overwrites_duplicate ... ok [INFO] [stdout] test proxy_meta::tests::test_remove_existing ... ok [INFO] [stdout] test proxy_meta::tests::test_validation_error_display_dimension_mismatch ... ok [INFO] [stdout] test proxy_meta::tests::test_validation_error_display_not_registered ... ok [INFO] [stdout] test rating::batch::tests::test_batch_result ... ok [INFO] [stdout] test rating::batch::tests::test_apply_idempotent_already_rated ... ok [INFO] [stdout] test rating::batch::tests::test_apply_idempotent_changes_applied ... ok [INFO] [stdout] test rating::batch::tests::test_batch_note_appended ... ok [INFO] [stdout] test rating::batch::tests::test_batch_set_flag_apply ... ok [INFO] [stdout] test rating::batch::tests::test_batch_set_rating_and_flag ... ok [INFO] [stdout] test rating::batch::tests::test_batch_set_rating_apply ... ok [INFO] [stdout] test rating::batch::tests::test_batch_with_note ... ok [INFO] [stdout] test rating::batch::tests::test_reject_below ... ok [INFO] [stdout] test rating::batch::tests::test_select_by_flag ... ok [INFO] [stdout] test rating::batch::tests::test_export_csv ... ok [INFO] [stdout] test rating::tests::test_clip_rating_ordering ... ok [INFO] [stdout] test rating::batch::tests::test_select_by_rating ... ok [INFO] [stdout] test rating::tests::test_clip_flag_name ... ok [INFO] [stdout] test rating::tests::test_clip_rating_stars ... ok [INFO] [stdout] test rating::tests::test_filter_by_min_rating ... ok [INFO] [stdout] test rating::tests::test_from_stars ... ok [INFO] [stdout] test rating::tests::test_rating_database_nonexistent ... ok [INFO] [stdout] test rating::tests::test_rating_database_overwrite ... ok [INFO] [stdout] test rating::tests::test_filter_by_flag ... ok [INFO] [stdout] test rating::tests::test_filter_by_rating_and_flag ... ok [INFO] [stdout] test rating::tests::test_rating_stats_acceptance_rate ... ok [INFO] [stdout] test rating::tests::test_rating_database_set_get ... ok [INFO] [stdout] test search::engine::tests::test_search_by_keyword ... ok [INFO] [stdout] test rating::tests::test_rating_stats_empty ... ok [INFO] [stdout] test search::engine::tests::test_search_by_name ... ok [INFO] [stdout] test search::engine::tests::test_search_scored ... ok [INFO] [stdout] test search::filter::tests::test_rating_filter ... ok [INFO] [stdout] test search::fuzzy::tests::test_is_match_false ... ok [INFO] [stdout] test search::filter::tests::test_keyword_filter ... ok [INFO] [stdout] test search::fuzzy::tests::test_is_match_true ... ok [INFO] [stdout] test search::filter::tests::test_favorite_filter ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_classic ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_empty_b ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_empty_a ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_identical ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_single_deletion ... ok [INFO] [stdout] test proxy_meta::tests::test_find_missing_returns_none ... ok [INFO] [stdout] test proxy_link::tests::test_registry_unlink ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_by_keyword ... ok [INFO] [stdout] test proxy_meta::tests::test_is_proxy_valid_dimension_mismatch ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_by_name ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_min_score_filter ... ok [INFO] [stdout] test search::fuzzy::tests::test_levenshtein_single_insertion ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_sorted_descending ... ok [INFO] [stdout] test search::fuzzy::tests::test_score_case_insensitive ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_empty_list ... ok [INFO] [stdout] test search::fuzzy::tests::test_match_clips_empty_pattern_matches_all_at_zero_threshold ... ok [INFO] [stdout] test search::fuzzy::tests::test_score_empty_both ... ok [INFO] [stdout] test search::fuzzy::tests::test_score_exact_match ... ok [INFO] [stdout] test storyboard::tests::test_config_default_values ... ok [INFO] [stdout] test storyboard::tests::test_fps_timestamps_zero_duration ... ok [INFO] [stdout] test search::fuzzy::tests::test_score_partial_match ... ok [INFO] [stdout] test storyboard::tests::test_fps_timestamps_basic ... ok [INFO] [stdout] test search::fuzzy::tests::test_score_completely_different ... ok [INFO] [stdout] test storyboard::tests::test_fps_timestamps_zero_fps ... ok [INFO] [stdout] test storyboard::tests::test_frame_aspect_ratio_normal ... ok [INFO] [stdout] test storyboard::tests::test_fps_timestamps_negative_fps ... ok [INFO] [stdout] test storyboard::tests::test_frame_aspect_ratio_zero_height ... ok [INFO] [stdout] test storyboard::tests::test_frame_no_caption_by_default ... ok [INFO] [stdout] test storyboard::tests::test_generate_captions_present ... ok [INFO] [stdout] test storyboard::tests::test_generate_clip_id_matches ... ok [INFO] [stdout] test storyboard::tests::test_generate_empty_clips ... ok [INFO] [stdout] test storyboard::tests::test_generate_panel_numbers_sequential ... ok [INFO] [stdout] test storyboard::tests::test_generate_thumbnail_size_matches_config ... ok [INFO] [stdout] test storyboard::tests::test_generate_no_captions_when_disabled ... ok [INFO] [stdout] test storyboard::tests::test_generate_panel_count ... ok [INFO] [stdout] test storyboard::tests::test_panel_is_long_false_equal ... ok [INFO] [stdout] test subclip::inherit::tests::test_default_trait ... ok [INFO] [stdout] test storyboard::tests::test_panel_is_long_false_below ... ok [INFO] [stdout] test storyboard::tests::test_panel_is_long_true ... ok [INFO] [stdout] test subclip::inherit::tests::test_merge_from_overrides_description ... ok [INFO] [stdout] test subclip::inherit::tests::test_registry_get_parent ... ok [INFO] [stdout] test subclip::inherit::tests::test_registry_unknown_parent ... ok [INFO] [stdout] test subclip::inherit::tests::test_inheritable_metadata_new ... ok [INFO] [stdout] test subclip::inherit::tests::test_resolve_inherit_none ... ok [INFO] [stdout] test subclip::inherit::tests::test_merge_from_keywords_union ... ok [INFO] [stdout] test subclip::inherit::tests::test_registry_register_and_resolve ... ok [INFO] [stdout] test subclip::inherit::tests::test_resolve_inherit_all ... ok [INFO] [stdout] test subclip::inherit::tests::test_resolve_production_only ... ok [INFO] [stdout] test subclip::tests::test_edl_event_format ... ok [INFO] [stdout] test subclip::tests::test_subclip_duration ... ok [INFO] [stdout] test subclip::tests::test_frames_to_timecode ... ok [INFO] [stdout] test subclip::inherit::tests::test_resolve_keywords_only ... ok [INFO] [stdout] test subclip::tests::test_subclip_id_display ... ok [INFO] [stdout] test subclip::inherit::tests::test_resolve_production_only_subclip_overrides ... ok [INFO] [stdout] test subclip::tests::test_subclip_duration_zero ... ok [INFO] [stdout] test subclip::tests::test_subclip_tree_add_and_children ... ok [INFO] [stdout] test subclip::tests::test_subclip_tree_empty ... ok [INFO] [stdout] test storyboard::tests::test_frame_aspect_ratio_square ... ok [INFO] [stdout] test subclip::tests::test_validator_in_out_equal ... ok [INFO] [stdout] test subclip::tests::test_validator_out_exceeds_parent ... ok [INFO] [stdout] test subclip::tests::test_validator_valid ... ok [INFO] [stdout] test subclip::tests::test_validator_empty_label ... ok [INFO] [stdout] test sync::tests::test_clap_detector_empty ... ok [INFO] [stdout] test sync::tests::test_clap_detector_finds_peak ... ok [INFO] [stdout] test sync::tests::test_audio_clap_accuracy ... ok [INFO] [stdout] test sync::tests::test_clap_detector_zero_sample_rate ... ok [INFO] [stdout] test sync::tests::test_manual_accuracy ... ok [INFO] [stdout] test sync::tests::test_offset_for_negative ... ok [INFO] [stdout] test sync::tests::test_multi_clip_sync_new ... ok [INFO] [stdout] test sync::tests::test_clap_detector_respects_10s_window ... ok [INFO] [stdout] test sync::tests::test_offset_for_returns_correct_value ... ok [INFO] [stdout] test sync::tests::test_offset_for_no_reference ... ok [INFO] [stdout] test sync::tests::test_sync_point_not_reliable ... ok [INFO] [stdout] test sync::tests::test_sync_point_reliable_at_threshold ... ok [INFO] [stdout] test sync::tests::test_sync_report_accurate_timecode ... ok [INFO] [stdout] test sync::tests::test_sync_report_not_accurate_failed ... ok [INFO] [stdout] test sync::tests::test_set_reference ... ok [INFO] [stdout] test sync::tests::test_sync_point_reliable_above_threshold ... ok [INFO] [stdout] test subclip::tests::test_subclip_tree_flatten ... ok [INFO] [stdout] test sync::tests::test_sync_report_not_accurate_low_confidence ... ok [INFO] [stdout] test subclip::tests::test_subclip_tree_len ... ok [INFO] [stdout] test sync::tests::test_timecode_accuracy ... ok [INFO] [stdout] test sync::tests::test_waveform_accuracy ... ok [INFO] [stdout] test take::manager::tests::test_remove_take ... ok [INFO] [stdout] test take::manager::tests::test_take_manager ... ok [INFO] [stdout] test take::multi_criteria::tests::test_score_all_empty_takes ... ok [INFO] [stdout] test take::multi_criteria::tests::test_score_all_sorted_descending ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_duration_match_prefers_closer_duration ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_empty_returns_none ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_prefers_most_recent_with_recency_only_weights ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_prefers_highest_rated_with_rating_only_weights ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_single_take ... ok [INFO] [stdout] test take::multi_criteria::tests::test_weights_is_zero ... ok [INFO] [stdout] test take::multi_criteria::tests::test_weights_uniform_total ... ok [INFO] [stdout] test trim::tests::test_black_frame_detector_basic ... ok [INFO] [stdout] test take::selector::tests::test_take_creation ... ok [INFO] [stdout] test trim::tests::test_black_frame_detector_all ... ok [INFO] [stdout] test take::selector::tests::test_take_selector ... ok [INFO] [stdout] test take::multi_criteria::tests::test_select_best_zero_weights_returns_none ... ok [INFO] [stdout] test trim::tests::test_black_frame_detector_none ... ok [INFO] [stdout] test trim::tests::test_silence_trimmer_basic ... ok [INFO] [stdout] test trim::tests::test_silence_trimmer_min_duration_filter ... ok [INFO] [stdout] test trim::tests::test_silence_trimmer_mixed ... ok [INFO] [stdout] test trim::tests::test_silence_trimmer_no_silence ... ok [INFO] [stdout] test trim::tests::test_smart_trimmer_empty ... ok [INFO] [stdout] test trim::tests::test_smart_trimmer_no_scene_changes ... ok [INFO] [stdout] test trim::tests::test_smart_trimmer_with_scene_changes ... ok [INFO] [stdout] test trim::tests::test_trim_batch ... ok [INFO] [stdout] test trim::tests::test_trim_reasons ... ok [INFO] [stdout] test trim::tests::test_trim_point_confidence_clamped ... ok [INFO] [stdout] test sync::tests::test_sync_report_not_accurate_large_offset ... ok [INFO] [stdout] test sync::tests::test_synchronized_clips_list ... ok [INFO] [stdout] test trim::tests::test_trim_suggestion_same_frame ... ok [INFO] [stdout] test version::tests::test_age_ms_future_creation ... ok [INFO] [stdout] test version::tests::test_age_ms_normal ... ok [INFO] [stdout] test version::tests::test_ancestors_chain ... ok [INFO] [stdout] test version::tests::test_create_branch_invalid_parent ... ok [INFO] [stdout] test version::tests::test_ancestors_single_parent ... ok [INFO] [stdout] test version::tests::test_create_branch_valid_parent ... ok [INFO] [stdout] test version::tests::test_create_root_returns_id ... ok [INFO] [stdout] test version::tests::test_descendants_from_root ... ok [INFO] [stdout] test version::tests::test_descendants_leaf_is_empty ... ok [INFO] [stdout] test version::tests::test_is_root_false_for_branch ... ok [INFO] [stdout] test trim::tests::test_trim_suggestion_duration ... ok [INFO] [stdout] test version::tests::test_tip_versions_after_branching ... ok [INFO] [stdout] test version::tests::test_tip_versions_only_root ... ok [INFO] [stdout] test version::tests::test_is_root_true ... ok [INFO] [stdout] test version::tests::test_version_numbers_increment ... ok [INFO] [stdout] test version::tests::test_ancestors_root_has_none ... ok [INFO] [stdout] test clip_waveform::tests::test_generate_from_file_produces_nonempty_waveform ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 554 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_clips [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/lib.rs - (line 18) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8a50b2e3fb87e9caee51becbf80e6d41617df671937fac74f0d526ba6d66db4d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8a50b2e3fb87e9caee51becbf80e6d41617df671937fac74f0d526ba6d66db4d", kill_on_drop: false }` [INFO] [stdout] 8a50b2e3fb87e9caee51becbf80e6d41617df671937fac74f0d526ba6d66db4d