[INFO] fetching crate fetchkit 0.2.0... [INFO] testing fetchkit-0.2.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-1 [INFO] extracting crate fetchkit 0.2.0 into /workspace/builds/worker-5-tc1/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-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fetchkit 0.2.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-test v0.4.5 [INFO] [stderr] Downloaded deadpool-runtime v0.1.4 [INFO] [stderr] Downloaded curve25519-dalek-derive v0.1.1 [INFO] [stderr] Downloaded schemars_derive v1.2.1 [INFO] [stderr] Downloaded serde_derive_internals v0.29.1 [INFO] [stderr] Downloaded wasm-streams v0.5.0 [INFO] [stderr] Downloaded ed25519 v2.2.3 [INFO] [stderr] Downloaded deadpool v0.12.3 [INFO] [stderr] Downloaded wiremock v0.6.5 [INFO] [stderr] Downloaded ed25519-dalek v2.2.0 [INFO] [stderr] Downloaded rustls-webpki v0.103.10 [INFO] [stderr] Downloaded zerocopy-derive v0.8.47 [INFO] [stderr] Downloaded cc v1.2.58 [INFO] [stderr] Downloaded tracing-subscriber v0.3.23 [INFO] [stderr] Downloaded iri-string v0.7.11 [INFO] [stderr] Downloaded quinn-proto v0.11.14 [INFO] [stderr] Downloaded aws-lc-rs v1.16.2 [INFO] [stderr] Downloaded zerocopy v0.8.47 [INFO] [stderr] Downloaded curve25519-dalek v4.1.3 [INFO] [stderr] Downloaded fiat-crypto v0.2.9 [INFO] [stderr] Downloaded aws-lc-sys v0.39.1 [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" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 225cbfc10b4152e0a2660fa173526f2edd55b0492e0501c5a4d4e0e0931e0617 [INFO] running `Command { std: "docker" "start" "-a" "225cbfc10b4152e0a2660fa173526f2edd55b0492e0501c5a4d4e0e0931e0617", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "225cbfc10b4152e0a2660fa173526f2edd55b0492e0501c5a4d4e0e0931e0617", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "225cbfc10b4152e0a2660fa173526f2edd55b0492e0501c5a4d4e0e0931e0617", kill_on_drop: false }` [INFO] [stdout] 225cbfc10b4152e0a2660fa173526f2edd55b0492e0501c5a4d4e0e0931e0617 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3f1314392d735c3f32061a06fe25e56b04c5100e8ca79b7a58229733a5e3dd83 [INFO] running `Command { std: "docker" "start" "-a" "3f1314392d735c3f32061a06fe25e56b04c5100e8ca79b7a58229733a5e3dd83", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling fs_extra v1.3.0 [INFO] [stderr] Compiling dunce v1.0.5 [INFO] [stderr] Compiling aws-lc-rs v1.16.2 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling compression-core v0.4.31 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling rustls-native-certs v0.8.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling iri-string v0.7.11 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling compression-codecs v0.4.37 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling cc v1.2.58 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling aws-lc-sys v0.39.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling 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 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 48.61s [INFO] running `Command { std: "docker" "inspect" "3f1314392d735c3f32061a06fe25e56b04c5100e8ca79b7a58229733a5e3dd83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f1314392d735c3f32061a06fe25e56b04c5100e8ca79b7a58229733a5e3dd83", kill_on_drop: false }` [INFO] [stdout] 3f1314392d735c3f32061a06fe25e56b04c5100e8ca79b7a58229733a5e3dd83 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 838d33f50a6118102b328522fafb26ab44396b4ddfd3eb6fec630e8426cf9bcf [INFO] running `Command { std: "docker" "start" "-a" "838d33f50a6118102b328522fafb26ab44396b4ddfd3eb6fec630e8426cf9bcf", kill_on_drop: false }` [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling zerocopy v0.8.47 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling rustls-platform-verifier v0.6.2 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling async-compression v0.4.41 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [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 53.94s [INFO] running `Command { std: "docker" "inspect" "838d33f50a6118102b328522fafb26ab44396b4ddfd3eb6fec630e8426cf9bcf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "838d33f50a6118102b328522fafb26ab44396b4ddfd3eb6fec630e8426cf9bcf", kill_on_drop: false }` [INFO] [stdout] 838d33f50a6118102b328522fafb26ab44396b4ddfd3eb6fec630e8426cf9bcf [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5d2bacc2ffd89124ea7094799c65407792debec7c76a5d5645a50a108f6589e0 [INFO] running `Command { std: "docker" "start" "-a" "5d2bacc2ffd89124ea7094799c65407792debec7c76a5d5645a50a108f6589e0", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fetchkit-dc7ac4bbfe7ab016) [INFO] [stdout] [INFO] [stdout] running 253 tests [INFO] [stdout] test client::tests::test_batch_fetch_respects_concurrency_limit ... ok [INFO] [stdout] test client::tests::test_batch_fetch_empty_input ... ok [INFO] [stdout] test client::tests::test_fetch_options_default ... ok [INFO] [stdout] test client::tests::test_fetch_empty_url ... ok [INFO] [stdout] test client::tests::test_validate_redirect_target_blocks_cross_host_when_enabled ... ok [INFO] [stdout] test client::tests::test_fetch_invalid_scheme ... ok [INFO] [stdout] test convert::tests::test_clean_whitespace ... ok [INFO] [stdout] test convert::tests::test_clean_whitespace_preserves_indentation ... ok [INFO] [stdout] test client::tests::test_validate_url_blocks_configured_host_and_port ... ok [INFO] [stdout] test convert::tests::test_entity_decoding ... ok [INFO] [stdout] test convert::tests::test_extract_attribute ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_canonical_url ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_dates ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_og_description_overrides ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_og_title_overrides ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_skips_script_content ... ok [INFO] [stdout] test convert::tests::test_filter_excessive_newlines ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_time_element ... 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_extract_metadata_empty_html ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_links ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_author ... ok [INFO] [stdout] test convert::tests::test_extract_headings ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_expanded_entities ... 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_link_no_text ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_skip_script ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_image_no_alt ... 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_links ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_smart_quotes ... ok [INFO] [stdout] test convert::tests::test_extract_metadata_language ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_nested_lists ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_definition_list ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_emphasis ... ok [INFO] [stdout] test convert::tests::test_html_to_text_skip_script ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_table ... ok [INFO] [stdout] test convert::tests::test_is_html_by_body ... 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_extract_metadata_full_page ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_extracts_main ... ok [INFO] [stdout] test convert::tests::test_is_html_by_content_type ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_lists ... ok [INFO] [stdout] test convert::tests::test_html_to_text_simple ... ok [INFO] [stdout] test convert::tests::test_html_to_markdown_table_no_header ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_main_takes_precedence_over_article ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_fallback_strips_nav_footer_aside ... ok [INFO] [stdout] test dns::tests::test_broadcast_blocked ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_nested_nav ... ok [INFO] [stdout] test dns::tests::test_carrier_grade_nat_blocked ... ok [INFO] [stdout] test dns::tests::test_default_blocks_private ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_no_semantic_html ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_preserves_header_inside_main ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_role_main ... ok [INFO] [stdout] test dns::tests::test_6to4_ipv6_blocked ... 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_ipv4_compatible_ipv6_blocked ... ok [INFO] [stdout] test dns::tests::test_ipv6_link_local_blocked ... ok [INFO] [stdout] test convert::tests::test_strip_boilerplate_role_navigation ... ok [INFO] [stdout] test dns::tests::test_ipv6_loopback_blocked ... ok [INFO] [stdout] test dns::tests::test_ipv6_mapped_ipv4_blocked ... ok [INFO] [stdout] test dns::tests::test_ipv6_unique_local_blocked ... ok [INFO] [stdout] test dns::tests::test_ipv6_multicast_blocked ... ok [INFO] [stdout] test dns::tests::test_ipv6_unspecified_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_192_168_blocked ... ok [INFO] [stdout] test dns::tests::test_public_ipv6_allowed ... ok [INFO] [stdout] test dns::tests::test_public_ipv4_allowed ... ok [INFO] [stdout] test dns::tests::test_link_local_blocked ... ok [INFO] [stdout] test dns::tests::test_private_172_blocked ... ok [INFO] [stdout] test dns::tests::test_resolve_loopback_blocked ... ok [INFO] [stdout] test dns::tests::test_resolve_allow_all_permits_loopback ... ok [INFO] [stdout] test dns::tests::test_resolve_private_blocked ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_parse_abs_url ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_extract_xml_attr ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_parse_old_format ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_extract_xml_tag ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_parse_arxiv_response ... ok [INFO] [stdout] test fetchers::arxiv::tests::test_fetcher_matches ... 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 fetchers::arxiv::tests::test_rejects_non_arxiv ... 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 dns::tests::test_documentation_ranges_blocked ... ok [INFO] [stdout] test fetchers::default::tests::test_detect_paywall ... ok [INFO] [stdout] test dns::tests::test_resolve_nonexistent_fails ... 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 convert::tests::test_extract_metadata_title ... ok [INFO] [stdout] test error::tests::test_error_messages ... ok [INFO] [stdout] test error::tests::test_tool_error_classification ... ok [INFO] [stdout] test dns::tests::test_unspecified_blocked ... ok [INFO] [stdout] test fetchers::default::tests::test_plain_text_content_type_without_text_request_returns_raw ... ok [INFO] [stdout] test fetchers::default::tests::test_etag_returned_in_response ... ok [INFO] [stdout] test fetchers::default::tests::test_conditional_fetch_304_not_modified ... 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::docs_site::tests::test_is_llms_txt_url ... ok [INFO] [stdout] test fetchers::github_code::tests::test_base64_decode ... ok [INFO] [stdout] test fetchers::github_code::tests::test_detect_language ... ok [INFO] [stdout] test fetchers::github_code::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::github_code::tests::test_format_file_response ... ok [INFO] [stdout] test fetchers::github_code::tests::test_parse_blob_url ... ok [INFO] [stdout] test fetchers::github_code::tests::test_parse_blob_url_nested_path ... ok [INFO] [stdout] test fetchers::github_code::tests::test_rejects_non_blob ... ok [INFO] [stdout] test fetchers::github_code::tests::test_rejects_non_github ... ok [INFO] [stdout] test fetchers::github_code::tests::test_rejects_too_few_segments ... 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_format_pr_response ... ok [INFO] [stdout] test fetchers::github_issue::tests::test_parse_issue_url ... ok [INFO] [stdout] test fetchers::github_issue::tests::test_parse_pull_url ... ok [INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_github ... ok [INFO] [stdout] test fetchers::default::tests::test_markdown_content_type_without_markdown_request_returns_raw ... ok [INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_numeric_number ... 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_repo::tests::test_format_github_repo_response ... 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_too_few_segments ... 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_valid ... ok [INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_with_trailing_slash ... ok [INFO] [stdout] test fetchers::github_repo::tests::test_parse_github_url_wrong_host ... 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_no_id ... ok [INFO] [stdout] test fetchers::hackernews::tests::test_rejects_non_hn ... ok [INFO] [stdout] test fetchers::hackernews::tests::test_rejects_non_item_path ... ok [INFO] [stdout] test fetchers::hackernews::tests::test_strip_html_tags ... ok [INFO] [stdout] test fetchers::package_registry::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::package_registry::tests::test_parse_crates_io_url ... ok [INFO] [stdout] test fetchers::package_registry::tests::test_parse_npm_scoped_url ... 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_pypi_url_with_version ... ok [INFO] [stdout] test fetchers::package_registry::tests::test_rejects_non_package_paths ... ok [INFO] [stdout] test fetchers::package_registry::tests::test_rejects_non_registry ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_decode_entities ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_is_feed_url ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_parse_atom ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_parse_rss ... ok [INFO] [stdout] test fetchers::rss_feed::tests::test_strip_html ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_format_qa_response ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_other_se_sites ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackexchange_url ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackoverflow_url ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_parse_stackoverflow_url_no_slug ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_numeric_id ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_question_paths ... ok [INFO] [stdout] test fetchers::stackoverflow::tests::test_rejects_non_se_sites ... ok [INFO] [stdout] test fetchers::default::tests::test_redirect_target_handles_relative_location ... 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::tests::test_policy_prefix_rejects_lookalike_hosts ... ok [INFO] [stdout] test fetchers::tests::test_registry_with_defaults ... ok [INFO] [stdout] test fetchers::tests::test_url_prefix_case_normalization ... ok [INFO] [stdout] test fetchers::tests::test_url_prefix_port_handling ... ok [INFO] [stdout] test fetchers::tests::test_url_prefix_scheme_mismatch ... ok [INFO] [stdout] test fetchers::twitter::tests::test_expand_text_urls ... ok [INFO] [stdout] test fetchers::twitter::tests::test_expand_text_urls_no_entities ... ok [INFO] [stdout] test fetchers::twitter::tests::test_fetch_syndication_with_mock ... ok [INFO] [stdout] test fetchers::twitter::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_date ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_metrics ... ok [INFO] [stdout] test fetchers::default::tests::test_conditional_fetch_if_modified_since ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_oembed_response ... ok [INFO] [stdout] test fetchers::tests::test_empty_registry ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_article_tweet ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_minimal_fields ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_regular_tweet ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_with_media ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_syndication_with_quoted_tweet ... ok [INFO] [stdout] test fetchers::twitter::tests::test_parse_tweet_url_rejects_non_numeric_id ... 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_rejects_wrong_host ... 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_strip_html_tags ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_format_wikipedia_response ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_parse_other_language ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_parse_wikipedia_url ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_rejects_non_wiki_path ... ok [INFO] [stdout] test fetchers::wikipedia::tests::test_rejects_non_wikipedia ... ok [INFO] [stdout] test fetchers::youtube::tests::test_fetcher_matches ... ok [INFO] [stdout] test fetchers::youtube::tests::test_parse_youtu_be ... 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::youtube::tests::test_rejects_no_v_param ... 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 file_saver::tests::test_local_file_saver_no_base_accepts_absolute ... 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 file_saver::tests::test_local_file_saver_reject_traversal_absolute ... ok [INFO] [stdout] test file_saver::tests::test_local_file_saver_resolve_relative ... ok [INFO] [stdout] test fetchers::default::tests::test_no_redirect_chain_for_direct_response ... ok [INFO] [stdout] test fetchers::github_issue::tests::test_rejects_non_issue_paths ... ok [INFO] [stdout] test file_saver::tests::test_local_file_saver_creates_parent_dirs ... ok [INFO] [stdout] test file_saver::tests::test_local_file_saver_validate_path ... ok [INFO] [stdout] test fetchers::github_code::tests::test_rejects_reserved_owner ... 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_save_and_read ... ok [INFO] [stdout] test tool::tests::test_execution_rejects_invalid_url_before_running ... 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 fetchers::default::tests::test_no_paywall_for_normal_content ... 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_execution_rejects_unknown_parameter ... ok [INFO] [stdout] test tool::tests::test_tool_builder ... ok [INFO] [stdout] test types::tests::test_http_method_display ... 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 types::tests::test_response_serialization ... ok [INFO] [stdout] test fetchers::twitter::tests::test_format_oembed_minimal_fields ... ok [INFO] [stdout] test tool::tests::test_tool_schemas ... ok [INFO] [stdout] test tool::tests::test_tool_status ... ok [INFO] [stdout] test fetchers::default::tests::test_redirect_target_rejects_non_http_location ... ok [INFO] [stdout] test tool::tests::test_tool_builder_hardened_profile ... ok [INFO] [stdout] test types::tests::test_http_method_from_str ... ok [INFO] [stdout] test file_saver::tests::test_local_file_saver_resolve_subdirectory ... ok [INFO] [stdout] test fetchers::default::tests::test_skip_conversion_for_markdown_content_type ... ok [INFO] [stdout] test fetchers::default::tests::test_redirect_chain_tracked ... ok [INFO] [stdout] test fetchers::default::tests::test_paywall_detection ... ok [INFO] [stdout] test fetchers::default::tests::test_manual_redirect_following ... ok [INFO] [stdout] test client::tests::test_batch_fetch_partial_failure ... 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_skip_conversion_for_plain_text_content_type ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 253 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s [INFO] [stdout] [INFO] [stderr] Running tests/fetcher_live.rs (/opt/rustwide/target/debug/deps/fetcher_live-cb3faf59b48e5700) [INFO] [stderr] Running tests/file_saver_safety.rs (/opt/rustwide/target/debug/deps/file_saver_safety-97e15991d9977448) [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] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test test_description_reflects_save_enabled ... ok [INFO] [stdout] test test_path_traversal_absolute_escape ... ok [INFO] [stdout] test test_local_file_saver_empty_filename ... ok [INFO] [stdout] test test_no_base_dir_requires_absolute ... 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_local_file_saver_large_write ... ok [INFO] [stdout] test test_save_respects_allow_list ... ok [INFO] [stdout] test test_save_respects_block_list ... ok [INFO] [stdout] test test_save_no_saver_errors ... ok [INFO] [stdout] test test_save_schema_gating_default_hidden ... ok [INFO] [stdout] test test_save_schema_gating_enabled_visible ... ok [INFO] [stdout] test test_path_traversal_null_bytes ... ok [INFO] [stdout] test test_save_deeply_nested_path ... ok [INFO] [stdout] test test_save_filename_unicode ... ok [INFO] [stdout] test test_save_http_404 ... ok [INFO] [stdout] test test_save_filename_with_spaces ... ok [INFO] [stdout] test test_save_head_request_no_body ... ok [INFO] [stdout] test test_save_http_500 ... ok [INFO] [stdout] test test_save_empty_body ... ok [INFO] [stdout] test test_save_overwrites_existing_file ... 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_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.49s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-f45ddc6daaa15bd4) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test test_fetcher_registry_url_validation ... ok [INFO] [stdout] test test_fetcher_registry_allow_block_lists ... ok [INFO] [stdout] test test_fetch_blocks_loopback_by_default ... ok [INFO] [stdout] test test_fetcher_registry_allow_list_rejects_lookalike_host ... ok [INFO] [stdout] test test_fetch_enables_conversions_by_default ... ok [INFO] [stdout] test test_custom_user_agent ... ok [INFO] [stdout] test test_invalid_url_scheme ... ok [INFO] [stdout] test test_binary_content ... ok [INFO] [stdout] test test_missing_url ... ok [INFO] [stdout] test test_fetcher_registry_with_defaults ... ok [INFO] [stdout] test test_content_disposition_filename ... 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_head_request ... ok [INFO] [stdout] test test_4xx_status ... ok [INFO] [stdout] test test_save_to_file_without_saver_errors ... ok [INFO] [stdout] test test_html_detection_by_body ... ok [INFO] [stdout] test test_filename_from_url ... ok [INFO] [stdout] test test_tool_default_blocks_loopback ... ok [INFO] [stdout] test test_non_html_with_conversion_flags ... ok [INFO] [stdout] test test_excessive_newlines_filtered ... ok [INFO] [stdout] test test_fetch_with_options_respects_disabled_conversion ... ok [INFO] [stdout] test test_url_prefix_block_list ... ok [INFO] [stdout] test test_url_prefix_allow_list ... ok [INFO] [stdout] test test_5xx_status ... ok [INFO] [stdout] test test_execute_with_saver_no_save_falls_through ... ok [INFO] [stdout] test test_entity_decoding_in_html ... ok [INFO] [stdout] test test_html_to_markdown ... ok [INFO] [stdout] test test_github_fetcher_url_matching ... ok [INFO] [stdout] test test_html_to_text ... ok [INFO] [stdout] test test_save_to_file_text_content ... ok [INFO] [stdout] test test_save_to_file_binary_content ... ok [INFO] [stdout] test test_simple_get ... ok [INFO] [stdout] test test_save_to_file_creates_subdirectories ... ok [INFO] [stdout] test test_size_for_text_content ... ok [INFO] [stdout] test test_tool_service_executes_json_calls ... ok [INFO] [stdout] test test_text_body_truncated_at_safety_limit ... ok [INFO] [stdout] test test_tool_execution_returns_contract_output ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.93s [INFO] [stdout] [INFO] [stderr] Running tests/proxy_env.rs (/opt/rustwide/target/debug/deps/proxy_env-dc41f540e8e8fe67) [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.17s [INFO] [stdout] [INFO] [stderr] Running tests/ssrf_security.rs (/opt/rustwide/target/debug/deps/ssrf_security-1afb1a2830ca6306) [INFO] [stdout] [INFO] [stdout] running 33 tests [INFO] [stdout] test test_hardened_profile_blocks_internal_hostname_suffixes ... ok [INFO] [stdout] test test_input_001_data_scheme_blocked ... ok [INFO] [stdout] test test_hardened_profile_blocks_non_standard_ports ... ok [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_ftp_scheme_blocked ... ok [INFO] [stdout] test test_input_001_gopher_scheme_blocked ... ok [INFO] [stdout] test test_leak_001_timeout_and_connect_display_are_generic ... ok [INFO] [stdout] test test_ssrf_001_private_10_blocked ... ok [INFO] [stdout] test test_ssrf_001_private_172_blocked ... ok [INFO] [stdout] test test_ssrf_001_private_192_168_blocked ... ok [INFO] [stdout] test test_prefix_block_and_dns_policy_combined ... ok [INFO] [stdout] test test_ssrf_001_loopback_ipv4_alt_blocked ... ok [INFO] [stdout] test test_ssrf_006_ipv6_loopback_blocked ... ok [INFO] [stdout] test test_leak_001_request_error_variants_are_generic ... ok [INFO] [stdout] test test_ssrf_010_redirect_to_loopback_blocked ... ok [INFO] [stdout] test test_ssrf_004_zero_ip_blocked ... ok [INFO] [stdout] test test_ssrf_003_link_local_blocked ... ok [INFO] [stdout] test test_ssrf_003_cloud_metadata_blocked ... ok [INFO] [stdout] test test_ssrf_002_localhost_blocked ... ok [INFO] [stdout] test test_ssrf_001_loopback_ipv4_blocked ... ok [INFO] [stdout] test test_input_007_subdomain_not_matched_by_host_prefix ... ok [INFO] [stdout] test test_dos_001_body_size_limit ... ok [INFO] [stdout] test test_explicit_opt_out_allows_loopback ... ok [INFO] [stdout] test test_ssrf_010_same_host_redirect_policy_blocks_cross_host_redirect ... ok [INFO] [stdout] test test_dos_001_body_within_limit_not_truncated ... ok [INFO] [stdout] test test_conv_001_script_stripped_in_text ... ok [INFO] [stdout] test test_ssrf_010_redirect_followed_when_safe ... ok [INFO] [stdout] test test_ssrf_010_redirect_scheme_validation ... ok [INFO] [stdout] test test_ssrf_010_redirect_to_private_ip_blocked ... ok [INFO] [stdout] test test_net_004_env_proxy_ignored_by_default ... ok [INFO] [stdout] test test_conv_001_script_stripped_in_markdown ... 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.82s [INFO] [stdout] [INFO] [stderr] Doc-tests fetchkit [INFO] [stdout] [INFO] [stdout] running 18 tests [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/lib.rs - (line 8) - compile ... ok [INFO] [stdout] test src/client.rs - client::fetch (line 124) - compile ... ok [INFO] [stdout] test src/convert.rs - convert::html_to_text (line 346) ... FAILED [INFO] [stdout] test src/convert.rs - convert::strip_boilerplate (line 890) ... ok [INFO] [stdout] test src/error.rs - error::FetchError (line 9) ... ok [INFO] [stdout] test src/file_saver.rs - file_saver::LocalFileSaver (line 69) ... ok [INFO] [stdout] test src/lib.rs - (line 43) ... ok [INFO] [stdout] test src/types.rs - types::HttpMethod (line 11) ... ok [INFO] [stdout] test src/convert.rs - convert::html_to_markdown (line 47) ... ok [INFO] [stdout] test src/dns.rs - dns::DnsPolicy (line 19) ... ok [INFO] [stdout] test src/fetchers/mod.rs - fetchers::FetcherRegistry (line 103) ... ok [INFO] [stdout] test src/types.rs - types::FetchRequest (line 55) ... ok [INFO] [stdout] test src/types.rs - types::PageLink (line 188) ... ok [INFO] [stdout] test src/convert.rs - convert::extract_metadata (line 605) ... ok [INFO] [stdout] test src/tool.rs - tool::ToolBuilder (line 105) ... ok [INFO] [stdout] test src/types.rs - types::FetchResponse (line 269) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/convert.rs - convert::html_to_text (line 346) stdout ---- [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/tmp/rustdoctestDtK8g3/rustc4Esgro/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/{libfetchkit-3264f65710cb8d9c,libschemars-4fea32f79ccaffe1,libdyn_clone-1c1b05e4f4a02cac,libref_cast-c5f13653d767fa29,libreqwest-6588027b17533d38,librustls_platform_verifier-2042044dbd63f12d,librustls_native_certs-fb1bf76f761699b6,libopenssl_probe-2e4370df64ac645e,libhyper_rustls-889288964e9db871,libtokio_rustls-aa424374514b17d4,librustls-8bb211c3096abaeb,libsubtle-ca7024fc66e4388f,libwebpki-4a6be8d286e61789,libuntrusted-3420b86308bec153,libaws_lc_rs-351f344fcbb3b5a6,libaws_lc_sys-06df79a74c125985,librustls_pki_types-43396bc1bdb4df85,libzeroize-36c98e1e0ab441af,libmime-4b44681fdb2c65f7,libencoding_rs-f47fb1c01542042e,libserde_json-d72a2cf0078a6f3d,libzmij-07c2bc01ed4c756c,libserde-b497622e31234d47,libserde_core-365391bf3dd30696,libtower_http-32dfaab7f1589b17,libbitflags-a4a524fc7b7b1962,libiri_string-ab5fb204906c5d05,libasync_compression-b3123cf9bc7a157e,libcompression_codecs-19613af4750fc032,libflate2-a2dedd36ac407e60,libminiz_oxide-f7b55b629d7e7bb3,libsimd_adler32-7f9881b862a52155,libcrc32fast-66fcb8dfd77ba9de,libcfg_if-5af52f617df93f8f,libbrotli-90527a20d525cade,libbrotli_decompressor-1e6ebcc70bab3daa,liballoc_stdlib-2cbcfaf5b9f938fe,liballoc_no_stdlib-06c983927188c99c,libcompression_core-5624d7ace9667e75,libtower-e6b21b03cd23de3a,libtower_layer-d70c7e404336389b,libhyper_util-b33f7551005ed972,libbase64-2a03de3babadded3,libipnet-ab246bcb66b2cb35,libtower_service-0d7df29686b13872,libhyper-eadc531193db6340,libwant-7ab32758a94a943e,libtry_lock-aabba5e3d97e6b57,libhttparse-4b1ed73b760072b9,libh2-d6c68de9310d3b97,libtracing-102cd2c438eee9c5,libtracing_core-386c043fb93aac37,libonce_cell-028ded5f5e4e9236,libindexmap-fb3ae6ea90f53af1,libequivalent-7e0e8cbe6c474a67,libhashbrown-00f937fe1169347c,libfnv-2d77ec4f6f971b24,libpin_utils-9a5791cba021167a,libatomic_waker-001109810bdecbaa,libhttpdate-9f9d2502c6a38412,libtokio_util-47554a9f6054dda3,libtokio-928b2b361874ba9a,libsocket2-6004f894d8f38f07,libmio-9edb667f7c1494fe,liblibc-f0d996076a85b3d5,libhttp_body_util-0e32d117a3d5e797,libhttp_body-c9fa59b257b83676,liblog-cfb0a897de58af94,libhttp-cf5b21f2e047a877,libitoa-d474a064685fa8df,libbytes-ff5aca13e3e348ea,libsync_wrapper-48a86ae4bb41793c,libthiserror-8d48f50e62149409,libfutures-aee079be54c605ca,libfutures_executor-ccfdd1460f625cb8,libfutures_util-720db6f037b28b5f,libmemchr-9b3f20cfb3ebd3b2,libfutures_io-9bc2d3828d4ba8af,libslab-e253d0c0a7952806,libfutures_channel-269d605913ea0ccb,libpin_project_lite-8a799ba8b4537fa2,libfutures_sink-97e10fe82c3fc434,libfutures_task-eafdccc31efa9d5a,libfutures_core-f0387e1e69ce8814,liburl-ed137e8f7003327a,libidna-445a3d81cb8aef1c,libutf8_iter-0d9be7b316c2b184,libidna_adapter-22c9534de40a44ad,libicu_properties-0e54877e79528c3f,libicu_properties_data-8a58b99d72eea4b6,libicu_normalizer-708beb1b2af4af8b,libsmallvec-5854932b8c8b4991,libicu_normalizer_data-088c419f54c50650,libicu_collections-896fe4e787451415,libpotential_utf-a3cb09e091eb5dac,libicu_provider-e87b79df08b54524,libicu_locale_core-e08030bc369f4ea8,libtinystr-e6016caba4cc195f,liblitemap-25fe1ff30044fa90,libwriteable-8a34c6e0a2a8ded3,libzerovec-fa91b84e56121f7a,libzerotrie-6902cf3b26ed4090,libyoke-e5dd248f660dff8e,libstable_deref_trait-704f67c99a4c5f65,libzerofrom-da883e32a433cae7,libform_urlencoded-c38ed4c27df25b75,libpercent_encoding-c53c37e60dd2727e}.rlib" "/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustdoctestDtK8g3/rustc4Esgro/raw-dylibs" "-B/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/rustwide/target/debug/build/aws-lc-sys-38fa6905912fe08c/out" "-L" "/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestDtK8g3/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" [INFO] [stdout] = note: some arguments are omitted. use `--verbose` to show all linker arguments [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/convert.rs - convert::html_to_text (line 346) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 17 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 14.72s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "5d2bacc2ffd89124ea7094799c65407792debec7c76a5d5645a50a108f6589e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d2bacc2ffd89124ea7094799c65407792debec7c76a5d5645a50a108f6589e0", kill_on_drop: false }` [INFO] [stdout] 5d2bacc2ffd89124ea7094799c65407792debec7c76a5d5645a50a108f6589e0