[INFO] fetching crate oximedia-image-transform 0.1.5...
[INFO] testing oximedia-image-transform-0.1.5 against 1.95.0 for beta-1.96-2
[INFO] extracting crate oximedia-image-transform 0.1.5 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate oximedia-image-transform 0.1.5
[INFO] finished tweaking crates.io crate oximedia-image-transform 0.1.5
[INFO] tweaked toml for crates.io crate oximedia-image-transform 0.1.5 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate oximedia-image-transform 0.1.5 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate oximedia-image-transform 0.1.5 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 987ea841f3445b022c9b1f8aad9c2bce9ef1499e3ef84d29f4bc540b4659d323
[INFO] running `Command { std: "docker" "start" "-a" "987ea841f3445b022c9b1f8aad9c2bce9ef1499e3ef84d29f4bc540b4659d323", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "987ea841f3445b022c9b1f8aad9c2bce9ef1499e3ef84d29f4bc540b4659d323", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "987ea841f3445b022c9b1f8aad9c2bce9ef1499e3ef84d29f4bc540b4659d323", kill_on_drop: false }`
[INFO] [stdout] 987ea841f3445b022c9b1f8aad9c2bce9ef1499e3ef84d29f4bc540b4659d323
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 87e2bf596ab7b19e6c07c7ee1d8f85dc15dd47968c8971bfcb10d42e7c6effc2
[INFO] running `Command { std: "docker" "start" "-a" "87e2bf596ab7b19e6c07c7ee1d8f85dc15dd47968c8971bfcb10d42e7c6effc2", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling oximedia-image-transform v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.27s
[INFO] running `Command { std: "docker" "inspect" "87e2bf596ab7b19e6c07c7ee1d8f85dc15dd47968c8971bfcb10d42e7c6effc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87e2bf596ab7b19e6c07c7ee1d8f85dc15dd47968c8971bfcb10d42e7c6effc2", kill_on_drop: false }`
[INFO] [stdout] 87e2bf596ab7b19e6c07c7ee1d8f85dc15dd47968c8971bfcb10d42e7c6effc2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9435fe61b70a1bd2b77b8d39d269805d441c4a22408af0e8b2502b0b9f4b7df
[INFO] running `Command { std: "docker" "start" "-a" "b9435fe61b70a1bd2b77b8d39d269805d441c4a22408af0e8b2502b0b9f4b7df", kill_on_drop: false }`
[INFO] [stderr]    Compiling oximedia-image-transform v0.1.5 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.99s
[INFO] running `Command { std: "docker" "inspect" "b9435fe61b70a1bd2b77b8d39d269805d441c4a22408af0e8b2502b0b9f4b7df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9435fe61b70a1bd2b77b8d39d269805d441c4a22408af0e8b2502b0b9f4b7df", kill_on_drop: false }`
[INFO] [stdout] b9435fe61b70a1bd2b77b8d39d269805d441c4a22408af0e8b2502b0b9f4b7df
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a1c3aa43f584618ea2036feca6d000cc97aa46f3d31bad8cf2c1e47685b9aa8c
[INFO] running `Command { std: "docker" "start" "-a" "a1c3aa43f584618ea2036feca6d000cc97aa46f3d31bad8cf2c1e47685b9aa8c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/oximedia_image_transform-b53cb2575e2a6734)
[INFO] [stdout] 
[INFO] [stdout] running 501 tests
[INFO] [stdout] test blur_region::tests::test_apply_partial_region ... ok
[INFO] [stdout] test blur_region::tests::test_apply_multiple_regions ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_validate_bad_strength ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_validate_ok ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_validate_out_of_bounds ... ok
[INFO] [stdout] test blur_region::tests::test_blur_regions_ignores_wrong_buffer_size ... ok
[INFO] [stdout] test blur_region::tests::test_apply_rgb_channels ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_applies ... ok
[INFO] [stdout] test blur_region::tests::test_blur_regions_noop_zero_radius ... ok
[INFO] [stdout] test blur_region::tests::test_apply_no_panic_on_full_image_region ... ok
[INFO] [stdout] test blur_region::tests::test_buffer_size_mismatch ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_validate_zero_width ... ok
[INFO] [stdout] test blur_region::tests::test_gaussian_kernel_sums_to_one ... ok
[INFO] [stdout] test blur_region::tests::test_gaussian_kernel_symmetry ... ok
[INFO] [stdout] test blur_region::tests::test_blur_regions_clamps_out_of_bounds_region ... ok
[INFO] [stdout] test blur_region::tests::test_unsupported_channels ... ok
[INFO] [stdout] test face_detect::tests::test_detect_faces_subsample_large ... ok
[INFO] [stdout] test face_detect::tests::test_detect_faces_zero_size ... ok
[INFO] [stdout] test face_detect::tests::test_detect_confidence_no_skin ... ok
[INFO] [stdout] test face_detect::tests::test_gradient_at_border ... ok
[INFO] [stdout] test face_detect::tests::test_gradient_sharp_edge ... ok
[INFO] [stdout] test face_detect::tests::test_luminance_green_brightest ... ok
[INFO] [stdout] test face_detect::tests::test_luminance_white ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_blue_not_skin ... ok
[INFO] [stdout] test face_detect::tests::test_default_result ... ok
[INFO] [stdout] test face_detect::tests::test_detection_config_defaults ... ok
[INFO] [stdout] test blur_region::tests::test_blur_region_clamped ... ok
[INFO] [stdout] test face_detect::tests::test_gradient_uniform_is_zero ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_green_not_skin ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_dark_not_skin ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_warm_skin ... ok
[INFO] [stdout] test face_detect::tests::test_detect_rgb_buffer ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_white_not_skin ... ok
[INFO] [stdout] test face_detect::tests::test_luminance_black ... ok
[INFO] [stdout] test face_detect::tests::test_detect_confidence_with_skin ... ok
[INFO] [stdout] test face_detect::tests::test_smart_gravity_uniform ... ok
[INFO] [stdout] test face_detect::tests::test_skin_tone_various_tones ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_buffer_size_mismatch ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_invalid_components ... ok
[INFO] [stdout] test face_detect::tests::test_tiny_buffer_returns_center ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_deterministic ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_ignores_transparent_pixels ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_invalid_color_count ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_multiple_colors ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_single_color ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_unsupported_channels ... ok
[INFO] [stdout] test image_analysis::tests::test_image_too_small ... ok
[INFO] [stdout] test face_detect::tests::test_smart_gravity_bright_corner ... ok
[INFO] [stdout] test face_detect::tests::test_uniform_gray_low_saliency ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_length_varies_with_components ... ok
[INFO] [stdout] test image_analysis::tests::test_median_cut_reduces_to_n_buckets ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_non_empty ... ok
[INFO] [stdout] test image_analysis::tests::test_extract_rgb_channels ... ok
[INFO] [stdout] test image_analysis::tests::test_blurhash_rgb_channels ... ok
[INFO] [stdout] test image_analysis::tests::test_srgb_linear_roundtrip_black ... ok
[INFO] [stdout] test image_analysis::tests::test_srgb_linear_roundtrip_white ... ok
[INFO] [stdout] test metrics::tests::test_all_formats_tracked ... ok
[INFO] [stdout] test metrics::tests::test_cache_hit_tracking ... ok
[INFO] [stdout] test metrics::tests::test_error_tracking ... ok
[INFO] [stdout] test metrics::tests::test_cache_misses ... ok
[INFO] [stdout] test metrics::tests::test_default_metrics ... ok
[INFO] [stdout] test metrics::tests::test_initial_state ... ok
[INFO] [stdout] test metrics::tests::test_format_distribution ... ok
[INFO] [stdout] test metrics::tests::test_latency_bucket_large ... ok
[INFO] [stdout] test metrics::tests::test_latency_bucket_one_us ... ok
[INFO] [stdout] test metrics::tests::test_latency_bucket_zero ... ok
[INFO] [stdout] test metrics::tests::test_latency_histogram_populated ... ok
[INFO] [stdout] test metrics::tests::test_record_single_request ... ok
[INFO] [stdout] test metrics::tests::test_mean_latency ... ok
[INFO] [stdout] test negotiation::tests::test_accepts_mime_wildcard_zero_quality ... ok
[INFO] [stdout] test metrics::tests::test_reset ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_avif ... ok
[INFO] [stdout] test negotiation::tests::test_accepts_mime_exact_zero_quality ... ok
[INFO] [stdout] test metrics::tests::test_p95_latency_computed ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_boundary_quality_49 ... ok
[INFO] [stdout] test face_detect::tests::test_smart_gravity_skin_region ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_boundary_quality_50 ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_default ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_jpeg_normal_quality ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_low_quality ... ok
[INFO] [stdout] test image_analysis::tests::test_rgb_color_to_hex ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_low_quality_avif_priority ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_png ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_apply_does_not_override_explicit_width ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_apply_dpr_clamped ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_apply_to_params_width ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_apply_dpr ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_invalid_dpr ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_invalid_width ... ok
[INFO] [stdout] test metrics::tests::test_thread_safe_concurrent_updates ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_invalid_viewport ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_parse_all ... ok
[INFO] [stdout] test negotiation::tests::test_cache_control_webp ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_has_hints ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_parse_none ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_apply_does_not_override_explicit_dpr ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_default ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_parse_partial ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_response_headers_basic ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_response_headers_no_hints ... ok
[INFO] [stdout] test negotiation::tests::test_client_hints_whitespace_trimming ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_auto_fallback ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_avif ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_baseline ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_gif ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_png ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_jpeg ... ok
[INFO] [stdout] test negotiation::tests::test_format_to_mime_webp ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_empty_accept_falls_to_jpeg ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_image_wildcard_matches_avif ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_jpeg_fallback ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_all_formats_explicit ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_webp_when_no_avif ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_wildcard_matches_avif ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_zero_quality_avif_skipped ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_png_when_no_avif_no_webp ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_explicit_jpeg ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_explicit_format_returns_directly ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_prefers_avif ... ok
[INFO] [stdout] test negotiation::tests::test_negotiate_auto_no_image_types ... ok
[INFO] [stdout] test negotiation::tests::test_parse_empty_accept ... ok
[INFO] [stdout] test negotiation::tests::test_parse_equal_quality_preserves_order ... ok
[INFO] [stdout] test negotiation::tests::test_parse_chrome_accept_header ... ok
[INFO] [stdout] test negotiation::tests::test_parse_malformed_quality ... ok
[INFO] [stdout] test negotiation::tests::test_parse_missing_q_value ... ok
[INFO] [stdout] test negotiation::tests::test_parse_no_quality_defaults_to_one ... ok
[INFO] [stdout] test negotiation::tests::test_parse_multiple_entries_with_quality ... ok
[INFO] [stdout] test negotiation::tests::test_parse_safari_accept_header ... ok
[INFO] [stdout] test negotiation::tests::test_parse_whitespace_only ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_cache_control ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_cf_resized_with_savings ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_cf_resized_zero_original ... ok
[INFO] [stdout] test negotiation::tests::test_parse_quality_clamped_to_one ... ok
[INFO] [stdout] test negotiation::tests::test_parse_quality_clamped_to_zero ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_etag ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_different_formats ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_to_pairs ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_vary ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_avif ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_empty_accept ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_non_image_wildcard_no_match ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_via_wildcard ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_not_supported ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_webp ... ok
[INFO] [stdout] test negotiation::tests::test_supports_format_zero_quality_not_supported ... ok
[INFO] [stdout] test parser::tests::test_cache_key_deterministic ... ok
[INFO] [stdout] test parser::tests::test_cache_key_different_params ... ok
[INFO] [stdout] test negotiation::tests::test_parse_single_entry ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_cf_resized_no_savings ... ok
[INFO] [stdout] test negotiation::tests::test_parse_quality_with_extra_params ... ok
[INFO] [stdout] test parser::tests::test_cdn_cgi_path_basic ... ok
[INFO] [stdout] test negotiation::tests::test_parse_sorts_by_quality_descending ... ok
[INFO] [stdout] test negotiation::tests::test_response_headers_content_type ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_no_leading_slash ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_no_transforms ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_traversal_prevention ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_missing_image_path ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_basic ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_invalid_prefix ... ok
[INFO] [stdout] test parser::tests::test_cache_key_different_paths ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_complex ... ok
[INFO] [stdout] test parser::tests::test_cdn_url_url_encoded ... ok
[INFO] [stdout] test parser::tests::test_compute_cache_key_deterministic ... ok
[INFO] [stdout] test parser::tests::test_compute_cache_key_different_params ... ok
[INFO] [stdout] test parser::tests::test_fnv1a_deterministic ... ok
[INFO] [stdout] test parser::tests::test_compute_cache_key_different_paths ... ok
[INFO] [stdout] test parser::tests::test_fnv1a_different_inputs ... ok
[INFO] [stdout] test parser::tests::test_fnv1a_empty ... ok
[INFO] [stdout] test parser::tests::test_parse_anim_false ... ok
[INFO] [stdout] test parser::tests::test_parse_all_cloudflare_params ... ok
[INFO] [stdout] test parser::tests::test_parse_background_short_alias ... ok
[INFO] [stdout] test parser::tests::test_parse_basic ... ok
[INFO] [stdout] test parser::tests::test_parse_bare_key_ignored ... ok
[INFO] [stdout] test parser::tests::test_parse_border_uniform ... ok
[INFO] [stdout] test parser::tests::test_parse_border_four_sides ... ok
[INFO] [stdout] test parser::tests::test_parse_background ... ok
[INFO] [stdout] test parser::tests::test_parse_anim_true ... ok
[INFO] [stdout] test parser::tests::test_parse_format_auto ... ok
[INFO] [stdout] test parser::tests::test_parse_gravity_short_alias ... ok
[INFO] [stdout] test parser::tests::test_parse_empty_string ... ok
[INFO] [stdout] test parser::tests::test_parse_invalid_format ... ok
[INFO] [stdout] test parser::tests::test_parse_gravity_focal_point ... ok
[INFO] [stdout] test parser::tests::test_parse_invalid_number ... ok
[INFO] [stdout] test parser::tests::test_parse_onerror ... ok
[INFO] [stdout] test parser::tests::test_parse_padding_uniform ... ok
[INFO] [stdout] test parser::tests::test_parse_rotate_auto ... ok
[INFO] [stdout] test parser::tests::test_parse_short_aliases ... ok
[INFO] [stdout] test parser::tests::test_parse_trim_uniform ... ok
[INFO] [stdout] test parser::tests::test_parse_unknown_keys_ignored ... ok
[INFO] [stdout] test parser::tests::test_parse_padding_two_values ... ok
[INFO] [stdout] test parser::tests::test_percent_decode_basic ... ok
[INFO] [stdout] test parser::tests::test_parse_rotate_degrees ... ok
[INFO] [stdout] test parser::tests::test_percent_decode_empty ... ok
[INFO] [stdout] test parser::tests::test_preset_as_str ... ok
[INFO] [stdout] test parser::tests::test_parse_padding_four_values ... ok
[INFO] [stdout] test parser::tests::test_preset_case_insensitive ... ok
[INFO] [stdout] test parser::tests::test_preset_hd_ready_aliases ... ok
[INFO] [stdout] test parser::tests::test_preset_in_cdn_url ... ok
[INFO] [stdout] test parser::tests::test_preset_overridden_by_explicit_params ... ok
[INFO] [stdout] test parser::tests::test_preset_thumbnail_alias_thumb ... ok
[INFO] [stdout] test parser::tests::test_preset_thumbnail_alias_tn ... ok
[INFO] [stdout] test parser::tests::test_preset_thumbnail ... ok
[INFO] [stdout] test parser::tests::test_query_aliases ... ok
[INFO] [stdout] test parser::tests::test_preset_preview ... ok
[INFO] [stdout] test parser::tests::test_preset_hd_ready ... ok
[INFO] [stdout] test parser::tests::test_query_empty ... ok
[INFO] [stdout] test parser::tests::test_query_basic ... ok
[INFO] [stdout] test parser::tests::test_query_unknown_params_ignored ... ok
[INFO] [stdout] test parser::tests::test_preset_unknown_returns_none ... ok
[INFO] [stdout] test parser::tests::test_round_trip_with_effects ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_empty_source ... ok
[INFO] [stdout] test parser::tests::test_round_trip_parse_display_parse ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_pad ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_cover ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_scale_down_no_change ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_height_only ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_transforms_color_adjustments ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_transforms_border_and_padding ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_transforms_identity ... ok
[INFO] [stdout] test processor::tests::tests::test_bilinear_resize_identity ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_transforms_resize_and_rotate ... ok
[INFO] [stdout] test processor::tests::tests::test_bilinear_resize_downscale ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_crop ... ok
[INFO] [stdout] test processor::tests::tests::test_bilinear_resize_to_single_pixel ... ok
[INFO] [stdout] test processor::tests::tests::test_bilinear_resize_zero_target ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_fill ... ok
[INFO] [stdout] test processor::tests::tests::test_bilinear_resize_upscale ... ok
[INFO] [stdout] test processor::tests::tests::test_blur_zero_is_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_border_adds_size ... ok
[INFO] [stdout] test processor::tests::tests::test_blur_solid_color_unchanged ... ok
[INFO] [stdout] test processor::tests::tests::test_border_asymmetric ... ok
[INFO] [stdout] test processor::tests::tests::test_brightness_negative_clamps_to_zero ... ok
[INFO] [stdout] test processor::tests::tests::test_border_color_applied ... ok
[INFO] [stdout] test processor::tests::tests::test_brightness_clamp_to_white ... ok
[INFO] [stdout] test processor::tests::tests::test_brightness_positive ... ok
[INFO] [stdout] test processor::tests::tests::test_brightness_zero_is_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_build_pipeline_empty ... ok
[INFO] [stdout] test processor::tests::tests::test_build_pipeline_ordering ... ok
[INFO] [stdout] test processor::tests::tests::test_contrast_midpoint_unchanged ... ok
[INFO] [stdout] test processor::tests::tests::test_build_pipeline_skips_identity_values ... ok
[INFO] [stdout] test processor::tests::tests::test_contrast_negative_reduces ... ok
[INFO] [stdout] test processor::tests::tests::test_contrast_zero_is_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_crop_rect_bottom_right ... ok
[INFO] [stdout] test processor::tests::tests::test_contrast_positive_amplifies ... ok
[INFO] [stdout] test processor::tests::tests::test_crop_rect_center ... ok
[INFO] [stdout] test processor::tests::tests::test_crop_rect_focal_point ... ok
[INFO] [stdout] test processor::tests::tests::test_crop_rect_larger_than_source ... ok
[INFO] [stdout] test processor::tests::tests::test_crop_rect_top_left ... ok
[INFO] [stdout] test processor::tests::tests::test_fit_contain_landscape ... ok
[INFO] [stdout] test processor::tests::tests::test_fit_contain_portrait ... ok
[INFO] [stdout] test processor::tests::tests::test_fit_cover_landscape ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_brightens ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_darkens ... ok
[INFO] [stdout] test processor::tests::tests::test_blur_reduces_sharp_edge ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_fixed_points_black_white ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_zero_error ... ok
[INFO] [stdout] test processor::tests::tests::test_gaussian_kernel_peak_at_center ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_identity ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_contain ... ok
[INFO] [stdout] test processor::tests::tests::test_gaussian_kernel_symmetric ... ok
[INFO] [stdout] test processor::tests::tests::test_get_pixel_out_of_bounds ... ok
[INFO] [stdout] test processor::tests::tests::test_get_set_pixel ... ok
[INFO] [stdout] test processor::tests::tests::test_gravity_focal_point_fractions ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_scale_down_shrinks ... ok
[INFO] [stdout] test processor::tests::tests::test_gravity_to_fractions ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos3_kernel_at_boundary ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos3_kernel_at_zero ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos3_kernel_outside_support ... ok
[INFO] [stdout] test processor::tests::tests::test_gamma_preserves_alpha ... ok
[INFO] [stdout] test processor::tests::tests::test_integration_parse_and_apply_resize ... ok
[INFO] [stdout] test processor::tests::tests::test_gaussian_kernel_sums_to_one ... ok
[INFO] [stdout] test processor::tests::tests::test_integration_quality_bounds ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos_resize_identity ... ok
[INFO] [stdout] test processor::tests::tests::test_apply_resize_width_only ... ok
[INFO] [stdout] test processor::tests::tests::test_integration_upscale_single_pixel ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos_resize_upscale ... ok
[INFO] [stdout] test processor::tests::tests::test_pixel_buffer_from_rgb_valid ... ok
[INFO] [stdout] test processor::tests::tests::test_pixel_buffer_from_rgba_invalid ... ok
[INFO] [stdout] test processor::tests::tests::test_pixel_buffer_from_rgba_valid ... ok
[INFO] [stdout] test processor::tests::tests::test_padding_uniform ... ok
[INFO] [stdout] test processor::tests::tests::test_pixel_buffer_from_rgb_invalid ... ok
[INFO] [stdout] test processor::tests::tests::test_rgb_buffer_brightness ... ok
[INFO] [stdout] test processor::tests::tests::test_rgb_buffer_resize ... ok
[INFO] [stdout] test processor::tests::tests::test_negative_brightness_per_channel ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_90 ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_90_pixel_mapping ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_auto_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_270 ... ok
[INFO] [stdout] test processor::tests::tests::test_pixel_buffer_new ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_180 ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_deg0_identity ... ok
[INFO] [stdout] test processor::tests::tests::test_sample_bilinear_empty_buffer ... ok
[INFO] [stdout] test processor::tests::tests::test_sample_bilinear_exact_corners ... ok
[INFO] [stdout] test processor::tests::tests::test_rotate_single_pixel ... ok
[INFO] [stdout] test processor::tests::tests::test_padding_asymmetric ... ok
[INFO] [stdout] test processor::tests::tests::test_sharpen_zero_is_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_single_pixel_buffer ... ok
[INFO] [stdout] test processor::tests::tests::test_sharpen_solid_color_unchanged ... ok
[INFO] [stdout] test processor::tests::tests::test_trim_all_sides ... ok
[INFO] [stdout] test processor::tests::tests::test_blur_preserves_dimensions ... ok
[INFO] [stdout] test processor::tests::tests::test_sharpen_preserves_dimensions ... ok
[INFO] [stdout] test processor::tests::tests::test_sample_bilinear_interpolated ... ok
[INFO] [stdout] test processor::tests::tests::test_set_pixel_out_of_bounds_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_trim_uniform ... ok
[INFO] [stdout] test quality::tests::test_analyse_complexity_empty_buffer ... ok
[INFO] [stdout] test processor::tests::tests::test_trim_empty_buffer ... ok
[INFO] [stdout] test processor::tests::tests::test_trim_exceeds_dimensions ... ok
[INFO] [stdout] test quality::tests::test_analyse_complexity_tiny_buffer ... ok
[INFO] [stdout] test quality::tests::test_complexity_to_quality_range ... ok
[INFO] [stdout] test quality::tests::test_pixel_luminance_black ... ok
[INFO] [stdout] test quality::tests::test_pixel_luminance_out_of_bounds ... ok
[INFO] [stdout] test quality::tests::test_pixel_luminance_white ... ok
[INFO] [stdout] test quality::tests::test_analyse_complexity_gradient ... ok
[INFO] [stdout] test quality::tests::test_analyse_complexity_solid ... ok
[INFO] [stdout] test quality::tests::test_analyse_complexity_checkerboard ... ok
[INFO] [stdout] test quality::tests::test_ssim_different_sizes ... ok
[INFO] [stdout] test quality::tests::test_auto_tune_quality_preserves_explicit ... ok
[INFO] [stdout] test responsive::tests::test_breakpoint_with_media_query ... ok
[INFO] [stdout] test responsive::tests::test_builder_fluent_api ... ok
[INFO] [stdout] test quality::tests::test_ssim_tiny_image ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_alt_text ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_has_avif_source ... ok
[INFO] [stdout] test quality::tests::test_auto_tune_quality_modifies_default ... ok
[INFO] [stdout] test quality::tests::test_ssim_different ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_lazy_loading ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_has_webp_source ... ok
[INFO] [stdout] test quality::tests::test_ssim_identical ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_structure ... ok
[INFO] [stdout] test responsive::tests::test_srcset_contains_all_widths ... ok
[INFO] [stdout] test responsive::tests::test_single_format_no_source_elements ... ok
[INFO] [stdout] test responsive::tests::test_validate_empty_breakpoints ... ok
[INFO] [stdout] test responsive::tests::test_validate_empty_formats ... ok
[INFO] [stdout] test responsive::tests::test_srcset_contains_format ... ok
[INFO] [stdout] test responsive::tests::test_picture_element_sizes_attr ... ok
[INFO] [stdout] test responsive::tests::test_url_format ... ok
[INFO] [stdout] test responsive::tests::test_validate_ok ... ok
[INFO] [stdout] test responsive::tests::test_validate_zero_width_breakpoint ... ok
[INFO] [stdout] test security::tests::test_broadcast_v4 ... ok
[INFO] [stdout] test security::tests::test_backslash_traversal ... ok
[INFO] [stdout] test security::tests::test_cgnat_boundaries ... ok
[INFO] [stdout] test security::tests::test_cgnat_v4 ... ok
[INFO] [stdout] test security::tests::test_constant_time_eq_different_lengths ... ok
[INFO] [stdout] test security::tests::test_constant_time_eq_not_equal ... ok
[INFO] [stdout] test security::tests::test_decode_path_basic ... ok
[INFO] [stdout] test security::tests::test_decode_path_empty ... ok
[INFO] [stdout] test security::tests::test_dimensions_at_max_boundary ... ok
[INFO] [stdout] test security::tests::test_dimensions_with_dpr_exceeds_max ... ok
[INFO] [stdout] test security::tests::test_decode_path_invalid_sequence ... ok
[INFO] [stdout] test security::tests::test_documentation_v4 ... ok
[INFO] [stdout] test security::tests::test_dotdot_traversal ... ok
[INFO] [stdout] test security::tests::test_double_slash ... ok
[INFO] [stdout] test security::tests::test_encoded_backslash ... ok
[INFO] [stdout] test security::tests::test_decode_path_no_encoding ... ok
[INFO] [stdout] test security::tests::test_encoded_dotdot_traversal ... ok
[INFO] [stdout] test security::tests::test_documentation_boundaries ... ok
[INFO] [stdout] test security::tests::test_error_display_blocked ... ok
[INFO] [stdout] test security::tests::test_encoded_slash_traversal ... ok
[INFO] [stdout] test security::tests::test_error_display_dimension ... ok
[INFO] [stdout] test security::tests::test_error_display_file_size ... ok
[INFO] [stdout] test security::tests::test_error_display_invalid_url ... ok
[INFO] [stdout] test security::tests::test_error_display_path_traversal ... ok
[INFO] [stdout] test security::tests::test_error_display_private_ip ... ok
[INFO] [stdout] test quality::tests::test_ssim_similar ... ok
[INFO] [stdout] test security::tests::test_error_display_protocol ... ok
[INFO] [stdout] test security::tests::test_height_exceeds_max ... ok
[INFO] [stdout] test security::tests::test_hex_encode ... ok
[INFO] [stdout] test security::tests::test_link_local_v4 ... ok
[INFO] [stdout] test security::tests::test_link_local_v6 ... ok
[INFO] [stdout] test security::tests::test_hmac_sha256_known ... ok
[INFO] [stdout] test security::tests::test_loopback_v4 ... ok
[INFO] [stdout] test security::tests::test_loopback_v6 ... ok
[INFO] [stdout] test security::tests::test_no_dimensions_passes ... ok
[INFO] [stdout] test security::tests::test_not_ula_boundary ... ok
[INFO] [stdout] test security::tests::test_null_byte ... ok
[INFO] [stdout] test security::tests::test_public_v4 ... ok
[INFO] [stdout] test security::tests::test_public_v6 ... ok
[INFO] [stdout] test security::tests::test_quadruple_dot_traversal ... ok
[INFO] [stdout] test security::tests::test_rfc1918_10_network ... ok
[INFO] [stdout] test security::tests::test_rfc1918_172_16_network ... ok
[INFO] [stdout] test security::tests::test_security_config_defaults ... ok
[INFO] [stdout] test security::tests::test_sha256_abc ... ok
[INFO] [stdout] test security::tests::test_sha256_known_vector ... ok
[INFO] [stdout] test security::tests::test_rfc1918_192_168_network ... ok
[INFO] [stdout] test security::tests::test_sign_and_verify_roundtrip ... ok
[INFO] [stdout] test security::tests::test_sign_url_deterministic ... ok
[INFO] [stdout] test security::tests::test_sign_url_different_paths ... ok
[INFO] [stdout] test security::tests::test_sign_url_no_secret ... ok
[INFO] [stdout] test security::tests::test_signed_url_error_display ... ok
[INFO] [stdout] test security::tests::test_sign_url_different_params ... ok
[INFO] [stdout] test security::tests::test_signed_url_config_defaults ... ok
[INFO] [stdout] test security::tests::test_tilde_not_at_start_is_ok ... ok
[INFO] [stdout] test security::tests::test_tilde_home_dir ... ok
[INFO] [stdout] test security::tests::test_ula_v6 ... ok
[INFO] [stdout] test security::tests::test_unspecified_v4 ... ok
[INFO] [stdout] test security::tests::test_unspecified_v6 ... ok
[INFO] [stdout] test security::tests::test_valid_dimensions ... ok
[INFO] [stdout] test security::tests::test_valid_path ... ok
[INFO] [stdout] test security::tests::test_validate_request_dimension_exceeded ... ok
[INFO] [stdout] test security::tests::test_validate_request_path_checked_first ... ok
[INFO] [stdout] test security::tests::test_validate_request_path_traversal ... ok
[INFO] [stdout] test security::tests::test_validate_request_valid ... ok
[INFO] [stdout] test security::tests::test_verify_no_secret ... ok
[INFO] [stdout] test security::tests::test_verify_signed_url_with_expiry ... ok
[INFO] [stdout] test security::tests::test_verify_signed_url_no_expiry ... ok
[INFO] [stdout] test security::tests::test_verify_wrong_signature ... ok
[INFO] [stdout] test security::tests::test_width_exceeds_max ... ok
[INFO] [stdout] test transform::tests::test_border_uniform ... ok
[INFO] [stdout] test transform::tests::test_cache_key_deterministic ... ok
[INFO] [stdout] test transform::tests::test_cache_key_excludes_onerror ... ok
[INFO] [stdout] test transform::tests::test_color_from_css_rgb ... ok
[INFO] [stdout] test transform::tests::test_color_display ... ok
[INFO] [stdout] test transform::tests::test_color_from_hex_6 ... ok
[INFO] [stdout] test transform::tests::test_color_from_hex_8 ... ok
[INFO] [stdout] test transform::tests::test_color_from_hex_no_hash ... ok
[INFO] [stdout] test transform::tests::test_color_from_css_rgba ... ok
[INFO] [stdout] test transform::tests::test_color_to_hex_transparent ... ok
[INFO] [stdout] test transform::tests::test_compression_parse ... ok
[INFO] [stdout] test security::tests::test_constant_time_eq_equal ... ok
[INFO] [stdout] test transform::tests::test_default_params ... ok
[INFO] [stdout] test transform::tests::test_display_default_is_empty ... ok
[INFO] [stdout] test transform::tests::test_display_with_params ... ok
[INFO] [stdout] test security::tests::test_custom_max_dimensions ... ok
[INFO] [stdout] test transform::tests::test_effective_height_no_dpr ... ok
[INFO] [stdout] test transform::tests::test_effective_height_with_dpr ... ok
[INFO] [stdout] test transform::tests::test_color_to_hex_opaque ... ok
[INFO] [stdout] test transform::tests::test_effective_none ... ok
[INFO] [stdout] test transform::tests::test_color_invalid ... ok
[INFO] [stdout] test transform::tests::test_effective_width_clamped ... ok
[INFO] [stdout] test transform::tests::test_color_presets ... ok
[INFO] [stdout] test transform::tests::test_fit_as_str ... ok
[INFO] [stdout] test transform::tests::test_fit_display ... ok
[INFO] [stdout] test transform::tests::test_fit_parse ... ok
[INFO] [stdout] test transform::tests::test_format_animation ... ok
[INFO] [stdout] test transform::tests::test_effective_width_no_dpr ... ok
[INFO] [stdout] test transform::tests::test_format_extension ... ok
[INFO] [stdout] test transform::tests::test_effective_width_with_dpr ... ok
[INFO] [stdout] test transform::tests::test_format_as_str ... ok
[INFO] [stdout] test transform::tests::test_format_display ... ok
[INFO] [stdout] test transform::tests::test_format_parse ... ok
[INFO] [stdout] test transform::tests::test_format_transparency ... ok
[INFO] [stdout] test transform::tests::test_gravity_display ... ok
[INFO] [stdout] test transform::tests::test_gravity_as_str ... ok
[INFO] [stdout] test transform::tests::test_gravity_focal_point_parse ... ok
[INFO] [stdout] test transform::tests::test_format_mime ... ok
[INFO] [stdout] test transform::tests::test_identity ... ok
[INFO] [stdout] test transform::tests::test_gravity_parse_named ... ok
[INFO] [stdout] test transform::tests::test_gravity_focal_point_out_of_range ... ok
[INFO] [stdout] test transform::tests::test_rotation_from_str ... ok
[INFO] [stdout] test transform::tests::test_rotation_to_degrees ... ok
[INFO] [stdout] test transform::tests::test_rotation_display ... ok
[INFO] [stdout] test transform::tests::test_padding_uniform ... ok
[INFO] [stdout] test transform::tests::test_rotation_from_degrees ... ok
[INFO] [stdout] test transform::tests::test_trim_uniform ... ok
[INFO] [stdout] test transform::tests::test_validate_blur_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_brightness_too_high ... ok
[INFO] [stdout] test transform::tests::test_validate_brightness_too_low ... ok
[INFO] [stdout] test transform::tests::test_validate_dpr_high ... ok
[INFO] [stdout] test transform::tests::test_metadata_parse ... ok
[INFO] [stdout] test transform::tests::test_validate_dpr_low ... ok
[INFO] [stdout] test transform::tests::test_validate_dpr_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_exceed_dimension ... ok
[INFO] [stdout] test transform::tests::test_validate_focal_point_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_focal_point_out_of_range ... ok
[INFO] [stdout] test transform::tests::test_validate_gamma_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_gamma_too_high ... ok
[INFO] [stdout] test transform::tests::test_validate_quality_100 ... ok
[INFO] [stdout] test transform::tests::test_validate_quality_101 ... ok
[INFO] [stdout] test transform::tests::test_validate_quality_zero ... ok
[INFO] [stdout] test transform::tests::test_validate_sharpen_negative ... ok
[INFO] [stdout] test transform::tests::test_validate_sharpen_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_sharpen_too_high ... ok
[INFO] [stdout] test transform::tests::test_validate_valid ... ok
[INFO] [stdout] test transform::tests::test_validate_zero_width ... ok
[INFO] [stdout] test watermark::tests::test_blend_pixel_full_alpha ... ok
[INFO] [stdout] test watermark::tests::test_blend_pixel_out_of_bounds ... ok
[INFO] [stdout] test watermark::tests::test_config_defaults ... ok
[INFO] [stdout] test watermark::tests::test_glyph_lowercase_maps_to_uppercase ... ok
[INFO] [stdout] test watermark::tests::test_glyph_space_is_blank ... ok
[INFO] [stdout] test watermark::tests::test_glyph_unknown_char_is_box ... ok
[INFO] [stdout] test watermark::tests::test_image_watermark_empty_stamp_noop ... ok
[INFO] [stdout] test transform::tests::test_validate_blur_too_high ... ok
[INFO] [stdout] test transform::tests::test_validate_brightness_ok ... ok
[INFO] [stdout] test transform::tests::test_validate_contrast_ok ... ok
[INFO] [stdout] test watermark::tests::test_image_watermark_half_opacity ... ok
[INFO] [stdout] test watermark::tests::test_position_origin_bottom_right ... ok
[INFO] [stdout] test watermark::tests::test_position_origin_center ... ok
[INFO] [stdout] test watermark::tests::test_image_watermark_modifies_pixels ... ok
[INFO] [stdout] test watermark::tests::test_position_parse ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_empty_string_noop ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_full_opacity ... ok
[INFO] [stdout] test watermark::tests::test_position_default ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_rgb_buffer ... ok
[INFO] [stdout] test watermark::tests::test_position_origin_top_left ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_modifies_pixels ... ok
[INFO] [stdout] test watermark::tests::test_image_watermark_scaled ... ok
[INFO] [stdout] test transform::tests::test_validate_contrast_too_high ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_small_buffer ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_zero_opacity_noop ... ok
[INFO] [stdout] test processor::tests::tests::test_lanczos_resize_downscale ... ok
[INFO] [stdout] test watermark::tests::test_text_watermark_positions ... ok
[INFO] [stdout] test processor::tests::tests::test_large_resize_from_single_pixel ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 501 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests oximedia_image_transform
[INFO] [stdout] 
[INFO] [stdout] running 47 tests
[INFO] [stdout] test src/blur_region.rs - blur_region::BoxBlurRegion (line 120) ... ok
[INFO] [stdout] test src/blur_region.rs - blur_region (line 16) ... ok
[INFO] [stdout] test src/image_analysis.rs - image_analysis::RgbColor (line 94) ... ok
[INFO] [stdout] test src/image_analysis.rs - image_analysis (line 25) ... ok
[INFO] [stdout] test src/metrics.rs - metrics (line 16) ... ok
[INFO] [stdout] test src/lib.rs - (line 19) ... ok
[INFO] [stdout] test src/blur_region.rs - blur_region::BlurRegion (line 94) ... ok
[INFO] [stdout] test src/blur_region.rs - blur_region::apply_blur_regions (line 258) ... ok
[INFO] [stdout] test src/parser.rs - parser (line 17) ... ok
[INFO] [stdout] test src/parser.rs - parser::TransformPreset (line 42) ... ok
[INFO] [stdout] test src/negotiation.rs - negotiation::generate_cache_control (line 219) ... ok
[INFO] [stdout] test src/negotiation.rs - negotiation::parse_accept_header (line 28) ... ok
[INFO] [stdout] test src/parser.rs - parser::TransformRequest (line 135) ... ok
[INFO] [stdout] test src/parser.rs - parser::generate_cache_key (line 274) ... ok
[INFO] [stdout] test src/parser.rs - parser::parse_cdn_url (line 159) ... ok
[INFO] [stdout] test src/parser.rs - parser::parse_query_params (line 199) ... ok
[INFO] [stdout] test src/negotiation.rs - negotiation::ClientHints::from_headers (line 326) ... ok
[INFO] [stdout] test src/responsive.rs - responsive (line 11) ... ok
[INFO] [stdout] test src/parser.rs - parser::parse_preset (line 111) ... ok
[INFO] [stdout] test src/parser.rs - parser::parse_transform_string (line 236) ... ok
[INFO] [stdout] test src/responsive.rs - responsive::Breakpoint (line 67) ... ok
[INFO] [stdout] test src/responsive.rs - responsive::ResponsiveImageSet::render_srcset (line 148) ... ok
[INFO] [stdout] test src/transform.rs - transform (line 15) ... ok
[INFO] [stdout] test src/transform.rs - transform::Color (line 514) ... ok
[INFO] [stdout] test src/transform.rs - transform::FitMode (line 125) ... ok
[INFO] [stdout] test src/transform.rs - transform::Gravity::from_str_loose (line 256) ... ok
[INFO] [stdout] test src/responsive.rs - responsive::ResponsiveImageBuilder (line 286) ... ok
[INFO] [stdout] test src/transform.rs - transform::MetadataMode (line 451) ... ok
[INFO] [stdout] test src/transform.rs - transform::Color::from_css (line 585) ... ok
[INFO] [stdout] test src/transform.rs - transform::Gravity (line 213) ... ok
[INFO] [stdout] test src/transform.rs - transform::FitMode::from_str_loose (line 161) ... ok
[INFO] [stdout] test src/transform.rs - transform::OutputFormat::from_str_loose (line 399) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams::cache_key (line 988) ... ok
[INFO] [stdout] test src/transform.rs - transform::OutputFormat (line 320) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams::effective_width (line 815) ... ok
[INFO] [stdout] test src/transform.rs - transform::MetadataMode::from_str_loose (line 475) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams (line 722) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams::validate (line 900) ... ok
[INFO] [stdout] test src/transform.rs - transform::OutputFormat::mime_type (line 357) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams::effective_height (line 832) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::Padding (line 62) ... ok
[INFO] [stdout] test src/transform.rs - transform::TransformParams::is_progressive_output (line 859) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::Border (line 17) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::OutputOptions (line 275) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::Trim (line 98) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::Compression (line 219) ... ok
[INFO] [stdout] test src/transform_types.rs - transform_types::Rotation (line 134) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 47 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.75s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a1c3aa43f584618ea2036feca6d000cc97aa46f3d31bad8cf2c1e47685b9aa8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a1c3aa43f584618ea2036feca6d000cc97aa46f3d31bad8cf2c1e47685b9aa8c", kill_on_drop: false }`
[INFO] [stdout] a1c3aa43f584618ea2036feca6d000cc97aa46f3d31bad8cf2c1e47685b9aa8c
