[INFO] fetching crate oximedia-cv 0.1.2... [INFO] testing oximedia-cv-0.1.2 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate oximedia-cv 0.1.2 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate oximedia-cv 0.1.2 [INFO] finished tweaking crates.io crate oximedia-cv 0.1.2 [INFO] tweaked toml for crates.io crate oximedia-cv 0.1.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate oximedia-cv 0.1.2 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-cv 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 33ad9146c8321780fc27b40f9ec68ab8ba8420d191895541ce7e3a26adf9b2fe [INFO] running `Command { std: "docker" "start" "-a" "33ad9146c8321780fc27b40f9ec68ab8ba8420d191895541ce7e3a26adf9b2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "33ad9146c8321780fc27b40f9ec68ab8ba8420d191895541ce7e3a26adf9b2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "33ad9146c8321780fc27b40f9ec68ab8ba8420d191895541ce7e3a26adf9b2fe", kill_on_drop: false }` [INFO] [stdout] 33ad9146c8321780fc27b40f9ec68ab8ba8420d191895541ce7e3a26adf9b2fe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 6666ddb63d6394e1dee8feeed9e9f7bf1a04d08e599543458dd4c0b33017cee1 [INFO] running `Command { std: "docker" "start" "-a" "6666ddb63d6394e1dee8feeed9e9f7bf1a04d08e599543458dd4c0b33017cee1", kill_on_drop: false }` [INFO] [stderr] Compiling libm v0.2.16 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling matrixmultiply v0.3.10 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling rawpointer v0.2.1 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling seahash v4.1.0 [INFO] [stderr] Compiling spin v0.10.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling jpeg-decoder v0.3.2 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling oximedia-cv v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling num-complex v0.4.6 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling ndarray v0.17.2 [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 tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling oxifft-codegen v0.1.3 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling oximedia-core v0.1.2 [INFO] [stderr] Compiling oxifft v0.1.3 [INFO] [stderr] Compiling oximedia-io v0.1.2 [INFO] [stderr] Compiling oximedia-codec v0.1.2 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.28s [INFO] running `Command { std: "docker" "inspect" "6666ddb63d6394e1dee8feeed9e9f7bf1a04d08e599543458dd4c0b33017cee1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6666ddb63d6394e1dee8feeed9e9f7bf1a04d08e599543458dd4c0b33017cee1", kill_on_drop: false }` [INFO] [stdout] 6666ddb63d6394e1dee8feeed9e9f7bf1a04d08e599543458dd4c0b33017cee1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 23266b9f524661e7c89349b18ecee7a1d88ef566c25bfc7cc02380b56324f771 [INFO] running `Command { std: "docker" "start" "-a" "23266b9f524661e7c89349b18ecee7a1d88ef566c25bfc7cc02380b56324f771", kill_on_drop: false }` [INFO] [stderr] Compiling oximedia-cv v0.1.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 13.53s [INFO] running `Command { std: "docker" "inspect" "23266b9f524661e7c89349b18ecee7a1d88ef566c25bfc7cc02380b56324f771", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23266b9f524661e7c89349b18ecee7a1d88ef566c25bfc7cc02380b56324f771", kill_on_drop: false }` [INFO] [stdout] 23266b9f524661e7c89349b18ecee7a1d88ef566c25bfc7cc02380b56324f771 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 9f5e55b49cce6a22b02af5e7575ab875b83a2f22b81c61fae5e95b6b5f843699 [INFO] running `Command { std: "docker" "start" "-a" "9f5e55b49cce6a22b02af5e7575ab875b83a2f22b81c61fae5e95b6b5f843699", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_cv-fb38b9f2d32985fd) [INFO] [stdout] running 1010 tests [INFO] [stdout] test background_subtraction::tests::test_apply_single_pixel ... ok [INFO] [stdout] test background_subtraction::tests::test_apply_returns_correct_length ... ok [INFO] [stdout] test background_subtraction::tests::test_apply_increments_frame_count ... ok [INFO] [stdout] test background_subtraction::tests::test_components_at_out_of_bounds ... ok [INFO] [stdout] test background_subtraction::tests::test_components_capped_at_max_k ... ok [INFO] [stdout] test background_subtraction::tests::test_components_grow_on_new_values ... ok [INFO] [stdout] test background_subtraction::tests::test_default_config ... ok [INFO] [stdout] test background_subtraction::tests::test_reset_clears_model ... ok [INFO] [stdout] test bounding_box::tests::test_bbox_stats_from_empty ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_contains_point_on_edge ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_iou_identical ... ok [INFO] [stdout] test background_subtraction::tests::test_model_adapts_to_background_shift ... ok [INFO] [stdout] test background_subtraction::tests::test_sudden_foreground_detected ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_contains_point_inside ... ok [INFO] [stdout] test background_subtraction::tests::test_foreground_fraction_helper ... ok [INFO] [stdout] test background_subtraction::tests::test_wrong_size_frame_returns_zeros ... ok [INFO] [stdout] test background_subtraction::tests::test_mask_values_binary ... ok [INFO] [stdout] test background_subtraction::tests::test_background_converges_to_zero_fg ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_list_nms_removes_overlapping ... ok [INFO] [stdout] test background_subtraction::tests::test_foreground_fraction_empty ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_contains_point_outside ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_iou_partial_overlap ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_negative_size_clamped ... ok [INFO] [stdout] test chroma_key::matting::tests::test_alpha_matte_get_set ... ok [INFO] [stdout] test chroma_key::matting::tests::test_alpha_matte_foreground_pixels ... ok [INFO] [stdout] test chroma_key::matting::tests::test_alpha_matte_new ... ok [INFO] [stdout] test chroma_key::matting::tests::test_extractor_invalid_trimap_size ... ok [INFO] [stdout] test chroma_key::matting::tests::test_matting_config_default ... ok [INFO] [stdout] test chroma_key::matting::tests::test_trimap_label_equality ... ok [INFO] [stdout] test color_cluster::tests::test_color_cluster_new ... ok [INFO] [stdout] test chroma_key::matting::tests::test_alpha_matte_apply_to_rgba ... ok [INFO] [stdout] test color_cluster::tests::test_cluster_result_dominant_empty ... ok [INFO] [stdout] test color_cluster::tests::test_distance_sq_known ... ok [INFO] [stdout] test color_cluster::tests::test_distance_known ... ok [INFO] [stdout] test color_cluster::tests::test_distance_sq_zero ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_converges ... ok [INFO] [stdout] test color_cluster::tests::test_dominant_color ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_empty ... ok [INFO] [stdout] test chroma_key::matting::tests::test_extractor_unknown_region_estimated ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_bad_len ... ok [INFO] [stdout] test chroma_key::matting::tests::test_extractor_zero_dimensions ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_area ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_iou_no_overlap ... ok [INFO] [stdout] test chroma_key::matting::tests::test_alpha_matte_clamp ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_two_clusters ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_single_pixel ... ok [INFO] [stdout] test color_cluster::tests::test_luminance ... ok [INFO] [stdout] test chroma_key::matting::tests::test_extractor_trimap_constraints ... ok [INFO] [stdout] test color_cluster::tests::test_to_rgb_u8_clamp ... ok [INFO] [stdout] test contour::tests::test_contour_approx_lossless ... ok [INFO] [stdout] test contour::tests::test_contour_approx_default ... ok [INFO] [stdout] test color_cluster::tests::test_sorted_by_count ... ok [INFO] [stdout] test contour::tests::test_contour_area_square ... ok [INFO] [stdout] test contour::tests::test_contour_bounding_box ... ok [INFO] [stdout] test color_cluster::tests::test_kmeans_k_exceeds_n ... ok [INFO] [stdout] test contour::tests::test_contour_circularity_square_lt_one ... ok [INFO] [stdout] test contour::tests::test_contour_is_not_convex ... ok [INFO] [stdout] test contour::tests::test_contour_perimeter_square ... ok [INFO] [stdout] test contour::tests::test_contour_too_small_for_convex ... ok [INFO] [stdout] test contour::tests::test_finder_all_black ... ok [INFO] [stdout] test contour::tests::test_filter_by_area ... ok [INFO] [stdout] test contour::tests::test_finder_empty_image ... ok [INFO] [stdout] test contour::tests::test_contour_empty ... ok [INFO] [stdout] test color_cluster::tests::test_to_rgb_u8 ... ok [INFO] [stdout] test contour::tests::test_contour_centroid ... ok [INFO] [stdout] test contour::tests::test_contour_is_convex_square ... ok [INFO] [stdout] test contour::tests::test_point2i_equality ... ok [INFO] [stdout] test deep_sort::tests::test_bbox_to_kalman_round_trip ... ok [INFO] [stdout] test contour::tests::test_contour_is_hole_flag ... ok [INFO] [stdout] test deep_sort::tests::test_cosine_distance_orthogonal ... ok [INFO] [stdout] test deep_sort::tests::test_cosine_distance_identical ... ok [INFO] [stdout] test deep_sort::tests::test_cosine_distance_zero_vector ... ok [INFO] [stdout] test contour::tests::test_finder_single_pixel ... ok [INFO] [stdout] test deep_sort::tests::test_feature_norm_zero ... ok [INFO] [stdout] test deep_sort::tests::test_feature_normalized_unit_length ... ok [INFO] [stdout] test deep_sort::tests::test_iou_distance_full_overlap ... ok [INFO] [stdout] test deep_sort::tests::test_kalman_build_dimensions ... ok [INFO] [stdout] test deep_sort::tests::test_feature_norm_unit ... ok [INFO] [stdout] test deep_sort::tests::test_iou_distance_no_overlap ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_removes_stale_tracks ... ok [INFO] [stdout] test background_subtraction::tests::test_new_mog ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_list_nms_keeps_non_overlapping ... ok [INFO] [stdout] test deep_sort::tests::test_track_min_appearance_distance ... ok [INFO] [stdout] test deep_sort::tests::test_track_new ... ok [INFO] [stdout] test deep_sort::tests::test_track_predict_increases_age ... ok [INFO] [stdout] test deep_sort::tests::test_track_update_increments_hits ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_empty_input ... ok [INFO] [stdout] test deep_sort::tests::test_kalman_state_to_bbox_short_state ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_new_id_per_detection ... ok [INFO] [stdout] test depth_estimation::tests::test_depth_estimate_depth_cm ... ok [INFO] [stdout] test depth_estimation::tests::test_depth_estimate_is_reliable ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_persists_track_across_frames ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_at_out_of_bounds ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_at_valid ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_avg ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_max_disparity ... ok [INFO] [stdout] test depth_estimation::tests::test_estimator_all_reliable_close_range ... ok [INFO] [stdout] test depth_estimation::tests::test_depth_estimate_is_reliable_custom ... ok [INFO] [stdout] test depth_estimation::tests::test_stereo_params_disparity_to_depth ... ok [INFO] [stdout] test deep_sort::tests::test_track_feature_history_cap ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_single_detection_confirms_after_min_hits ... ok [INFO] [stdout] test depth_estimation::tests::test_stereo_params_zero_disparity_gives_infinity ... ok [INFO] [stdout] test detect::corner::tests::test_apply_min_distance ... ok [INFO] [stdout] test deep_sort::tests::test_tracker_track_count_grows ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_dimensions ... ok [INFO] [stdout] test detect::corner::tests::test_compute_sobel ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_valid_pixel_count ... ok [INFO] [stdout] test detect::corner::tests::test_corner_new ... ok [INFO] [stdout] test detect::corner::tests::test_box_filter ... ok [INFO] [stdout] test depth_estimation::tests::test_disparity_map_avg_with_invalids ... ok [INFO] [stdout] test depth_estimation::tests::test_estimator_average_depth ... ok [INFO] [stdout] test detect::corner::tests::test_fast_detect ... ok [INFO] [stdout] test depth_estimation::tests::test_estimator_invalid_disparity_low_confidence ... ok [INFO] [stdout] test detect::corner::tests::test_fast_detector_with_params ... ok [INFO] [stdout] test detect::corner::tests::test_fast_detector_new ... ok [INFO] [stdout] test depth_estimation::tests::test_estimator_estimate_from_stereo_length ... ok [INFO] [stdout] test detect::corner::tests::test_harris_detect ... ok [INFO] [stdout] test detect::corner::tests::test_harris_detector_new ... ok [INFO] [stdout] test detect::corner::tests::test_harris_detector_with_params ... ok [INFO] [stdout] test detect::corner::tests::test_shi_tomasi_detector_new ... ok [INFO] [stdout] test detect::face::tests::test_detection_no_overlap ... ok [INFO] [stdout] test detect::face::tests::test_bbox_clip ... ok [INFO] [stdout] test detect::face::tests::test_detection_overlap ... ok [INFO] [stdout] test detect::face::tests::test_bbox_expand ... ok [INFO] [stdout] test detect::face::tests::test_extract_rgb_region ... ok [INFO] [stdout] test detect::face::tests::test_extract_rgb_region_clipped ... ok [INFO] [stdout] test detect::face::tests::test_bbox_iou ... ok [INFO] [stdout] test detect::face::tests::test_face_landmarks ... ok [INFO] [stdout] test detect::corner::tests::test_shi_tomasi_detect ... ok [INFO] [stdout] test detect::face::tests::test_bounding_box ... ok [INFO] [stdout] test detect::face::tests::test_haar_cascade_new ... ok [INFO] [stdout] test detect::face::tests::test_integral_image_mean ... ok [INFO] [stdout] test detect::face::tests::test_integral_image ... ok [INFO] [stdout] test detect::face::tests::test_detection_result ... ok [INFO] [stdout] test detect::face_align::tests::test_affine_matrix_identity ... ok [INFO] [stdout] test detect::face::tests::test_haar_cascade_detect_empty ... ok [INFO] [stdout] test detect::face_align::tests::test_affine_matrix_translation ... ok [INFO] [stdout] test detect::face_align::tests::test_cubic_weight ... ok [INFO] [stdout] test detect::face_align::tests::test_affine_matrix_inverse ... ok [INFO] [stdout] test detect::face::tests::test_point2d ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_align_invalid_dimensions ... ok [INFO] [stdout] test detect::face::tests::test_integral_image_variance ... ok [INFO] [stdout] test detect::face_align::tests::test_estimate_similarity_transform_identity ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_align_insufficient_data ... ok [INFO] [stdout] test detect::face_align::tests::test_point2f_distance ... ok [INFO] [stdout] test detect::face_align::tests::test_point2f_dot ... ok [INFO] [stdout] test detect::face_align::tests::test_point2f_new ... ok [INFO] [stdout] test detect::face_align::tests::test_reference_template_wide ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_landmark_mismatch ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_new ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_with_interpolation ... ok [INFO] [stdout] test detect::face::tests::test_resize_rgb_bilinear ... ok [INFO] [stdout] test detect::face_align::tests::test_affine_matrix_scale ... ok [INFO] [stdout] test detect::face_align::tests::test_face_aligner_align ... ok [INFO] [stdout] test detect::face_align::tests::test_reference_template_standard ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_detect_rotated_invalid_dimensions ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_confidence_threshold_filtering ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_nms_rotated_no_overlap ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_detect_rotated_insufficient_data ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_resize_grayscale_identity ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_multiscale_detector_creation ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_nms_rotated_with_overlap ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_max_face_size_constraint ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_multiscale_config_builder ... ok [INFO] [stdout] test bounding_box::tests::test_bounding_box_list_filter_by_confidence ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_nms_rotated_empty ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_reverse_rotate_point_identity ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotation_candidate_new ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotate_grayscale_preserves_center ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_resize_grayscale_downscale ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotation_candidate_90_degrees ... ok [INFO] [stdout] test detect::motion::tests::test_flow_field ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_reverse_rotate_point_center ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotate_grayscale_zero_angle ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotated_face_detection_struct ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_rotation_candidate_negative ... ok [INFO] [stdout] test detect::motion::tests::test_motion_detector_new ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_multiscale_config_default ... ok [INFO] [stdout] test detect::motion::tests::test_motion_detector_process ... ok [INFO] [stdout] test detect::motion::tests::test_motion_detector_reset ... ok [INFO] [stdout] test detect::motion::tests::test_motion_detector_with_motion ... ok [INFO] [stdout] test detect::motion::tests::test_optical_flow_calculate ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_from_center ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_center ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_contains ... ok [INFO] [stdout] test detect::motion::tests::test_motion_region ... ok [INFO] [stdout] test detect::motion::tests::test_optical_flow_new ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_resize_grayscale_upscale ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_detect_with_single_scale_single_rotation ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_expand ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_from_corners ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_intersection ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_intersects ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_new ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_scale ... ok [INFO] [stdout] test detect::object::tests::test_detection_new ... ok [INFO] [stdout] test detect::object::tests::test_filter_by_class ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_union ... ok [INFO] [stdout] test detect::object::tests::test_bounding_box_area ... ok [INFO] [stdout] test detect::object::tests::test_filter_by_confidence ... ok [INFO] [stdout] test detect::object::tests::test_giou ... ok [INFO] [stdout] test detect::object::tests::test_iou ... ok [INFO] [stdout] test detect::object_detect::tests::test_contains_point_outside ... ok [INFO] [stdout] test detect::object::tests::test_iou_no_overlap ... ok [INFO] [stdout] test detect::object::tests::test_iou_same_box ... ok [INFO] [stdout] test detect::object::tests::test_nms ... ok [INFO] [stdout] test detect::object::tests::test_nms_different_classes ... ok [INFO] [stdout] test detect::object::tests::test_soft_nms ... ok [INFO] [stdout] test detect::face::tests::test_face_region ... ok [INFO] [stdout] test detect::object_detect::tests::test_bbox_area ... ok [INFO] [stdout] test detect::object_detect::tests::test_bbox_new_and_fields ... ok [INFO] [stdout] test detect::object_detect::tests::test_bbox_right_bottom ... ok [INFO] [stdout] test detect::object_detect::tests::test_contains_point_inside ... ok [INFO] [stdout] test detect::object_detect::tests::test_detection_new ... ok [INFO] [stdout] test detect::object_detect::tests::test_detection_result ... ok [INFO] [stdout] test detect::object_detect::tests::test_detection_result_empty ... ok [INFO] [stdout] test detect::object_detect::tests::test_expand_zero ... ok [INFO] [stdout] test detect::object_detect::tests::test_filter_by_confidence_all_pass ... ok [INFO] [stdout] test detect::object_detect::tests::test_filter_by_confidence_none_pass ... ok [INFO] [stdout] test detect::object_detect::tests::test_filter_by_confidence_basic ... ok [INFO] [stdout] test detect::object_detect::tests::test_iou_identical ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_apply_per_class_nms ... ok [INFO] [stdout] test detect::object_detect::tests::test_detector_config_default ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov5_insufficient_channels ... ok [INFO] [stdout] test detect::object_detect::tests::test_expand ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov5_invalid_shape ... ok [INFO] [stdout] test detect::object_detect::tests::test_iou_no_overlap ... ok [INFO] [stdout] test detect::object_detect::tests::test_nms_suppresses_overlap ... ok [INFO] [stdout] test detect::object_detect::tests::test_nms_different_classes_not_suppressed ... ok [INFO] [stdout] test detect::object_detect::tests::test_iou_partial_overlap ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_apply_nms ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_apply_nms_max_detections ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov8_insufficient_channels ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov8_invalid_shape ... ok [INFO] [stdout] test detect::face_align::tests::test_interpolation_methods ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov5_with_detection ... ok [INFO] [stdout] test detect::object_detect::tests::test_nms_empty ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_letterbox_params ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_draw_detections_invalid_dimensions ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_draw_detections_with_multiple_classes ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_get_color ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_hsv_to_rgb ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_nms_suppresses_overlapping ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_mse_known ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_draw_detections ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_resize_bilinear ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov8_no_detections ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_psnr_size_mismatch ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_apply_unsharp_mask_no_effect_on_uniform ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_psnr_empty ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_psnr_different ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_mse_size_mismatch ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_psnr_identical ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_ssim_identical ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_cubic_weight_at_two ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_cubic_weight_at_zero ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_super_resolution_enhancer_new ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_decode_yolov5_no_detections ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_bilinear_2x ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_bilinear_uniform_color ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_ssim_different ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_ssim_invalid ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_mismatched_buffer ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_mode_uses_sharpening ... ok [INFO] [stdout] test detect::face_multiscale::tests::test_detect_rotated_uniform_image ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_nearest_2x ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_gaussian_blur_uniform ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_bicubic_2x ... ok [INFO] [stdout] test bounding_box::tests::test_bbox_stats_avg_area ... ok [INFO] [stdout] test detect::object_detect::tests::test_contains_point_on_edge ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_calculate_mse_identical ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_cubic_weight_at_one ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_super_resolution_enhancer_default ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_bicubic_4x ... ok [INFO] [stdout] test enhance::sharpening::tests::test_gaussian_blur_output_length ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_invalid_dimensions ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_mode_scale_factor ... ok [INFO] [stdout] test enhance::sharpening::tests::test_gaussian_kernel_sum ... ok [INFO] [stdout] test enhance::sharpening::tests::test_gaussian_kernel_length_odd ... ok [INFO] [stdout] test enhance::sharpening::tests::test_high_pass_sharpen_output_length ... ok [INFO] [stdout] test enhance::sharpening::tests::test_high_pass_sharpen_clamps ... ok [INFO] [stdout] test enhance::sharpening::tests::test_laplacian_sharpen_output_length ... ok [INFO] [stdout] test enhance::sharpening::tests::test_high_pass_sharpen_uniform_unchanged ... ok [INFO] [stdout] test enhance::sharpening::tests::test_laplacian_sharpen_clamps ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_via_enhancer_bilinear ... ok [INFO] [stdout] test enhance::sharpening::tests::test_gaussian_blur_uniform_preserves_value ... ok [INFO] [stdout] test enhance::sharpening::tests::test_laplacian_sharpen_small_image_passthrough ... ok [INFO] [stdout] test enhance::sharpening::tests::test_laplacian_sharpen_uniform_unchanged ... ok [INFO] [stdout] test enhance::sharpening::tests::test_sharpen_method_variants ... ok [INFO] [stdout] test enhance::sharpening::tests::test_unsharp_mask_output_length ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_compute_sad_identical ... ok [INFO] [stdout] test enhance::sharpening::tests::test_unsharp_mask_clamps_to_0_255 ... ok [INFO] [stdout] test enhance::sharpening::tests::test_unsharp_mask_uniform_unchanged ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_compute_sad_different ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_insufficient_data ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_via_enhancer_bicubic_sharp ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_invalid_dimensions ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_apply_unsharp_mask_size_preserved ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_process_first_frame ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_temporal_denoising_config_builder ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_temporal_blending_reduces_noise ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_temporal_denoiser_new ... ok [INFO] [stdout] test error::tests::test_color_conversion_error ... ok [INFO] [stdout] test error::tests::test_insufficient_data ... ok [INFO] [stdout] test error::tests::test_invalid_dimensions ... ok [INFO] [stdout] test error::tests::test_invalid_kernel_size ... ok [INFO] [stdout] test error::tests::test_invalid_parameter ... ok [INFO] [stdout] test error::tests::test_invalid_roi ... ok [INFO] [stdout] test error::tests::test_matrix_error ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_static_scene_high_temporal_weight ... ok [INFO] [stdout] test error::tests::test_transform_error ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_with_sharpness_setting ... ok [INFO] [stdout] test error::tests::test_detection_failed ... ok [INFO] [stdout] test feature_extract::tests::test_brief_descriptor_hamming_distance_one ... ok [INFO] [stdout] test error::tests::test_unsupported_format ... ok [INFO] [stdout] test feature_extract::tests::test_brief_descriptor_zero ... ok [INFO] [stdout] test feature_extract::tests::test_brief_descriptor_hamming_distance_zero ... ok [INFO] [stdout] test feature_extract::tests::test_brief_descriptor_set_and_test_bit ... ok [INFO] [stdout] test feature_extract::tests::test_keypoint_creation ... ok [INFO] [stdout] test feature_extract::tests::test_keypoint_distance ... ok [INFO] [stdout] test feature_extract::tests::test_keypoint_distance_to_self ... ok [INFO] [stdout] test feature_extract::tests::test_match_descriptors_identical ... ok [INFO] [stdout] test feature_extract::tests::test_match_descriptors_too_far ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_temporal_denoising_config_default ... ok [INFO] [stdout] test feature_extract::tests::test_orb_extractor_limits_features ... ok [INFO] [stdout] test feature_extract::tests::test_sift_detector_below_threshold_no_keypoints ... ok [INFO] [stdout] test feature_extract::tests::test_sift_detector_detects_peak ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_temporal_strength_zero ... ok [INFO] [stdout] test feature_extract::tests::test_brief_popcount ... ok [INFO] [stdout] test feature_extract::tests::test_sift_detector_empty_image_returns_empty ... ok [INFO] [stdout] test feature_match::tests::test_feature_match_good_matches_filter ... ok [INFO] [stdout] test feature_match::tests::test_feature_match_min_distance_empty ... ok [INFO] [stdout] test feature_match::tests::test_feature_match_min_distance_non_empty ... ok [INFO] [stdout] test feature_match::tests::test_feature_matcher_match_descriptors_single ... ok [INFO] [stdout] test feature_match::tests::test_feature_matcher_match_descriptors_wrong_desc_len ... ok [INFO] [stdout] test feature_match::tests::test_feature_matcher_ratio_test_rejects_ambiguous ... ok [INFO] [stdout] test feature_match::tests::test_match_pair_distance ... ok [INFO] [stdout] test feature_match::tests::test_match_pair_is_good_false ... ok [INFO] [stdout] test feature_match::tests::test_match_pair_negative_dist_clamped ... ok [INFO] [stdout] test feature_match::tests::test_match_with_subpixel_empty ... ok [INFO] [stdout] test feature_match::tests::test_subpixel_refine_empty_matches ... ok [INFO] [stdout] test feature_match::tests::test_feature_matcher_match_descriptors_empty ... ok [INFO] [stdout] test feature_match::tests::test_subpixel_refine_single_match ... ok [INFO] [stdout] test feature_match::tests::test_match_pair_is_good_true ... ok [INFO] [stdout] test feature_match::tests::test_feature_matcher_ratio_test_all_pass_single_train ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_audio_fingerprint ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_compare_different_fingerprints ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_downsample ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_empty_samples ... ok [INFO] [stdout] test feature_match::tests::test_subpixel_refine_with_gradient ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_find_best_offset ... ok [INFO] [stdout] test feature_match::tests::test_subpixel_refiner_default ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_hamming_distance ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_hanning_window ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_high_pass_filter ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_invalid_frame_size ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_quantize_features ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_search_database ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_stereo_to_mono ... ok [INFO] [stdout] test fingerprint::matching::tests::test_compare_fingerprints ... ok [INFO] [stdout] test fingerprint::matching::tests::test_compare_with_offset ... ok [INFO] [stdout] test fingerprint::matching::tests::test_compare_fingerprints_with_config ... ok [INFO] [stdout] test fingerprint::matching::tests::test_compute_confidence ... ok [INFO] [stdout] test fingerprint::matching::tests::test_compute_match_quality ... ok [INFO] [stdout] test fingerprint::matching::tests::test_detect_near_duplicates ... ok [INFO] [stdout] test fingerprint::matching::tests::test_filter_false_positives ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_motion_estimation_static ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_compare_fingerprints ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_via_enhancer_4x ... ok [INFO] [stdout] test enhance::cpu_upscale::tests::test_upscale_via_enhancer_bicubic ... ok [INFO] [stdout] test fingerprint::matching::tests::test_group_similar_matches ... ok [INFO] [stdout] test fingerprint::matching::tests::test_match_result_creation ... ok [INFO] [stdout] test fingerprint::matching::tests::test_matching_config_default ... ok [INFO] [stdout] test fingerprint::matching::tests::test_matching_config_validation ... ok [INFO] [stdout] test fingerprint::matching::tests::test_match_result_with_offset ... ok [INFO] [stdout] test fingerprint::matching::tests::test_validate_match ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_normalize_audio ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_config_default ... ok [INFO] [stdout] test fingerprint::phash::tests::test_dct ... ok [INFO] [stdout] test fingerprint::phash::tests::test_compute_hashes_parallel ... ok [INFO] [stdout] test fingerprint::phash::tests::test_dhash ... ok [INFO] [stdout] test fingerprint::phash::tests::test_find_best_match ... ok [INFO] [stdout] test fingerprint::matching::tests::test_visual_similarity ... ok [INFO] [stdout] test fingerprint::phash::tests::test_haar_wavelet_1d ... ok [INFO] [stdout] test fingerprint::phash::tests::test_hamming_distance ... ok [INFO] [stdout] test fingerprint::phash::tests::test_hash_similarity ... ok [INFO] [stdout] test fingerprint::matching::tests::test_find_matches ... ok [INFO] [stdout] test fingerprint::phash::tests::test_insufficient_data ... ok [INFO] [stdout] test fingerprint::matching::tests::test_detect_near_duplicates_parallel ... ok [INFO] [stdout] test fingerprint::phash::tests::test_invalid_dimensions ... ok [INFO] [stdout] test fingerprint::matching::tests::test_find_best_match ... ok [INFO] [stdout] test fingerprint::phash::tests::test_ahash ... ok [INFO] [stdout] test fingerprint::phash::tests::test_identical_images ... ok [INFO] [stdout] test fingerprint::phash::tests::test_resize_bilinear ... ok [INFO] [stdout] test fingerprint::phash::tests::test_find_all_matches ... ok [INFO] [stdout] test fingerprint::phash::tests::test_rgb_to_grayscale ... ok [INFO] [stdout] test fingerprint::phash::tests::test_whash ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_brightness ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_color_moments ... ok [INFO] [stdout] test fingerprint::phash::tests::test_phash ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_invalid_interval ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_empty_frames ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_frame_difference ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_motion_estimation_moving ... ok [INFO] [stdout] test fingerprint::phash::tests::test_compute_hashes ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_temporal_correlation ... ok [INFO] [stdout] test fingerprint::chromaprint::tests::test_extract_fingerprint ... ok [INFO] [stdout] test fingerprint::tests::test_config_builder ... ok [INFO] [stdout] test fingerprint::tests::test_config_default ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_buffer_depth_limit ... ok [INFO] [stdout] test fingerprint::tests::test_config_validation ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_temporal_features ... ok [INFO] [stdout] test fingerprint::tests::test_fingerprint_size ... ok [INFO] [stdout] test fingerprint::tests::test_fingerprinter_creation ... ok [INFO] [stdout] test histogram_backproject::tests::test_apply_backproject ... ok [INFO] [stdout] test histogram_backproject::tests::test_bayesian_backproject ... ok [INFO] [stdout] test histogram_backproject::tests::test_bhattacharyya_distance_identical ... ok [INFO] [stdout] test histogram_backproject::tests::test_chi_squared_distance ... ok [INFO] [stdout] test histogram_backproject::tests::test_default_config ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_2d_add ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_2d_creation ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_add_and_total ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_bin_index ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_transition_classification ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_detect_shot_boundaries ... ok [INFO] [stdout] test fingerprint::tests::test_fingerprint_creation ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_correlation_perfect ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_normalize ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_intersection ... ok [INFO] [stdout] test histogram_backproject::tests::test_mean_shift_converges ... ok [INFO] [stdout] test histogram_backproject::tests::test_point2d_distance ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_creation ... ok [INFO] [stdout] test histogram_backproject::tests::test_histogram_mean ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_compute_temporal_signature ... ok [INFO] [stdout] test histogram_backproject::tests::test_ratio_backproject ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_sample_uniform ... ok [INFO] [stdout] test hough_transform::tests::test_circle_area ... ok [INFO] [stdout] test hough_transform::tests::test_circle_circumference ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_extract_keyframes ... ok [INFO] [stdout] test hough_transform::tests::test_accumulator_creation ... ok [INFO] [stdout] test hough_transform::tests::test_accumulator_vote ... ok [INFO] [stdout] test hough_transform::tests::test_circle_contains ... ok [INFO] [stdout] test hough_transform::tests::test_cluster_lines_by_angle ... ok [INFO] [stdout] test hough_transform::tests::test_hough_line_endpoints ... ok [INFO] [stdout] test hough_transform::tests::test_default_configs ... ok [INFO] [stdout] test hough_transform::tests::test_hough_line_creation ... ok [INFO] [stdout] test hough_transform::tests::test_line_intersection_parallel ... ok [INFO] [stdout] test hough_transform::tests::test_line_segment_length ... ok [INFO] [stdout] test image::convert::tests::test_color_space_luminance ... ok [INFO] [stdout] test image::convert::tests::test_convert_color_space_same ... ok [INFO] [stdout] test image::convert::tests::test_color_space_channels ... ok [INFO] [stdout] test image::convert::tests::test_insufficient_data ... ok [INFO] [stdout] test image::convert::tests::test_invalid_dimensions ... ok [INFO] [stdout] test image::convert::tests::test_rgb_bgr_roundtrip ... ok [INFO] [stdout] test image::convert::tests::test_rgb_grayscale ... ok [INFO] [stdout] test image::convert::tests::test_rgb_hsl_roundtrip ... ok [INFO] [stdout] test image::convert::tests::test_rgb_hsv_roundtrip ... ok [INFO] [stdout] test image::convert::tests::test_rgb_yuv_bt601_roundtrip ... ok [INFO] [stdout] test image::edge::tests::test_canny_default ... ok [INFO] [stdout] test hough_transform::tests::test_hough_lines_collinear_points ... ok [INFO] [stdout] test image::convert::tests::test_grayscale_to_rgb ... ok [INFO] [stdout] test hough_transform::tests::test_hough_circle_creation ... ok [INFO] [stdout] test hough_transform::tests::test_line_segment_angle ... ok [INFO] [stdout] test image::edge::tests::test_invalid_dimensions ... ok [INFO] [stdout] test image::edge::tests::test_gradient_direction ... ok [INFO] [stdout] test hough_transform::tests::test_line_intersection ... ok [INFO] [stdout] test image::edge::tests::test_canny_edge ... ok [INFO] [stdout] test image::edge::tests::test_laplacian_edge ... ok [INFO] [stdout] test image::edge::tests::test_laplacian_eight_connected ... ok [INFO] [stdout] test image::filter::tests::test_3x3_convolution_blur ... ok [INFO] [stdout] test image::filter::tests::test_3x3_convolution_identity ... ok [INFO] [stdout] test image::edge::tests::test_sobel_edge_detect ... ok [INFO] [stdout] test image::filter::tests::test_3x3_convolution_non_uniform ... ok [INFO] [stdout] test image::filter::tests::test_box_blur ... ok [INFO] [stdout] test image::edge::tests::test_sobel_edge_new ... ok [INFO] [stdout] test image::filter::tests::test_convolution_kernel_apply ... ok [INFO] [stdout] test image::filter::tests::test_bilateral_filter ... ok [INFO] [stdout] test image::filter::tests::test_gaussian_blur_apply ... ok [INFO] [stdout] test image::filter::tests::test_gaussian_blur_creation ... ok [INFO] [stdout] test image::filter::tests::test_integral_image ... ok [INFO] [stdout] test image::filter::tests::test_convolution_kernel_sharpen ... ok [INFO] [stdout] test image::filter::tests::test_gaussian_blur_even_size ... ok [INFO] [stdout] test image::filter::tests::test_insufficient_data ... ok [INFO] [stdout] test image::filter::tests::test_invalid_dimensions ... ok [INFO] [stdout] test hough_transform::tests::test_line_segment_midpoint ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_cdf ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_chi_squared ... ok [INFO] [stdout] test image::filter::tests::test_median_filter ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_equalization ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_equalization_uniform ... ok [INFO] [stdout] test image::histogram::tests::test_clahe ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_compute ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_intersection ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_mean ... ok [INFO] [stdout] test image::histogram::tests::test_invalid_dimensions ... ok [INFO] [stdout] test image::histogram::tests::test_region_histogram ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_new ... ok [INFO] [stdout] test hough_transform::tests::test_hough_line_angle_degrees ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_std_dev ... ok [INFO] [stdout] test image::edge::tests::test_sobel_gradient ... ok [INFO] [stdout] test image::histogram::tests::test_histogram_min_max ... ok [INFO] [stdout] test image::histogram_ext::tests::test_cumulative_last_equals_total ... ok [INFO] [stdout] test image::histogram_ext::tests::test_equalize_histogram_full_range ... ok [INFO] [stdout] test image::histogram_ext::tests::test_equalize_histogram_length_preserved ... ok [INFO] [stdout] test image::histogram_ext::tests::test_equalize_histogram_uniform_no_change ... ok [INFO] [stdout] test image::histogram_ext::tests::test_from_pixels_channel_stride_one_equals_from_pixels ... ok [INFO] [stdout] test image::histogram_ext::tests::test_from_pixels_counts ... ok [INFO] [stdout] test image::histogram_ext::tests::test_from_pixels_empty ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_distance_both_empty_is_zero ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_hash_segment ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_distance_one_empty_is_inf ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_distance_self_is_zero ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_match_empty_src ... ok [INFO] [stdout] test image::histogram_ext::tests::test_cumulative_monotone ... ok [INFO] [stdout] test image::histogram_ext::tests::test_equalize_histogram_empty ... ok [INFO] [stdout] test image::histogram_ext::tests::test_from_pixels_channel_rgb_red ... ok [INFO] [stdout] test image::histogram_ext::tests::test_mean_empty ... ok [INFO] [stdout] test image::histogram_ext::tests::test_mean_two_values ... ok [INFO] [stdout] test image::histogram_ext::tests::test_mean_uniform ... ok [INFO] [stdout] test image::histogram_ext::tests::test_new_is_empty ... ok [INFO] [stdout] test image::histogram_ext::tests::test_percentile_100_is_max ... ok [INFO] [stdout] test image::histogram_ext::tests::test_percentile_0_is_min_nonzero ... ok [INFO] [stdout] test image::histogram_ext::tests::test_percentile_empty_returns_0 ... ok [INFO] [stdout] test image::morph::tests::test_apply_morph ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_match_identical_is_noop ... ok [INFO] [stdout] test image::histogram_ext::tests::test_std_dev_positive_for_mixed ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_distance_different_is_positive ... ok [INFO] [stdout] test image::histogram_ext::tests::test_std_dev_zero_for_uniform ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_match_shifts_towards_reference ... ok [INFO] [stdout] test image::histogram_ext::tests::test_percentile_median ... ok [INFO] [stdout] test image::morph::tests::test_black_hat ... ok [INFO] [stdout] test image::morph::tests::test_ellipse_element ... ok [INFO] [stdout] test image::morph::tests::test_cross_element ... ok [INFO] [stdout] test image::morph::tests::test_dilate ... ok [INFO] [stdout] test image::morph::tests::test_erode ... ok [INFO] [stdout] test image::morph::tests::test_morphological_close ... ok [INFO] [stdout] test image::morph::tests::test_morphological_gradient ... ok [INFO] [stdout] test image::morph::tests::test_rectangle_element ... ok [INFO] [stdout] test image::morph::tests::test_structuring_element_iter ... ok [INFO] [stdout] test image::morph::tests::test_morphological_open ... ok [INFO] [stdout] test image::resize::tests::test_cubic_weight ... ok [INFO] [stdout] test image::resize::tests::test_image_pyramid ... ok [INFO] [stdout] test image::resize::tests::test_lanczos_weight ... ok [INFO] [stdout] test image::morph::tests::test_top_hat ... ok [INFO] [stdout] test image::resize::tests::test_resize_bilinear ... ok [INFO] [stdout] test image::resize::tests::test_resize_bicubic ... ok [INFO] [stdout] test image::morph::tests::test_invalid_dimensions ... ok [INFO] [stdout] test image::resize::tests::test_resize_area ... ok [INFO] [stdout] test image::resize::tests::test_gaussian_kernel ... ok [INFO] [stdout] test image::resize::tests::test_resize_config ... ok [INFO] [stdout] test image::resize::tests::test_resize_invalid_dimensions ... ok [INFO] [stdout] test image::resize::tests::test_resize_lanczos ... ok [INFO] [stdout] test image::resize::tests::test_resize_nearest ... ok [INFO] [stdout] test keypoint::tests::test_detector_empty_image ... ok [INFO] [stdout] test image::resize::tests::test_resize_method_properties ... ok [INFO] [stdout] test image::resize::tests::test_separable_convolution ... ok [INFO] [stdout] test keypoint::tests::test_detector_checkerboard_finds_corners ... ok [INFO] [stdout] test keypoint::tests::test_detector_flat_image_no_corners ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_spatial_distance ... ok [INFO] [stdout] test keypoint::tests::test_detector_small_image ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_new ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_is_strong ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_match_is_good ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_strength_from_response ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_strength_numeric ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_strength_ordering ... ok [INFO] [stdout] test keypoint::tests::test_keypoint_with_descriptor ... ok [INFO] [stdout] test keypoint::tests::test_l2_distance_known ... ok [INFO] [stdout] test keypoint::tests::test_l2_distance_zero ... ok [INFO] [stdout] test keypoint::tests::test_match_descriptors_basic ... ok [INFO] [stdout] test lane_detect::tests::test_detect_lane_boundaries_returns_none_on_blank ... ok [INFO] [stdout] test lane_detect::tests::test_default_config ... ok [INFO] [stdout] test lane_detect::tests::test_hough_lines_wrong_size ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_avg_confidence_empty ... ok [INFO] [stdout] test lane_detect::tests::test_hough_lines_empty_map ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_avg_confidence_with_points ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_new ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_x_at_y_horizontal_normal ... ok [INFO] [stdout] test lane_detect::tests::test_lane_point_distance ... ok [INFO] [stdout] test lane_detect::tests::test_lane_point_new ... ok [INFO] [stdout] test lane_detect::tests::test_lane_side_equality ... ok [INFO] [stdout] test lane_detect::tests::test_nms_merges_similar ... ok [INFO] [stdout] test morphology::tests::test_binary_dilate ... ok [INFO] [stdout] test lane_detect::tests::test_hough_lines_horizontal_edge ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_angle_deg ... ok [INFO] [stdout] test lane_detect::tests::test_lane_line_x_at_y_vertical_normal ... ok [INFO] [stdout] test lane_detect::tests::test_lane_point_clamp_confidence ... ok [INFO] [stdout] test morphology::tests::test_cross_se ... ok [INFO] [stdout] test morphology::tests::test_dilate_single_pixel ... ok [INFO] [stdout] test morphology::tests::test_ellipse_se ... ok [INFO] [stdout] test morphology::tests::test_erode_uniform ... ok [INFO] [stdout] test morphology::tests::test_binary_erode ... ok [INFO] [stdout] test morphology::tests::test_closing_fills_small_dark ... ok [INFO] [stdout] test morphology::tests::test_from_shape ... ok [INFO] [stdout] test morphology::tests::test_is_active_out_of_bounds ... ok [INFO] [stdout] test morphology::tests::test_morphological_gradient ... ok [INFO] [stdout] test morphology::tests::test_black_hat ... ok [INFO] [stdout] test morphology::tests::test_opening_removes_small_bright ... ok [INFO] [stdout] test morphology::tests::test_top_hat ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_extract_channel ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_flip_psf ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_rl_params_default ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_tv_denoising ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_wiener_params_default ... ok [INFO] [stdout] test motion_blur::psf::tests::test_motion_psf_gaussian ... ok [INFO] [stdout] test morphology::tests::test_rectangle_se ... ok [INFO] [stdout] test motion_blur::deconvolve::tests::test_deconvolver_new ... ok [INFO] [stdout] test motion_blur::removal::tests::test_compute_average_motion ... ok [INFO] [stdout] test motion_blur::psf::tests::test_psf_estimator_new ... ok [INFO] [stdout] test motion_blur::psf::tests::test_psf_normalize ... ok [INFO] [stdout] test motion_blur::removal::tests::test_motion_blur_remover_builder ... ok [INFO] [stdout] test motion_blur::psf::tests::test_motion_psf_new ... ok [INFO] [stdout] test motion_blur::removal::tests::test_multi_frame_deblur_new ... ok [INFO] [stdout] test motion_blur::removal::tests::test_sharpen_image ... ok [INFO] [stdout] test motion_blur::removal::tests::test_motion_blur_remover_new ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_motion_blur_synthesizer_new ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_motion_trail ... ok [INFO] [stdout] test motion_blur::removal::tests::test_rgb_to_grayscale ... ok [INFO] [stdout] test motion_blur::tests::test_depth_map_get_set ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_camera_shake ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_per_object_blur ... ok [INFO] [stdout] test motion_blur::psf::tests::test_motion_psf_from_vector ... ok [INFO] [stdout] test motion_blur::tests::test_motion_blur_config_default ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_accumulation_buffer ... ok [INFO] [stdout] test motion_blur::tests::test_depth_map_new ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_lerp ... ok [INFO] [stdout] test motion_blur::tests::test_motion_blur_config_validate ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_field_get_set ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_field_new ... ok [INFO] [stdout] test motion_blur::synthesis::tests::test_speed_ramp ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_magnitude ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_new ... ok [INFO] [stdout] test motion_blur::tests::test_motion_vector_scale ... ok [INFO] [stdout] test motion_blur::tests::test_rolling_shutter_params ... ok [INFO] [stdout] test motion_vector::tests::test_analyzer_clamps_params ... ok [INFO] [stdout] test motion_vector::tests::test_compute_sad_different ... ok [INFO] [stdout] test motion_vector::tests::test_compute_sad_identical ... ok [INFO] [stdout] test motion_vector::tests::test_compute_sad_out_of_bounds ... ok [INFO] [stdout] test motion_vector::tests::test_direction ... ok [INFO] [stdout] test motion_vector::tests::test_estimate_empty ... ok [INFO] [stdout] test motion_vector::tests::test_estimate_identical_frames ... ok [INFO] [stdout] test motion_vector::tests::test_estimate_mismatched_sizes ... ok [INFO] [stdout] test motion_vector::tests::test_field_avg_cost ... ok [INFO] [stdout] test motion_vector::tests::test_field_avg_magnitude ... ok [INFO] [stdout] test motion_vector::tests::test_field_get_out_of_bounds ... ok [INFO] [stdout] test motion_vector::tests::test_field_get_set ... ok [INFO] [stdout] test motion_vector::tests::test_field_max_magnitude ... ok [INFO] [stdout] test motion_vector::tests::test_field_zeros ... ok [INFO] [stdout] test motion_vector::tests::test_magnitude ... ok [INFO] [stdout] test motion_vector::tests::test_motion_vector_new ... ok [INFO] [stdout] test motion_vector::tests::test_motion_vector_zero ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_area ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_centroid_distance ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_centroid ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_iou_identical ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_iou_partial_overlap ... ok [INFO] [stdout] test obj_tracking::tests::test_bbox_iou_no_overlap ... ok [INFO] [stdout] test obj_tracking::tests::test_centroid_tracker_basic ... ok [INFO] [stdout] test obj_tracking::tests::test_multi_tracker_retains_track_across_frames ... ok [INFO] [stdout] test obj_tracking::tests::test_centroid_tracker_removes_disappeared_objects ... ok [INFO] [stdout] test obj_tracking::tests::test_track_update ... ok [INFO] [stdout] test obj_tracking::tests::test_track_is_confirmed ... ok [INFO] [stdout] test obj_tracking::tests::test_track_mark_lost ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_analyzer_dimension_mismatch_returns_none ... ok [INFO] [stdout] test obj_tracking::tests::test_track_new ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_analyzer_first_frame_returns_none ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_analyzer_identical_frames_zero_flow ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_analyzer_second_frame_returns_some ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_avg_magnitude_uniform ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_dominant_direction_right ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_avg_magnitude_zero_field ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_motion_coverage_all ... ok [INFO] [stdout] test obj_tracking::tests::test_multi_tracker_creates_tracks ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_vector_angle_right ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_motion_coverage_none ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_field_max_magnitude ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_vector_magnitude_3_4_5 ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_vector_angle_up ... ok [INFO] [stdout] test pose_estimation::tests::test_detect_all_zero_returns_empty ... ok [INFO] [stdout] test pose_estimation::tests::test_detect_empty_heatmaps ... ok [INFO] [stdout] test pose_estimation::tests::test_detect_finds_peak ... ok [INFO] [stdout] test pose_estimation::tests::test_detect_zero_dimensions ... ok [INFO] [stdout] test pose_estimation::tests::test_joint_index_right_ankle ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_vector_magnitude_zero ... ok [INFO] [stdout] test pose_estimation::tests::test_detect_fewer_channels_than_joints ... ok [INFO] [stdout] test pose_estimation::tests::test_joint_is_face_false ... ok [INFO] [stdout] test pose_estimation::tests::test_keypoint_is_visible_above_threshold ... ok [INFO] [stdout] test pose_estimation::tests::test_keypoint_is_visible_at_threshold_boundary ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_bounding_box_empty ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_head_center_all_visible ... ok [INFO] [stdout] test pose_estimation::tests::test_joint_index_nose ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_head_center_none_when_invisible ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_bounding_box_single_point ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_hip_center ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_is_complete_low_confidence ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_is_complete_all_confident ... ok [INFO] [stdout] test pose_estimation::tests::test_skeleton_visible_keypoints_count ... ok [INFO] [stdout] test optical_flow_field::tests::test_flow_vector_is_moving ... ok [INFO] [stdout] test scale::energy::tests::test_energy_map_get_set ... ok [INFO] [stdout] test scale::energy::tests::test_energy_map_bounds ... ok [INFO] [stdout] test scale::energy::tests::test_cumulative_energy_vertical ... ok [INFO] [stdout] test image::histogram_ext::tests::test_histogram_match_length_preserved ... ok [INFO] [stdout] test pose_estimation::tests::test_joint_is_face_true ... ok [INFO] [stdout] test pose_estimation::tests::test_joint_is_upper_body ... ok [INFO] [stdout] test scale::energy::tests::test_energy_map_new ... ok [INFO] [stdout] test scale::energy::tests::test_forward_energy ... ok [INFO] [stdout] test scale::energy::tests::test_entropy_energy ... ok [INFO] [stdout] test scale::energy::tests::test_hybrid_energy ... ok [INFO] [stdout] test scale::energy::tests::test_energy_map_normalize ... ok [INFO] [stdout] test scale::energy::tests::test_gradient_energy ... ok [INFO] [stdout] test scale::hybrid::tests::test_crop_image ... ok [INFO] [stdout] test scale::hybrid::tests::test_hybrid_config_default ... ok [INFO] [stdout] test scale::hybrid::tests::test_hybrid_scaler_traditional ... ok [INFO] [stdout] test scale::hybrid::tests::test_calculate_steps ... ok [INFO] [stdout] test scale::protection::tests::test_from_faces ... ok [INFO] [stdout] test scale::hybrid::tests::test_resize_with_aspect_fit ... ok [INFO] [stdout] test scale::protection::tests::test_invert ... ok [INFO] [stdout] test scale::hybrid::tests::test_multiscale_resizer ... ok [INFO] [stdout] test scale::protection::tests::test_protect_ellipse ... ok [INFO] [stdout] test scale::protection::tests::test_protect_rect ... ok [INFO] [stdout] test scale::protection::tests::test_protection_mask_new ... ok [INFO] [stdout] test scale::protection::tests::test_scale_values ... ok [INFO] [stdout] test scale::saliency::tests::test_edge_saliency ... ok [INFO] [stdout] test scale::saliency::tests::test_frequency_tuned ... ok [INFO] [stdout] test scale::saliency::tests::test_region_overlap ... ok [INFO] [stdout] test scale::saliency::tests::test_saliency_map_new ... ok [INFO] [stdout] test scale::protection::tests::test_erode ... ok [INFO] [stdout] test scale::protection::tests::test_dilate ... ok [INFO] [stdout] test scale::protection::tests::test_protect_circle ... ok [INFO] [stdout] test scale::protection::tests::test_merge ... ok [INFO] [stdout] test scale::saliency::tests::test_combined_saliency ... ok [INFO] [stdout] test scale::saliency::tests::test_salient_region ... ok [INFO] [stdout] test scale::seam_carving::tests::test_reduce_height ... ok [INFO] [stdout] test scale::saliency::tests::test_saliency_threshold ... ok [INFO] [stdout] test scale::tests::test_batch_scaler ... ok [INFO] [stdout] test scale::seam_carving::tests::test_remove_vertical_seam ... ok [INFO] [stdout] test scale::seam_carving::tests::test_seam_new ... ok [INFO] [stdout] test scale::tests::test_builder ... ok [INFO] [stdout] test scale::tests::test_content_aware_scaler_new ... ok [INFO] [stdout] test scale::tests::test_resize_quality_compute ... ok [INFO] [stdout] test scale::tests::test_merge_rgb_channels ... ok [INFO] [stdout] test scale::seam_carving::tests::test_find_vertical_seam ... ok [INFO] [stdout] test scale::tests::test_resize_video_frame ... ok [INFO] [stdout] test scale::tests::test_split_rgb_channels ... ok [INFO] [stdout] test scale::seam_carving::tests::test_insert_vertical_seam ... ok [INFO] [stdout] test scene::classification::tests::test_brightness_from_luma_mixed ... ok [INFO] [stdout] test scene::classification::tests::test_classification_has_secondary ... ok [INFO] [stdout] test scene::classification::tests::test_brightness_from_luma_empty ... ok [INFO] [stdout] test scale::tests::test_resize_grayscale ... ok [INFO] [stdout] test scene::classification::tests::test_classify_indoor_default ... ok [INFO] [stdout] test scene::classification::tests::test_classify_nature ... ok [INFO] [stdout] test scene::classification::tests::test_classify_night_scene ... ok [INFO] [stdout] test scene::classification::tests::test_classify_action ... ok [INFO] [stdout] test scene::classification::tests::test_classify_outdoor_day ... ok [INFO] [stdout] test scene::classification::tests::test_classify_sport ... ok [INFO] [stdout] test scene::classification::tests::test_brightness_from_luma_uniform ... ok [INFO] [stdout] test scene::classification::tests::test_classify_urban ... ok [INFO] [stdout] test scene::classification::tests::test_confidence_range ... ok [INFO] [stdout] test scene::classification::tests::test_edge_density_uniform_near_zero ... ok [INFO] [stdout] test scene::classification::tests::test_edge_density_checkerboard_nonzero ... ok [INFO] [stdout] test scene::classification::tests::test_scene_type_label ... ok [INFO] [stdout] test scene::transition_detect::tests::test_dissolve_detection_fade_in ... ok [INFO] [stdout] test scene::transition_detect::tests::test_dissolve_detection_fade_out ... ok [INFO] [stdout] test scene::transition_detect::tests::test_dissolve_insufficient_frames ... ok [INFO] [stdout] test scene::classification::tests::test_extract_scene_features_output ... ok [INFO] [stdout] test scene::transition_detect::tests::test_dissolve_not_detected_on_non_monotone ... ok [INFO] [stdout] test scene::transition_detect::tests::test_dissolve_not_detected_on_static_scene ... ok [INFO] [stdout] test scene::transition_detect::tests::test_wipe_detection_top_to_bottom ... ok [INFO] [stdout] test scene::transition_detect::tests::test_wipe_empty_frame ... ok [INFO] [stdout] test scene::transition_detect::tests::test_wipe_not_detected_on_identical_frames ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_mask_foreground_count ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_mask_get_oob ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_mask_new_all_background ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_morph_open_preserves_large_region ... ok [INFO] [stdout] test scale::protection::tests::test_builder ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_morph_open_removes_isolated_pixels ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_segment_empty_returns_empty_mask ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_rgb_to_ycbcr_black ... ok [INFO] [stdout] test scene::classification::tests::test_classify_talking ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_segment_motion_detected ... ok [INFO] [stdout] test scene::classification::tests::test_edge_density_too_small_image ... ok [INFO] [stdout] test scene::transition_detect::tests::test_wipe_detection_left_to_right ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_segment_no_skin_no_motion_all_background ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_rgb_to_ycbcr_white ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_segment_skin_pixels_detected ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_update_background_stores_correctly ... ok [INFO] [stdout] test segmentation::tests::test_bbox_iou_full_overlap ... ok [INFO] [stdout] test segmentation::tests::test_bbox_iou_no_overlap ... ok [INFO] [stdout] test segmentation::tests::test_connected_components_full_image ... ok [INFO] [stdout] test segmentation::tests::test_connected_components_two_blobs ... ok [INFO] [stdout] test segmentation::tests::test_connected_components_blank_image ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_mask_foreground_ratio ... ok [INFO] [stdout] test segmentation::tests::test_instance_mask_area ... ok [INFO] [stdout] test segmentation::person_bg::tests::test_segment_zero_dims ... ok [INFO] [stdout] test segmentation::tests::test_instance_mask_contains ... ok [INFO] [stdout] test segmentation::tests::test_instance_mask_from_full_mask_empty ... ok [INFO] [stdout] test segmentation::tests::test_instance_segmenter_multiclass ... ok [INFO] [stdout] test segmentation::tests::test_instance_segmenter_empty_input ... ok [INFO] [stdout] test segmentation::tests::test_instance_segmenter_sorted_by_score ... ok [INFO] [stdout] test segmentation::tests::test_instance_segmenter_min_area_filter ... ok [INFO] [stdout] test segmentation::tests::test_label_map_bounding_box ... ok [INFO] [stdout] test segmentation::tests::test_label_map_bounding_box_missing ... ok [INFO] [stdout] test segmentation::tests::test_label_map_count_label ... ok [INFO] [stdout] test segmentation::tests::test_label_map_new ... ok [INFO] [stdout] test scale::seam_carving::tests::test_reduce_width ... ok [INFO] [stdout] test segmentation::tests::test_instance_segmenter_two_blobs ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_sample_scene_based ... ok [INFO] [stdout] test segmentation::tests::test_label_map_num_labels ... ok [INFO] [stdout] test fingerprint::temporal::tests::test_sample_adaptive ... ok [INFO] [stdout] test segmentation::tests::test_label_map_set_get ... ok [INFO] [stdout] test segmentation::tests::test_mean_shift_two_clusters ... ok [INFO] [stdout] test segmentation::tests::test_mean_shift_uniform_image ... ok [INFO] [stdout] test segmentation::tests::test_region_growing_limited ... ok [INFO] [stdout] test segmentation::tests::test_region_growing_uniform ... ok [INFO] [stdout] test segmentation::tests::test_watershed_no_seeds_returns_blank ... ok [INFO] [stdout] test segmentation::tests::test_watershed_two_seeds ... ok [INFO] [stdout] test stabilize::motion::tests::test_feature_match_displacement ... ok [INFO] [stdout] test stabilize::motion::tests::test_feature_match_magnitude ... ok [INFO] [stdout] test stabilize::motion::tests::test_fusion_config_builder ... ok [INFO] [stdout] test stabilize::motion::tests::test_fusion_config_default ... ok [INFO] [stdout] test stabilize::motion::tests::test_gyro_bias_accumulation ... ok [INFO] [stdout] test stabilize::motion::tests::test_gyroscope_data_new ... ok [INFO] [stdout] test stabilize::motion::tests::test_gyroscope_data_zero ... ok [INFO] [stdout] test stabilize::motion::tests::test_gyroscope_integrate ... ok [INFO] [stdout] test stabilize::motion::tests::test_gyroscope_magnitude ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_estimator_new ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_fuse_consistent_motion ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_fuse_multi_sample ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_fuse_multi_sample_empty ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_fuse_multiple_frames ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_fuse_stationary ... ok [INFO] [stdout] test stabilize::motion::tests::test_hybrid_reset ... ok [INFO] [stdout] test stabilize::motion::tests::test_invert_homography_identity ... ok [INFO] [stdout] test stabilize::motion::tests::test_kalman_state_predict_update ... ok [INFO] [stdout] test stabilize::motion::tests::test_motion_estimator_new ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_invert ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_matrix_identity ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_matrix_magnitude ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_matrix_to_from_homography ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_interpolate ... ok [INFO] [stdout] test superpixel::tests::test_assign_pixels_no_centers_returns_zeros ... ok [INFO] [stdout] test superpixel::tests::test_assign_pixels_single_center ... ok [INFO] [stdout] test superpixel::tests::test_assign_pixels_two_centers_partition ... ok [INFO] [stdout] test superpixel::tests::test_count_superpixels_all_same ... ok [INFO] [stdout] test superpixel::tests::test_count_superpixels_empty ... ok [INFO] [stdout] test superpixel::tests::test_count_superpixels_unique_labels ... ok [INFO] [stdout] test superpixel::tests::test_estimate_grid_step_large_image ... ok [INFO] [stdout] test superpixel::tests::test_slic_config_default_values ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_area_equals_pixel_count ... ok [INFO] [stdout] test superpixel::tests::test_estimate_grid_step_basic ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_compactness_full_rectangle ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_compactness_sparse ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_compactness_empty ... ok [INFO] [stdout] test texture_analysis::tests::test_compute_glcm_symmetric_counts ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_pixel_count ... ok [INFO] [stdout] test superpixel::tests::test_superpixel_single_pixel_compactness ... ok [INFO] [stdout] test texture_analysis::tests::test_glcm_add_out_of_bounds_ignored ... ok [INFO] [stdout] test texture_analysis::tests::test_compute_glcm_zero_levels_returns_empty ... ok [INFO] [stdout] test texture_analysis::tests::test_glcm_normalize_sums_to_one ... ok [INFO] [stdout] test texture_analysis::tests::test_is_complex_false_low_contrast ... ok [INFO] [stdout] test texture_analysis::tests::test_glcm_normalize_empty_returns_zeros ... ok [INFO] [stdout] test texture_analysis::tests::test_is_complex_true ... ok [INFO] [stdout] test texture_analysis::tests::test_compute_glcm_uniform_image ... ok [INFO] [stdout] test texture_analysis::tests::test_is_uniform_false ... ok [INFO] [stdout] test texture_analysis::tests::test_is_complex_false_low_entropy ... ok [INFO] [stdout] test texture_analysis::tests::test_texture_descriptor_energy_in_range ... ok [INFO] [stdout] test texture_analysis::tests::test_is_uniform_true ... ok [INFO] [stdout] test texture_analysis::tests::test_texture_descriptor_homogeneity_positive ... ok [INFO] [stdout] test texture_analysis::tests::test_texture_descriptor_empty_glcm ... ok [INFO] [stdout] test stabilize::motion::tests::test_transform_compose_identity ... ok [INFO] [stdout] test texture_analysis::tests::test_texture_descriptor_uniform_image ... ok [INFO] [stdout] test tracking::csrt::tests::test_adaptive_reliability_config_default ... ok [INFO] [stdout] test texture_analysis::tests::test_glcm_add_and_total ... ok [INFO] [stdout] test tracking::csrt::tests::test_confidence_trend_empty ... ok [INFO] [stdout] test tracking::csrt::tests::test_confidence_trend_degrading ... ok [INFO] [stdout] test tracking::csrt::tests::test_confidence_trend_improving ... ok [INFO] [stdout] test tracking::csrt::tests::test_correlate_with_filter ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_initialize_invalid_dimensions ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_new ... ok [INFO] [stdout] test texture_analysis::tests::test_glcm_new_zeroed ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_reset ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_with_background_ratio ... ok [INFO] [stdout] test tracking::csrt::tests::test_decay_reliability_map ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_with_learning_rate ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_update_not_initialized ... ok [INFO] [stdout] test tracking::csrt::tests::test_find_peak_subpixel ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_with_reliability_config ... ok [INFO] [stdout] test tracking::csrt::tests::test_extract_multichannel_features ... ok [INFO] [stdout] test tracking::csrt::tests::test_gaussian_1d ... ok [INFO] [stdout] test tracking::csrt::tests::test_is_target_lost ... ok [INFO] [stdout] test tracking::csrt::tests::test_normalize_channel ... ok [INFO] [stdout] test tracking::csrt::tests::test_occlusion_state_default ... ok [INFO] [stdout] test tracking::csrt::tests::test_occlusion_frame_count_increments ... ok [INFO] [stdout] test tracking::csrt::tests::test_occlusion_state_transitions ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_compute_descriptor ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_descriptor_distance ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_feature_tracker_add_features ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_feature_tracker_new ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_feature_tracker_reset ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_tracked_feature_new ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_tracked_feature_predict ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_tracked_feature_speed ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_feature_tracker_with_params ... ok [INFO] [stdout] test tracking::kalman::tests::test_constant_acceleration_model ... ok [INFO] [stdout] test tracking::kalman::tests::test_constant_velocity_model ... ok [INFO] [stdout] test tracking::kalman::tests::test_identity_matrix ... ok [INFO] [stdout] test tracking::kalman::tests::test_kalman_filter_new ... ok [INFO] [stdout] test tracking::kalman::tests::test_matrix_add ... ok [INFO] [stdout] test tracking::kalman::tests::test_matrix_inverse ... ok [INFO] [stdout] test tracking::kalman::tests::test_matrix_multiply ... ok [INFO] [stdout] test tracking::kalman::tests::test_matrix_vector_multiply ... ok [INFO] [stdout] test tracking::kalman::tests::test_predict ... ok [INFO] [stdout] test tracking::kalman::tests::test_predict_update_cycle ... ok [INFO] [stdout] test tracking::kalman::tests::test_set_state ... ok [INFO] [stdout] test tracking::csrt::tests::test_create_segmentation_mask ... ok [INFO] [stdout] test tracking::kalman::tests::test_update ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_compute_correlation ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_normalize_patch ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_extract_patch ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_initialize_and_update ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_find_peak_with_psr ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_object_tracker_reset ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_object_tracker_with_params ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_downsample ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_flow_field_average_magnitude ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_flow_field_magnitude ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_tracker_types ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_flow_field_max_magnitude ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_flow_field_new ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_compute_farneback ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_compute_lk ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_invalid_dimensions ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_new ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_sparse ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_optical_flow_with_params ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_build_pyramid_stops_at_min_size ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_build_pyramid_levels ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_gradient_x_zero_on_flat ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_object_tracker_update ... ok [INFO] [stdout] test tracking::optical_flow::tests::test_build_pyramid ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_pixel_bilinear_center ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_gradient_y_nonzero_on_ramp ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_pixel_in_bounds ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_gradient_x_nonzero_on_ramp ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_pixel_out_of_bounds ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_gray_frame_is_valid ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_add_points ... ok [INFO] [stdout] test stabilize::motion::tests::test_multiply_homography_identity ... ok [INFO] [stdout] test superpixel::tests::test_estimate_grid_step_minimum_one ... ok [INFO] [stdout] test scale::energy::tests::test_rgb_energy ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_detect_good_features ... ok [INFO] [stdout] test tracking::object_tracker::tests::test_object_tracker_new ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_confidence_in_range ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_prune_removes_out_of_bounds ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_ids_are_stable ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_center ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_iou_no_overlap ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_iou_partial_overlap ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_track_returns_all_points ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_empty_track ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_new_clamps_order ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_clear ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_prune_by_confidence ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_to_xyah_roundtrip ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_area_positive ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_area_zero_for_degenerate ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_kalman_track_is_confirmed ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_kalman_track_is_dead ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_kalman_track_new_bbox ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_kalman_track_predict_increments_age ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_empty_detections ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_active_tracks ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_new_id_for_non_overlapping ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_consistent_id_across_frames ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_dead_track_removed ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_single_detection ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_track_count ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_sort_tracker_reset ... ok [INFO] [stdout] test transform::affine::tests::test_determinant ... ok [INFO] [stdout] test transform::affine::tests::test_identity ... ok [INFO] [stdout] test transform::affine::tests::test_inverse ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_kalman_track_update_resets_time_since_update ... ok [INFO] [stdout] test transform::affine::tests::test_chain ... ok [INFO] [stdout] test transform::affine::tests::test_rotation_around ... ok [INFO] [stdout] test transform::affine::tests::test_estimate_affine ... ok [INFO] [stdout] test transform::affine::tests::test_scaling ... ok [INFO] [stdout] test transform::affine::tests::test_transform_image ... ok [INFO] [stdout] test transform::affine::tests::test_compose ... ok [INFO] [stdout] test transform::affine::tests::test_singular_not_invertible ... ok [INFO] [stdout] test transform::perspective::tests::test_compose ... ok [INFO] [stdout] test transform::perspective::tests::test_determinant ... ok [INFO] [stdout] test transform::affine::tests::test_translation ... ok [INFO] [stdout] test transform::perspective::tests::test_insufficient_points ... ok [INFO] [stdout] test tracking::optical_flow_tracker::tests::test_lk_tracker_track_same_frame_near_zero_displacement ... ok [INFO] [stdout] test transform::perspective::tests::test_inverse ... ok [INFO] [stdout] test transform::perspective::tests::test_find_homography ... ok [INFO] [stdout] test transform::perspective::tests::test_find_homography_scale ... ok [INFO] [stdout] test tracking::csrt::tests::test_csrt_tracker_multiple_updates ... ok [INFO] [stdout] test transform::perspective::tests::test_identity ... ok [INFO] [stdout] test transform::affine::tests::test_rotation ... ok [INFO] [stdout] test tracking::sort_enhanced::tests::test_bbox_iou_identical ... ok [INFO] [stdout] test transform::perspective::tests::test_normalized ... ok [INFO] [stdout] test transform::perspective::tests::test_quad_to_rect ... ok [INFO] [stdout] test transform::perspective::tests::test_warp_perspective ... ok [INFO] [stdout] test tracking::feature_tracker::tests::test_feature_tracker_track ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_reset ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_letterbox_preserves_aspect_ratio ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_letterbox_resize ... ok [INFO] [stdout] test detect::yolo_utils::tests::test_letterbox_resize_square_input ... ok [INFO] [stdout] test enhance::temporal_denoising::tests::test_process_multiple_frames ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1010 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.78s [INFO] [stdout] [INFO] [stderr] Doc-tests oximedia_cv [INFO] [stdout] [INFO] [stdout] running 310 tests [INFO] [stdout] test src/detect/corner.rs - detect::corner::FastDetector::new (line 359) ... ok [INFO] [stdout] test src/background_subtraction.rs - background_subtraction (line 10) ... ok [INFO] [stdout] test src/chroma_key/mod.rs - chroma_key::ChromaKey::new (line 348) ... ok [INFO] [stdout] test src/deep_sort.rs - deep_sort (line 10) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::ShiTomasiDetector (line 205) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::ShiTomasiDetector::new (line 225) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::IntegralImage::compute (line 221) ... ok [INFO] [stdout] test src/chroma_key/mod.rs - chroma_key::Rgb::from_u8 (line 76) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face (line 8) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::IntegralImage::sum (line 282) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::BoundingBox::new (line 736) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner (line 11) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::HarrisDetector::new (line 94) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::AffineMatrix::transform_point (line 117) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::FaceLandmarks::five_point (line 156) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::HaarCascade::new (line 411) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::DetectionResult::new (line 64) ... ok [INFO] [stdout] test src/chroma_key/mod.rs - chroma_key (line 17) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::FastDetector (line 341) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::Corner::new (line 35) ... ok [INFO] [stdout] test src/detect/face.rs - detect::face::FaceRegion::new (line 109) ... ok [INFO] [stdout] test src/chroma_key/mod.rs - chroma_key::Rgb::new (line 61) ... ok [INFO] [stdout] test src/detect/corner.rs - detect::corner::HarrisDetector (line 72) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align (line 11) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::AffineMatrix::new (line 91) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::Point2f::new (line 50) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::FaceAligner::align (line 357) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::FaceAligner::new (line 306) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion (line 10) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::FaceAligner (line 261) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::ReferenceTemplate::new (line 184) ... ok [INFO] [stdout] test src/detect/face_multiscale.rs - detect::face_multiscale::MultiScaleFaceDetector (line 158) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion::MotionDetector::new (line 97) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion::MotionDetector::process (line 152) ... ok [INFO] [stdout] test src/detect/face_align.rs - detect::face_align::ReferenceTemplate::standard_5_point (line 212) ... ok [INFO] [stdout] test src/detect/face_multiscale.rs - detect::face_multiscale (line 10) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion::MotionRegion::new (line 40) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::expand (line 273) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::from_center (line 94) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::new (line 67) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::iou (line 369) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::area (line 146) ... ok [INFO] [stdout] test src/detect/mod.rs - detect (line 15) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::BoundingBoxF::iou (line 92) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::BoundingBoxF::new (line 43) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::scale (line 252) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::intersects (line 205) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::center (line 161) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::BoundingBoxF::area (line 63) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::Detection::new (line 198) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::from_corners (line 121) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::BoundingBox::contains (line 189) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::nms (line 437) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect (line 12) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::BoundingBoxF::expand (line 140) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion::FlowField::new (line 492) ... ok [INFO] [stdout] test src/detect/object.rs - detect::object (line 10) ... ok [INFO] [stdout] test src/detect/motion.rs - detect::motion::OpticalFlowLK::new (line 304) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::filter_by_confidence (line 343) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::BoundingBoxF::contains_point (line 122) ... ok [INFO] [stdout] test src/enhance/mod.rs - enhance (line 49) - compile ... ok [INFO] [stdout] test src/detect/object.rs - detect::object::Detection::new (line 332) ... ok [INFO] [stdout] test src/detect/object_detect.rs - detect::object_detect::non_max_suppression (line 291) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::SuperResolutionEnhancer::new (line 109) ... ok [INFO] [stdout] test src/enhance/mod.rs - enhance (line 36) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::upscale_bicubic (line 349) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::calculate_mse (line 593) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale (line 14) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::apply_unsharp_mask (line 426) ... ok [INFO] [stdout] test src/enhance/sharpening.rs - enhance::sharpening::unsharp_mask (line 175) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::SuperResolutionEnhancer::upscale (line 169) ... ok [INFO] [stdout] test src/error.rs - error::CvError (line 16) ... ok [INFO] [stdout] test src/enhance/sharpening.rs - enhance::sharpening::gaussian_blur (line 142) ... ok [INFO] [stdout] test src/error.rs - error::CvError::matrix_error (line 311) ... ok [INFO] [stdout] test src/enhance/sharpening.rs - enhance::sharpening (line 18) ... ok [INFO] [stdout] test src/error.rs - error::CvError::invalid_parameter (line 328) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::SuperResolutionEnhancer (line 86) ... ok [INFO] [stdout] test src/error.rs - error::CvError::invalid_kernel_size (line 196) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::UpscaleMode::scale_factor (line 58) ... ok [INFO] [stdout] test src/error.rs - error::CvError::color_conversion (line 211) ... ok [INFO] [stdout] test src/error.rs - error::CvError::invalid_dimensions (line 161) ... ok [INFO] [stdout] test src/error.rs - error::CvError::invalid_roi (line 176) ... ok [INFO] [stdout] test src/enhance/temporal_denoising.rs - enhance::temporal_denoising::TemporalDenoiser::new (line 166) ... ok [INFO] [stdout] test src/error.rs - error::CvError::detection_failed (line 245) ... ok [INFO] [stdout] test src/enhance/sharpening.rs - enhance::sharpening::high_pass_sharpen (line 300) ... ok [INFO] [stdout] test src/enhance/sharpening.rs - enhance::sharpening::laplacian_sharpen (line 231) ... ok [INFO] [stdout] test src/enhance/cpu_upscale.rs - enhance::cpu_upscale::calculate_psnr (line 539) ... ok [INFO] [stdout] test src/error.rs - error::CvError::insufficient_data (line 296) ... ok [INFO] [stdout] test src/error.rs - error::CvResult (line 415) ... ok [INFO] [stdout] test src/enhance/temporal_denoising.rs - enhance::temporal_denoising (line 16) ... ok [INFO] [stdout] test src/error.rs - error::CvError::shape_mismatch (line 397) ... ok [INFO] [stdout] test src/error.rs - error::CvError::tensor_error (line 380) ... ok [INFO] [stdout] test src/error.rs - error::CvError::model_load (line 363) ... ok [INFO] [stdout] test src/image/convert.rs - image::convert::ColorSpace::is_luminance_based (line 70) ... ok [INFO] [stdout] test src/image/edge.rs - image::edge::SobelEdge::new (line 52) ... ok [INFO] [stdout] test src/error.rs - error::CvError::onnx_runtime (line 346) ... ok [INFO] [stdout] test src/error.rs - error::CvError::transform_error (line 262) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter (line 11) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter::GaussianBlur::new (line 64) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter::BilateralFilter::new (line 249) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter::ConvolutionKernel::new (line 373) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram (line 9) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter::MedianFilter::new (line 174) ... ok [INFO] [stdout] test src/image/filter.rs - image::filter::BoxBlur::new (line 129) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::bin (line 82) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::cdf (line 199) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::ClaheConfig::new (line 378) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::min_bin (line 110) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::max_bin (line 125) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::mean (line 140) ... ok [INFO] [stdout] test src/image/edge.rs - image::edge (line 10) ... ok [INFO] [stdout] test src/image/convert.rs - image::convert (line 8) ... ok [INFO] [stdout] test src/error.rs - error::CvError::unsupported_format (line 228) ... ok [INFO] [stdout] test src/fingerprint/mod.rs - fingerprint (line 16) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::compute (line 57) ... ok [INFO] [stdout] test src/image/edge.rs - image::edge::CannyEdge::new (line 184) ... ok [INFO] [stdout] test src/image/edge.rs - image::edge::LaplacianEdge::new (line 269) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::adaptive_histogram_equalization (line 416) ... ok [INFO] [stdout] test src/fingerprint/mod.rs - fingerprint::VideoFingerprinter::new (line 279) ... ok [INFO] [stdout] test src/image/convert.rs - image::convert::ColorSpace::channels (line 46) ... ok [INFO] [stdout] test src/error.rs - error::CvError::tracking_error (line 279) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::histogram_intersection (line 600) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::std_dev (line 166) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::Histogram::new (line 35) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::histogram_chi_squared (line 631) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::from_pixels (line 56) ... ok [INFO] [stdout] test src/image/histogram.rs - image::histogram::histogram_equalization (line 281) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::compute_histogram_distance (line 376) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::histogram_match (line 322) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::StructuringElement::cross (line 136) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::mean (line 129) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::total_pixels (line 112) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::StructuringElement::ellipse (line 92) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::from_pixels_channel (line 86) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::new (line 41) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::dilate (line 334) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize (line 9) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::std_dev (line 156) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::morphological_open (line 387) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::morphological_close (line 417) ... ok [INFO] [stdout] test src/interlace/mod.rs - interlace (line 16) - compile ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::equalize_histogram (line 264) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::StructuringElement::rectangle (line 63) ... ok [INFO] [stdout] test src/interlace/mod.rs - interlace (line 37) - compile ... ok [INFO] [stdout] test src/image/morph.rs - image::morph (line 10) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::percentile (line 190) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext (line 9) ... ok [INFO] [stdout] test src/image/histogram_ext.rs - image::histogram_ext::HistogramU64::cumulative (line 221) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::StructuringElement::custom (line 179) ... ok [INFO] [stdout] test src/image/morph.rs - image::morph::erode (line 269) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::ResizeConfig::new (line 107) ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate::FrameInterpolator (line 180) ... ok [INFO] [stdout] test src/quality/mod.rs - quality (line 18) - compile ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::SeparableConvolution::gaussian (line 506) ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate::FrameInterpolator::interpolate_between (line 276) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::ResizeMethod::kernel_size (line 71) ... ok [INFO] [stdout] test src/lib.rs - (line 42) ... ok [INFO] [stdout] test src/quality/mod.rs - quality::calculate_metrics (line 161) - compile ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate::FrameRateConfig::new (line 79) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::resize_image (line 144) ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate::FrameInterpolator::with_config (line 218) ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate::FrameInterpolator::new (line 203) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::ResizeMethod::is_interpolating (line 56) ... ok [INFO] [stdout] test src/image/resize.rs - image::resize::SeparableConvolution::new (line 483) ... ok [INFO] [stdout] test src/interpolate/mod.rs - interpolate (line 15) ... ok [INFO] [stdout] test src/motion_blur/synthesis.rs - motion_blur::synthesis::MotionBlurSynthesizer (line 17) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_roi_psnr (line 615) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr (line 18) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_psnr_planes (line 130) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_frame_mse (line 383) ... ok [INFO] [stdout] test src/quality/temporal.rs - quality::temporal::calculate_temporal_stability (line 433) - compile ... ok [INFO] [stdout] test src/quality/temporal.rs - quality::temporal (line 15) - compile ... ok [INFO] [stdout] test src/quality/temporal.rs - quality::temporal::calculate_temporal_metrics (line 182) - compile ... ok [INFO] [stdout] test src/quality/vmaf.rs - quality::vmaf::calculate_vmaf (line 128) - compile ... ok [INFO] [stdout] test src/motion_blur/removal.rs - motion_blur::removal::MotionBlurRemover (line 43) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_psnr_map (line 713) ... ok [INFO] [stdout] test src/quality/vmaf.rs - quality::vmaf (line 17) - compile ... ok [INFO] [stdout] test src/quality/temporal.rs - quality::temporal::calculate_temporal_info (line 96) - compile ... ok [INFO] [stdout] test src/quality/temporal.rs - quality::temporal::detect_scene_changes (line 492) - compile ... ok [INFO] [stdout] test src/motion_blur/mod.rs - motion_blur (line 39) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_buffer_psnr (line 420) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification (line 16) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_psnr (line 101) ... ok [INFO] [stdout] test src/scale/mod.rs - scale (line 19) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification::classify_scene (line 290) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification::SceneType::label (line 58) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_plane_psnr (line 329) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_weighted_psnr (line 553) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification::brightness_from_luma (line 134) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification::edge_density (line 166) ... ok [INFO] [stdout] test src/scene/classification.rs - scene::classification::extract_scene_features (line 222) ... ok [INFO] [stdout] test src/quality/psnr.rs - quality::psnr::calculate_psnr_statistics (line 797) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig (line 41) ... ok [INFO] [stdout] test src/scene/mod.rs - scene::SceneDetector::new (line 280) ... ok [INFO] [stdout] test src/scene/mod.rs - scene (line 19) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_3d_stabilization (line 162) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::new (line 91) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_border_mode (line 178) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize (line 12) ... ok [INFO] [stdout] test src/segmentation/person_bg.rs - segmentation::person_bg (line 24) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_rolling_shutter (line 146) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_crop_ratio (line 130) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_zoom_crop (line 225) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_smoothing_strength (line 110) ... ok [INFO] [stdout] test src/stabilize/motion.rs - stabilize::motion::HybridMotionEstimator (line 960) ... ok [INFO] [stdout] test src/stabilize/motion.rs - stabilize::motion::TransformMatrix::new (line 93) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_max_motion_magnitude (line 193) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::VideoStabilizer::stabilize (line 329) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::VideoStabilizer::new (line 295) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::StabilizationConfig::with_smoothing_window (line 209) ... ok [INFO] [stdout] test src/stabilize/motion.rs - stabilize::motion::MotionEstimator::new (line 258) ... ok [INFO] [stdout] test src/stabilize/mod.rs - stabilize::VideoStabilizer (line 273) ... ok [INFO] [stdout] test src/stabilize/motion.rs - stabilize::motion::TransformMatrix::identity (line 113) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::JelloCorrector::new (line 680) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::RollingShutterCorrector::new (line 95) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::AdaptiveSmoother (line 243) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::ExponentialSmoother::new (line 561) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::RollingShutterEstimator::new (line 402) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::RollingShutterParams::new (line 39) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::AdaptiveSmoother::new (line 268) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::GaussianSmoother::new (line 60) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::RollingShutterCorrector (line 77) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::ExponentialSmoother (line 541) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::GaussianSmoother (line 35) ... ok [INFO] [stdout] test src/stabilize/rolling_shutter.rs - stabilize::rolling_shutter::RollingShutterModel::new (line 596) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::LowPassFilter::new (line 182) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::LowPassFilter (line 160) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::MedianFilterSmoother::new (line 482) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::MovingAverageSmoother (line 383) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::MedianFilterSmoother (line 462) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::FrameWarper (line 39) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::SavitzkyGolaySmoother (line 615) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::MovingAverageSmoother::new (line 403) ... ok [INFO] [stdout] test src/stabilize/smooth.rs - stabilize::smooth::SavitzkyGolaySmoother::new (line 638) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::FrameWarper::new (line 57) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::TemporalInterpolator (line 334) ... ok [INFO] [stdout] test src/tracking/assignment.rs - tracking::assignment (line 8) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::TemporalInterpolator::new (line 354) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::ZoomCropStabilizer::new (line 533) ... ok [INFO] [stdout] test src/tracking/assignment.rs - tracking::assignment::hungarian_algorithm (line 37) ... ok [INFO] [stdout] test src/tracking/centroid.rs - tracking::centroid (line 8) ... ok [INFO] [stdout] test src/tracking/centroid.rs - tracking::centroid::CentroidTracker::update (line 92) ... ok [INFO] [stdout] test src/tracking/assignment.rs - tracking::assignment::compute_iou (line 253) ... ok [INFO] [stdout] test src/tracking/centroid.rs - tracking::centroid::CentroidTracker::new (line 51) ... ok [INFO] [stdout] test src/stabilize/transform.rs - stabilize::transform::ImagePyramid::build (line 611) ... ok [INFO] [stdout] test src/tracking/csrt.rs - tracking::csrt::CsrtTracker::new (line 161) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker::FeatureTracker (line 27) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker (line 11) ... ok [INFO] [stdout] test src/tracking/csrt.rs - tracking::csrt (line 8) ... ok [INFO] [stdout] test src/quality/ssim.rs - quality::ssim::calculate_ssim (line 104) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter::update (line 288) ... ok [INFO] [stdout] test src/tracking/iou_tracker.rs - tracking::iou_tracker::IouTracker::update (line 107) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker::TrackedFeature (line 320) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter::new (line 58) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker::FeatureTracker::new (line 63) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter::constant_acceleration (line 148) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter::constant_velocity (line 102) ... ok [INFO] [stdout] test src/tracking/iou_tracker.rs - tracking::iou_tracker::IouTracker::new (line 58) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter::predict (line 225) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker::FeatureTracker::add_features (line 210) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman::KalmanFilter (line 22) ... ok [INFO] [stdout] test src/tracking/feature_tracker.rs - tracking::feature_tracker::FeatureTracker::track (line 122) ... ok [INFO] [stdout] test src/tracking/iou_tracker.rs - tracking::iou_tracker (line 8) ... ok [INFO] [stdout] test src/tracking/kalman.rs - tracking::kalman (line 8) ... ok [INFO] [stdout] test src/quality/ssim.rs - quality::ssim (line 26) ... ok [INFO] [stdout] test src/tracking/kcf.rs - tracking::kcf (line 8) ... ok [INFO] [stdout] test src/tracking/kcf.rs - tracking::kcf::KcfTracker::new (line 58) ... ok [INFO] [stdout] test src/tracking/mod.rs - tracking (line 29) ... ok [INFO] [stdout] test src/tracking/medianflow.rs - tracking::medianflow::MedianFlowTracker::new (line 51) ... ok [INFO] [stdout] test src/tracking/mosse.rs - tracking::mosse::MosseTracker::new (line 50) ... ok [INFO] [stdout] test src/tracking/mod.rs - tracking::Point2D::new (line 104) ... ok [INFO] [stdout] test src/tracking/mosse.rs - tracking::mosse (line 8) ... ok [INFO] [stdout] test src/tracking/medianflow.rs - tracking::medianflow (line 8) ... ok [INFO] [stdout] test src/tracking/object_tracker.rs - tracking::object_tracker::ObjectTracker (line 42) ... ok [INFO] [stdout] test src/tracking/object_tracker.rs - tracking::object_tracker (line 12) ... ok [INFO] [stdout] test src/tracking/object_tracker.rs - tracking::object_tracker::ObjectTracker::update (line 132) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow (line 11) ... ok [INFO] [stdout] test src/tracking/object_tracker.rs - tracking::object_tracker::ObjectTracker::new (line 79) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow::FlowField::new (line 431) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow::FlowField (line 408) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow::OpticalFlow (line 37) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow::OpticalFlow::new (line 65) ... ok [INFO] [stdout] test src/tracking/object_tracker.rs - tracking::object_tracker::ObjectTracker::reset (line 185) ... ok [INFO] [stdout] test src/tracking/optical_flow_tracker.rs - tracking::optical_flow_tracker (line 11) ... ok [INFO] [stdout] test src/tracking/sort.rs - tracking::sort::DeepSortTracker::new (line 342) ... ok [INFO] [stdout] test src/tracking/optical_flow.rs - tracking::optical_flow::OpticalFlow::compute (line 128) ... ok [INFO] [stdout] test src/tracking/sort.rs - tracking::sort::SortTracker::update (line 208) ... ok [INFO] [stdout] test src/tracking/sort.rs - tracking::sort (line 8) ... ok [INFO] [stdout] test src/quality/ssim.rs - quality::ssim::calculate_ms_ssim (line 335) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::translation (line 84) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::rotation (line 121) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::warp_affine_image (line 654) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective (line 9) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective::PerspectiveTransform::identity (line 62) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective::PerspectiveTransform::new (line 44) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective::PerspectiveTransform::transform_point (line 78) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective::find_homography (line 226) ... ok [INFO] [stdout] test src/transform/perspective.rs - transform::perspective::warp_perspective (line 382) ... ok [INFO] [stdout] test src/tracking/sort.rs - tracking::sort::SortTracker::new (line 159) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::transform_point (line 213) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::identity (line 67) ... ok [INFO] [stdout] test src/transform/mod.rs - transform (line 10) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::new (line 53) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine (line 9) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::transform_image (line 331) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::shear (line 160) ... ok [INFO] [stdout] test src/tracking/sort_enhanced.rs - tracking::sort_enhanced (line 11) ... ok [INFO] [stdout] test src/tracking/tld.rs - tracking::tld::TldTracker::new (line 66) ... ok [INFO] [stdout] test src/transform/affine.rs - transform::affine::AffineTransform::scaling (line 100) ... ok [INFO] [stdout] test src/tracking/tld.rs - tracking::tld (line 8) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 310 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 119.09s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9f5e55b49cce6a22b02af5e7575ab875b83a2f22b81c61fae5e95b6b5f843699", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f5e55b49cce6a22b02af5e7575ab875b83a2f22b81c61fae5e95b6b5f843699", kill_on_drop: false }` [INFO] [stdout] 9f5e55b49cce6a22b02af5e7575ab875b83a2f22b81c61fae5e95b6b5f843699