[INFO] fetching crate fetchkit 0.2.0...
[INFO] testing fetchkit-0.2.0 against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] extracting crate fetchkit 0.2.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate fetchkit 0.2.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate fetchkit 0.2.0
[INFO] tweaked toml for crates.io crate fetchkit 0.2.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fetchkit 0.2.0 on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate fetchkit 0.2.0 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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2ffb42be79787202888b590edacf912ad2ecafec3d63bccbdac04e8288eb13e6
[INFO] running `Command { std: "docker" "start" "-a" "2ffb42be79787202888b590edacf912ad2ecafec3d63bccbdac04e8288eb13e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2ffb42be79787202888b590edacf912ad2ecafec3d63bccbdac04e8288eb13e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ffb42be79787202888b590edacf912ad2ecafec3d63bccbdac04e8288eb13e6", kill_on_drop: false }`
[INFO] [stdout] 2ffb42be79787202888b590edacf912ad2ecafec3d63bccbdac04e8288eb13e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b5c3317f5fdbc1c979521d9ae9a9ae3e7dbe3c072b0125e3adc769a06d9db3e6
[INFO] running `Command { std: "docker" "start" "-a" "b5c3317f5fdbc1c979521d9ae9a9ae3e7dbe3c072b0125e3adc769a06d9db3e6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling alloc-no-stdlib v2.0.4
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling compression-core v0.4.31
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling alloc-stdlib v0.2.2
[INFO] [stderr]    Compiling brotli-decompressor v5.0.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling brotli v8.0.2
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling cc v1.2.58
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling aws-lc-sys v0.39.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling compression-codecs v0.4.37
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling async-compression v0.4.41
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling fetchkit v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 27s
[INFO] running `Command { std: "docker" "inspect" "b5c3317f5fdbc1c979521d9ae9a9ae3e7dbe3c072b0125e3adc769a06d9db3e6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5c3317f5fdbc1c979521d9ae9a9ae3e7dbe3c072b0125e3adc769a06d9db3e6", kill_on_drop: false }`
[INFO] [stdout] b5c3317f5fdbc1c979521d9ae9a9ae3e7dbe3c072b0125e3adc769a06d9db3e6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb1cb1ae3b551076102de35c8737ecdbb29a21799e29a989355f6d79d050bb15
[INFO] running `Command { std: "docker" "start" "-a" "bb1cb1ae3b551076102de35c8737ecdbb29a21799e29a989355f6d79d050bb15", kill_on_drop: false }`
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling ed25519 v2.2.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling curve25519-dalek v4.1.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling ed25519-dalek v2.2.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling async-compression v0.4.41
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling fetchkit v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 12s
[INFO] running `Command { std: "docker" "inspect" "bb1cb1ae3b551076102de35c8737ecdbb29a21799e29a989355f6d79d050bb15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb1cb1ae3b551076102de35c8737ecdbb29a21799e29a989355f6d79d050bb15", kill_on_drop: false }`
[INFO] [stdout] bb1cb1ae3b551076102de35c8737ecdbb29a21799e29a989355f6d79d050bb15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] db748c7a94f554a7d06eb9ea11c001f5bf6d7c18cd202dbfa8b720351e34d0e0
[INFO] running `Command { std: "docker" "start" "-a" "db748c7a94f554a7d06eb9ea11c001f5bf6d7c18cd202dbfa8b720351e34d0e0", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fetchkit-e9ac5e707528e4ef)
[INFO] [stdout] 
[INFO] [stdout] running 253 tests
[INFO] [stdout] test client::tests::test_fetch_empty_url ... ok
[INFO] [stdout] test client::tests::test_batch_fetch_empty_input ... ok
[INFO] [stdout] test client::tests::test_fetch_invalid_scheme ... ok
[INFO] [stdout] test client::tests::test_fetch_options_default ... ok
[INFO] [stdout] test client::tests::test_validate_redirect_target_blocks_cross_host_when_enabled ... ok
[INFO] [stdout] test client::tests::test_validate_url_blocks_configured_host_and_port ... ok
[INFO] [stdout] test convert::tests::test_clean_whitespace ... ok
[INFO] [stdout] test convert::tests::test_entity_decoding ... ok
[INFO] [stdout] test convert::tests::test_clean_whitespace_preserves_indentation ... ok
[INFO] [stdout] test convert::tests::test_extract_attribute ... ok
[INFO] [stdout] test convert::tests::test_extract_headings ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_author ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_full_page ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_empty_html ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_canonical_url ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_emphasis ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_description ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_code ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_headers ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_images ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_image_no_alt ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_links ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_lists ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_nested_lists ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_ordered_list ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_paragraphs ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_skip_script ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_smart_quotes ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_table ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_table_no_header ... ok
[INFO] [stdout] test client::tests::test_batch_fetch_respects_concurrency_limit ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_language ... ok
[INFO] [stdout] test convert::tests::test_html_to_text_simple ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_links ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_og_title_overrides ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_og_description_overrides ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_title ... ok
[INFO] [stdout] test convert::tests::test_html_to_text_skip_script ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_definition_list ... ok
[INFO] [stdout] test convert::tests::test_is_html_by_body ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_expanded_entities ... ok
[INFO] [stdout] test convert::tests::test_is_html_by_content_type ... ok
[INFO] [stdout] test convert::tests::test_is_markdown_content_type ... ok
[INFO] [stdout] test convert::tests::test_is_plain_text_content_type ... ok
[INFO] [stdout] test convert::tests::test_page_metadata_is_empty ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_extracts_article ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_fallback_strips_nav_footer_aside ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_nested_nav ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_preserves_header_inside_main ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_no_semantic_html ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_main_takes_precedence_over_article ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_role_main ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_role_navigation ... ok
[INFO] [stdout] test convert::tests::test_html_to_markdown_link_no_text ... ok
[INFO] [stdout] test convert::tests::test_strip_boilerplate_extracts_main ... ok
[INFO] [stdout] test dns::tests::test_allow_all_permits_private ... ok
[INFO] [stdout] test dns::tests::test_benchmarking_blocked ... ok
[INFO] [stdout] test dns::tests::test_broadcast_blocked ... ok
[INFO] [stdout] test dns::tests::test_6to4_ipv6_blocked ... ok
[INFO] [stdout] test dns::tests::test_ipv6_link_local_blocked ... ok
[INFO] [stdout] test dns::tests::test_carrier_grade_nat_blocked ... ok
[INFO] [stdout] test dns::tests::test_ipv6_unique_local_blocked ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_dates ... ok
[INFO] [stdout] test dns::tests::test_default_blocks_private ... ok
[INFO] [stdout] test dns::tests::test_link_local_blocked ... ok
[INFO] [stdout] test dns::tests::test_loopback_blocked ... ok
[INFO] [stdout] test dns::tests::test_multicast_blocked ... ok
[INFO] [stdout] test dns::tests::test_private_10_blocked ... ok
[INFO] [stdout] test dns::tests::test_private_172_blocked ... ok
[INFO] [stdout] test dns::tests::test_private_192_168_blocked ... ok
[INFO] [stdout] test dns::tests::test_public_ipv4_allowed ... ok
[INFO] [stdout] test dns::tests::test_ipv4_compatible_ipv6_blocked ... ok
[INFO] [stdout] test dns::tests::test_ipv6_mapped_ipv4_blocked ... ok
[INFO] [stdout] test dns::tests::test_ipv6_multicast_blocked ... ok
[INFO] [stdout] test dns::tests::test_documentation_ranges_blocked ... ok
[INFO] [stdout] test dns::tests::test_public_ipv6_allowed ... ok
[INFO] [stdout] test dns::tests::test_ipv6_unspecified_blocked ... ok
[INFO] [stdout] test dns::tests::test_resolve_allow_all_permits_loopback ... ok
[INFO] [stdout] test dns::tests::test_resolve_loopback_blocked ... ok
[INFO] [stdout] test dns::tests::test_resolve_private_blocked ... ok
[INFO] [stdout] test dns::tests::test_unspecified_blocked ... ok
[INFO] [stdout] test error::tests::test_error_messages ... ok
[INFO] [stdout] test dns::tests::test_resolve_nonexistent_fails ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_extract_xml_tag ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_parse_abs_url ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_parse_arxiv_response ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_parse_old_format ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_extract_xml_attr ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_parse_pdf_url ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_parse_pdf_url_with_extension ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_time_element ... ok
[INFO] [stdout] test convert::tests::test_filter_excessive_newlines ... ok
[INFO] [stdout] test convert::tests::test_extract_metadata_skips_script_content ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_rejects_non_arxiv ... ok
[INFO] [stdout] test dns::tests::test_ipv6_loopback_blocked ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_rejects_non_paper_paths ... ok
[INFO] [stdout] test fetchers::default::tests::test_count_words ... ok
[INFO] [stdout] test fetchers::default::tests::test_default_fetcher_matches_all ... ok
[INFO] [stdout] test fetchers::default::tests::test_detect_paywall ... ok
[INFO] [stdout] test fetchers::default::tests::test_extract_filename_from_url ... ok
[INFO] [stdout] test fetchers::default::tests::test_parse_content_disposition_filename ... ok
[INFO] [stdout] test fetchers::default::tests::test_is_binary_content_type ... ok
[INFO] [stdout] test fetchers::arxiv::tests::test_fetcher_matches ... ok
[INFO] [stdout] test error::tests::test_tool_error_classification ... ok
[INFO] [stdout] test fetchers::default::tests::test_markdown_content_type_without_markdown_request_returns_raw ... ok
[INFO] [stdout] test fetchers::default::tests::test_conditional_fetch_if_modified_since ... ok
[INFO] [stdout] test fetchers::docs_site::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::docs_site::tests::test_is_docs_site ... ok
[INFO] [stdout] test fetchers::default::tests::test_plain_text_content_type_without_text_request_returns_raw ... ok
[INFO] [stdout] test fetchers::docs_site::tests::test_is_llms_txt_url ... ok
[INFO] [stdout] test fetchers::default::tests::test_no_redirect_chain_for_direct_response ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::default::tests::test_paywall_detection ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_base64_decode ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_parse_blob_url ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_format_file_response ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_detect_language ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_parse_blob_url_nested_path ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_rejects_reserved_owner ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_rejects_non_github ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_rejects_non_blob ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_format_issue_response ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_parse_issue_url ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_format_pr_response ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_github ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_parse_pull_url ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_rejects_reserved_owner ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_rejects_wrong_segment_count ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_base64_decode ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_numeric_number ... ok
[INFO] [stdout] test fetchers::github_code::tests::test_rejects_too_few_segments ... ok
[INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_issue_paths ... ok
[INFO] [stdout] test fetchers::default::tests::test_etag_returned_in_response ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_valid ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_too_many_segments ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_too_few_segments ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_format_github_repo_response ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_format_hn_response ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_parse_hn_url ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_rejects_non_hn ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_rejects_no_id ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_reserved_paths ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_with_trailing_slash ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_rejects_non_item_path ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_parse_crates_io_url ... ok
[INFO] [stdout] test fetchers::hackernews::tests::test_strip_html_tags ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_parse_npm_url ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_parse_pypi_url ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_parse_npm_scoped_url ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_rejects_non_package_paths ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_decode_entities ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_parse_pypi_url_with_version ... ok
[INFO] [stdout] test fetchers::package_registry::tests::test_rejects_non_registry ... ok
[INFO] [stdout] test fetchers::default::tests::test_skip_conversion_for_plain_text_content_type ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_parse_rss ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_is_feed_url ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_parse_atom ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_format_qa_response ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackexchange_url ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_other_se_sites ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_numeric_id ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackoverflow_url ... ok
[INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_wrong_host ... ok
[INFO] [stdout] test fetchers::tests::test_policy_prefix_matches_same_origin_and_path_boundary ... ok
[INFO] [stdout] test fetchers::tests::test_policy_prefix_normalizes_case_default_port_and_trailing_dot ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_question_paths ... ok
[INFO] [stdout] test fetchers::tests::test_policy_prefix_rejects_lookalike_hosts ... ok
[INFO] [stdout] test fetchers::tests::test_url_prefix_case_normalization ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_se_sites ... ok
[INFO] [stdout] test fetchers::tests::test_empty_registry ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_expand_text_urls ... ok
[INFO] [stdout] test fetchers::tests::test_url_prefix_port_handling ... ok
[INFO] [stdout] test fetchers::tests::test_registry_with_defaults ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_fetch_syndication_with_mock ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_expand_text_urls_no_entities ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_date ... ok
[INFO] [stdout] test fetchers::tests::test_url_prefix_scheme_mismatch ... ok
[INFO] [stdout] test fetchers::rss_feed::tests::test_strip_html ... ok
[INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackoverflow_url_no_slug ... ok
[INFO] [stdout] test fetchers::default::tests::test_redirect_target_rejects_non_http_location ... ok
[INFO] [stdout] test fetchers::default::tests::test_conditional_fetch_304_not_modified ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_minimal_fields ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_with_quoted_tweet ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_metrics ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_rejects_non_tweet_paths ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_rejects_reserved_paths ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_twitter_com ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_x_com ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_regular_tweet ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_strip_html_tags ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_rejects_non_numeric_id ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_format_wikipedia_response ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_parse_other_language ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_rejects_non_wikipedia ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_parse_wikipedia_url ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_fetcher_matches ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_parse_youtube_no_www ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_parse_youtube_watch ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_oembed_minimal_fields ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_rejects_wrong_host ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_rejects_non_watch ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_rejects_non_youtube ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_with_media ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_rejects_no_v_param ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_no_base_requires_absolute ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_reject_traversal ... ok
[INFO] [stdout] test fetchers::wikipedia::tests::test_rejects_non_wiki_path ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_resolve_subdirectory ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_resolve_relative ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_no_base_accepts_absolute ... ok
[INFO] [stdout] test file_saver::tests::test_normalize_path ... ok
[INFO] [stdout] test tool::tests::test_build_service_propagates_validation_errors ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_creates_parent_dirs ... ok
[INFO] [stdout] test tool::tests::test_execution_rejects_unknown_parameter ... ok
[INFO] [stdout] test tool::tests::test_tool_builder ... ok
[INFO] [stdout] test tool::tests::test_tool_builder_hardened_profile ... ok
[INFO] [stdout] test tool::tests::test_tool_builder_opt_out_private_ip_blocking ... ok
[INFO] [stdout] test tool::tests::test_tool_builder_security_defaults ... ok
[INFO] [stdout] test tool::tests::test_tool_definition_uses_contract_metadata ... ok
[INFO] [stdout] test tool::tests::test_tool_llmtxt_matches_help ... ok
[INFO] [stdout] test tool::tests::test_tool_metadata ... ok
[INFO] [stdout] test tool::tests::test_tool_schema_feature_gating ... ok
[INFO] [stdout] test tool::tests::test_tool_schemas ... ok
[INFO] [stdout] test tool::tests::test_tool_status ... ok
[INFO] [stdout] test types::tests::test_http_method_display ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_oembed_response ... ok
[INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_article_tweet ... ok
[INFO] [stdout] test types::tests::test_request_builder ... ok
[INFO] [stdout] test types::tests::test_request_effective_method ... ok
[INFO] [stdout] test types::tests::test_request_serialization ... ok
[INFO] [stdout] test tool::tests::test_execution_rejects_invalid_url_before_running ... ok
[INFO] [stdout] test fetchers::default::tests::test_no_paywall_for_normal_content ... ok
[INFO] [stdout] test types::tests::test_response_serialization ... ok
[INFO] [stdout] test fetchers::youtube::tests::test_parse_youtu_be ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_reject_traversal_absolute ... ok
[INFO] [stdout] test fetchers::default::tests::test_skip_conversion_for_markdown_content_type ... ok
[INFO] [stdout] test types::tests::test_http_method_from_str ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_validate_path ... ok
[INFO] [stdout] test file_saver::tests::test_local_file_saver_save_and_read ... ok
[INFO] [stdout] test client::tests::test_batch_fetch_partial_failure ... ok
[INFO] [stdout] test fetchers::default::tests::test_redirect_target_handles_relative_location ... ok
[INFO] [stdout] test client::tests::test_batch_fetch_multiple_urls ... ok
[INFO] [stdout] test fetchers::default::tests::test_word_count_in_response ... ok
[INFO] [stdout] test fetchers::default::tests::test_manual_redirect_following ... ok
[INFO] [stdout] test fetchers::default::tests::test_redirect_chain_tracked ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 253 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fetcher_live.rs (/opt/rustwide/target/debug/deps/fetcher_live-67cac53b113bff2f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/file_saver_safety.rs (/opt/rustwide/target/debug/deps/file_saver_safety-e4937d2b06ef6767)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test test_description_reflects_save_enabled ... ok
[INFO] [stdout] test test_no_base_dir_requires_absolute ... ok
[INFO] [stdout] test test_path_traversal_absolute_escape ... ok
[INFO] [stdout] test test_path_traversal_dotdot ... ok
[INFO] [stdout] test test_local_file_saver_validate_then_save ... ok
[INFO] [stdout] test test_save_disabled_by_default ... ok
[INFO] [stdout] test test_save_no_saver_errors ... ok
[INFO] [stdout] test test_save_respects_allow_list ... ok
[INFO] [stdout] test test_save_respects_block_list ... ok
[INFO] [stdout] test test_save_schema_gating_enabled_visible ... ok
[INFO] [stdout] test test_save_schema_gating_default_hidden ... ok
[INFO] [stdout] test test_local_file_saver_empty_filename ... ok
[INFO] [stdout] test test_local_file_saver_large_write ... ok
[INFO] [stdout] test test_save_overwrites_existing_file ... ok
[INFO] [stdout] test test_save_empty_body ... ok
[INFO] [stdout] test test_save_deeply_nested_path ... ok
[INFO] [stdout] test test_save_filename_with_spaces ... ok
[INFO] [stdout] test test_save_http_404 ... ok
[INFO] [stdout] test test_save_filename_unicode ... ok
[INFO] [stdout] test test_save_http_500 ... ok
[INFO] [stdout] test test_save_head_request_no_body ... ok
[INFO] [stdout] test test_save_connect_timeout_does_not_hang ... ok
[INFO] [stdout] test test_save_via_default_fetch_to_file_trait_method ... ok
[INFO] [stdout] test test_path_traversal_null_bytes ... ok
[INFO] [stdout] test test_save_various_binary_types ... ok
[INFO] [stdout] test test_concurrent_saves_dont_corrupt ... ok
[INFO] [stdout] test test_save_binary_with_slow_response_truncated ... ok
[INFO] [stdout] test test_save_slow_server_does_not_hang ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.60s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-a32ae53a4fced1f4)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test test_4xx_status ... ok
[INFO] [stdout] test test_fetcher_registry_allow_block_lists ... ok
[INFO] [stdout] test test_fetcher_registry_url_validation ... ok
[INFO] [stdout] test test_fetcher_registry_allow_list_rejects_lookalike_host ... ok
[INFO] [stdout] test test_fetch_blocks_loopback_by_default ... ok
[INFO] [stdout] test test_html_detection_by_body ... ok
[INFO] [stdout] test test_invalid_url_scheme ... ok
[INFO] [stdout] test test_filename_from_url ... ok
[INFO] [stdout] test test_binary_content ... ok
[INFO] [stdout] test test_missing_url ... ok
[INFO] [stdout] test test_execute_with_saver_no_save_falls_through ... ok
[INFO] [stdout] test test_save_to_file_disabled_by_default ... ok
[INFO] [stdout] test test_save_to_file_rejects_path_traversal ... ok
[INFO] [stdout] test test_save_to_file_schema_gating ... ok
[INFO] [stdout] test test_fetcher_registry_with_defaults ... ok
[INFO] [stdout] test test_save_to_file_without_saver_errors ... ok
[INFO] [stdout] test test_5xx_status ... ok
[INFO] [stdout] test test_head_request ... ok
[INFO] [stdout] test test_content_disposition_filename ... ok
[INFO] [stdout] test test_excessive_newlines_filtered ... ok
[INFO] [stdout] test test_tool_default_blocks_loopback ... ok
[INFO] [stdout] test test_fetch_with_options_respects_disabled_conversion ... ok
[INFO] [stdout] test test_url_prefix_allow_list ... ok
[INFO] [stdout] test test_url_prefix_block_list ... ok
[INFO] [stdout] test test_fetch_enables_conversions_by_default ... ok
[INFO] [stdout] test test_github_fetcher_url_matching ... ok
[INFO] [stdout] test test_entity_decoding_in_html ... ok
[INFO] [stdout] test test_html_to_markdown ... ok
[INFO] [stdout] test test_html_to_text ... ok
[INFO] [stdout] test test_custom_user_agent ... ok
[INFO] [stdout] test test_simple_get ... ok
[INFO] [stdout] test test_save_to_file_text_content ... ok
[INFO] [stdout] test test_save_to_file_creates_subdirectories ... ok
[INFO] [stdout] test test_text_body_truncated_at_safety_limit ... ok
[INFO] [stdout] test test_non_html_with_conversion_flags ... ok
[INFO] [stdout] test test_save_to_file_binary_content ... ok
[INFO] [stdout] test test_size_for_text_content ... ok
[INFO] [stdout] test test_tool_execution_returns_contract_output ... ok
[INFO] [stdout] test test_tool_service_executes_json_calls ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.22s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proxy_env.rs (/opt/rustwide/target/debug/deps/proxy_env-555dcf89d51bfd87)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_proxy_env_is_ignored_by_default_but_can_be_enabled ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ssrf_security.rs (/opt/rustwide/target/debug/deps/ssrf_security-58fbd16051ea52ff)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test test_default_blocks_loopback_mock_server ... ok
[INFO] [stdout] test test_input_001_file_scheme_blocked ... ok
[INFO] [stdout] test test_input_001_gopher_scheme_blocked ... ok
[INFO] [stdout] test test_input_001_ftp_scheme_blocked ... ok
[INFO] [stdout] test test_hardened_profile_blocks_internal_hostname_suffixes ... ok
[INFO] [stdout] test test_hardened_profile_blocks_non_standard_ports ... ok
[INFO] [stdout] test test_leak_001_timeout_and_connect_display_are_generic ... ok
[INFO] [stdout] test test_input_001_data_scheme_blocked ... ok
[INFO] [stdout] test test_ssrf_001_private_10_blocked ... ok
[INFO] [stdout] test test_ssrf_001_loopback_ipv4_alt_blocked ... ok
[INFO] [stdout] test test_prefix_block_and_dns_policy_combined ... ok
[INFO] [stdout] test test_leak_001_request_error_variants_are_generic ... ok
[INFO] [stdout] test test_ssrf_003_cloud_metadata_blocked ... ok
[INFO] [stdout] test test_ssrf_001_private_172_blocked ... ok
[INFO] [stdout] test test_ssrf_004_zero_ip_blocked ... ok
[INFO] [stdout] test test_ssrf_006_ipv6_loopback_blocked ... ok
[INFO] [stdout] test test_ssrf_001_loopback_ipv4_blocked ... ok
[INFO] [stdout] test test_ssrf_001_private_192_168_blocked ... ok
[INFO] [stdout] test test_ssrf_003_link_local_blocked ... ok
[INFO] [stdout] test test_ssrf_010_redirect_to_loopback_blocked ... ok
[INFO] [stdout] test test_ssrf_002_localhost_blocked ... ok
[INFO] [stdout] test test_ssrf_010_redirect_to_private_ip_blocked ... ok
[INFO] [stdout] test test_conv_001_script_stripped_in_text ... ok
[INFO] [stdout] test test_dos_001_body_within_limit_not_truncated ... ok
[INFO] [stdout] test test_ssrf_010_same_host_redirect_policy_blocks_cross_host_redirect ... ok
[INFO] [stdout] test test_explicit_opt_out_allows_loopback ... ok
[INFO] [stdout] test test_conv_001_script_stripped_in_markdown ... ok
[INFO] [stdout] test test_input_007_subdomain_not_matched_by_host_prefix ... ok
[INFO] [stdout] test test_ssrf_010_redirect_scheme_validation ... ok
[INFO] [stdout] test test_dos_001_body_size_limit ... ok
[INFO] [stdout] test test_ssrf_010_redirect_followed_when_safe ... ok
[INFO] [stdout] test test_net_004_env_proxy_ignored_by_default ... ok
[INFO] [stdout] test test_net_004_env_proxy_can_be_opted_in ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.92s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests fetchkit
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test src/lib.rs - (line 8) - compile ... ok
[INFO] [stdout] test src/client.rs - client::fetch (line 124) - compile ... ok
[INFO] [stdout] test src/client.rs - client::batch_fetch (line 171) - compile ... ok
[INFO] [stdout] test src/lib.rs - (line 23) - compile ... ok
[INFO] [stdout] test src/fetchers/mod.rs - fetchers::FetcherRegistry (line 103) ... ok
[INFO] [stdout] test src/types.rs - types::HttpMethod (line 11) ... ok
[INFO] [stdout] test src/tool.rs - tool::ToolBuilder (line 105) ... ok
[INFO] [stdout] test src/convert.rs - convert::extract_metadata (line 605) ... ok
[INFO] [stdout] test src/error.rs - error::FetchError (line 9) ... ok
[INFO] [stdout] test src/convert.rs - convert::html_to_text (line 346) ... ok
[INFO] [stdout] test src/dns.rs - dns::DnsPolicy (line 19) ... ok
[INFO] [stdout] test src/lib.rs - (line 43) ... ok
[INFO] [stdout] test src/convert.rs - convert::html_to_markdown (line 47) ... ok
[INFO] [stdout] test src/convert.rs - convert::strip_boilerplate (line 890) ... ok
[INFO] [stdout] test src/types.rs - types::PageLink (line 188) ... ok
[INFO] [stdout] test src/file_saver.rs - file_saver::LocalFileSaver (line 69) ... ok
[INFO] [stdout] test src/types.rs - types::FetchRequest (line 55) ... ok
[INFO] [stdout] test src/types.rs - types::FetchResponse (line 269) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.51s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "db748c7a94f554a7d06eb9ea11c001f5bf6d7c18cd202dbfa8b720351e34d0e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db748c7a94f554a7d06eb9ea11c001f5bf6d7c18cd202dbfa8b720351e34d0e0", kill_on_drop: false }`
[INFO] [stdout] db748c7a94f554a7d06eb9ea11c001f5bf6d7c18cd202dbfa8b720351e34d0e0
