[INFO] cloning repository https://github.com/gatewaynode/obscura_wrapper [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gatewaynode/obscura_wrapper" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaynode%2Fobscura_wrapper", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaynode%2Fobscura_wrapper'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c93658884bc7d97ee297f8b3be43c18b3d15f6a [INFO] testing gatewaynode/obscura_wrapper against 1.98.0-beta.8+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgatewaynode%2Fobscura_wrapper" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/gatewaynode/obscura_wrapper [INFO] finished tweaking git repo https://github.com/gatewaynode/obscura_wrapper [INFO] tweaked toml for git repo https://github.com/gatewaynode/obscura_wrapper written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/gatewaynode/obscura_wrapper on toolchain 1.98.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/gatewaynode/obscura_wrapper 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.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml v1.1.2+spec-1.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59 [INFO] running `Command { std: "docker" "start" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling winnow v1.0.4 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling toml_writer v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling obscura-wrapper v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 20.56s [INFO] running `Command { std: "docker" "inspect" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling obscura-wrapper v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 8.96s [INFO] running `Command { std: "docker" "inspect" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.09s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/obscura_wrapper-b259eb38ee3e40b3) [INFO] [stdout] [INFO] [stdout] running 127 tests [INFO] [stdout] test config::tests::broken_on_toml_syntax_error ... ok [INFO] [stdout] test config::tests::broken_on_whitespace_pattern ... ok [INFO] [stdout] test config::tests::broken_on_zero_max_response_bytes ... ok [INFO] [stdout] test config::tests::broken_on_javascript_false ... ok [INFO] [stdout] test config::tests::cascade_first_found_wins_no_merge ... ok [INFO] [stdout] test config::tests::broken_on_empty_pattern ... ok [INFO] [stdout] test config::tests::custom_allowed_ports_loads ... ok [INFO] [stdout] test config::tests::broken_on_unknown_key ... ok [INFO] [stdout] test config::tests::empty_allowed_ports_is_legal_deny_all ... ok [INFO] [stdout] test config::tests::defaults_when_nothing_found ... ok [INFO] [stdout] test config::tests::broken_on_bad_pattern_inner_star ... ok [INFO] [stdout] test driver::tests::build_args_stealth_toggle ... ok [INFO] [stdout] test config::tests::explicit_missing_file_is_broken ... ok [INFO] [stdout] test driver::tests::build_args_user_agent_toggle ... ok [INFO] [stdout] test config::tests::valid_full_config_loads ... ok [INFO] [stdout] test driver::tests::extract_meta_malformed_json_is_all_none_and_stderr_unchanged ... ok [INFO] [stdout] test driver::tests::extract_meta_parses_well_formed_line ... ok [INFO] [stdout] test config::tests::broken_on_zero_allowed_port ... ok [INFO] [stdout] test driver::tests::extract_meta_null_status_leaves_status_none_but_keeps_other_fields ... ok [INFO] [stdout] test driver::tests::extract_meta_absent_line_is_all_none ... ok [INFO] [stdout] test filters::tests::block_short_circuits_remaining_filters ... ok [INFO] [stdout] test config::tests::default_policy_has_standard_web_ports ... ok [INFO] [stdout] test filters::tests::build_chain_known_unknown_and_empty ... ok [INFO] [stdout] test config::tests::broken_on_out_of_range_timeout ... ok [INFO] [stdout] test config::tests::org_stub_never_resolves_falls_through_to_defaults ... ok [INFO] [stdout] test filters::tests::panic_becomes_block_fail_closed ... ok [INFO] [stdout] test filters::tests::empty_chain_delivers_unchanged ... ok [INFO] [stdout] test filters::tests::modified_chains_into_next_filter ... ok [INFO] [stdout] test filters::tests::choke_point_sees_full_markdown ... ok [INFO] [stdout] test mcp::tests::initialize_defaults_protocol_version_when_absent ... ok [INFO] [stdout] test config::tests::subresources_bad_enum_value_is_broken ... ok [INFO] [stdout] test mcp::tests::notification_without_id_gets_no_response_even_for_known_method ... ok [INFO] [stdout] test mcp::tests::notifications_initialized_gets_no_response ... ok [INFO] [stdout] test mcp::tests::timeout_s_absent_passes_none_to_the_service ... ok [INFO] [stdout] test mcp::tests::tools_call_delivered_carries_metadata_and_markdown_separated ... ok [INFO] [stdout] test mcp::tests::tools_call_denied_never_returns_silent_empty_result ... ok [INFO] [stdout] test mcp::tests::tools_call_missing_url_is_rejected_without_calling_service ... ok [INFO] [stdout] test mcp::tests::tools_call_selector_is_rejected_without_calling_service ... ok [INFO] [stdout] test mcp::tests::tools_call_unknown_tool_name_is_rejected ... ok [INFO] [stdout] test mcp::tests::tools_list_reports_fetch_tool_with_required_url ... ok [INFO] [stdout] test pipeline::tests::process_default_chain_delivers_markdown_intact ... ok [INFO] [stdout] test mcp::tests::unknown_notification_gets_no_response ... ok [INFO] [stdout] test mcp::tests::initialize_reports_server_info_and_echoes_protocol_version ... ok [INFO] [stdout] test pipeline::tests::process_unknown_filter_fails_closed ... ok [INFO] [stdout] test pipeline::tests::assemble_maps_fields_correctly ... ok [INFO] [stdout] test mcp::tests::timeout_s_is_passed_through_to_the_service ... ok [INFO] [stdout] test policy::tests::block_private_networks_false_permits_private_ip ... ok [INFO] [stdout] test mcp::tests::timeout_s_zero_or_negative_is_a_tool_error ... ok [INFO] [stdout] test mcp::tests::unknown_method_with_id_is_jsonrpc_error ... ok [INFO] [stdout] test policy::tests::allowlist_listed_host_allowed ... ok [INFO] [stdout] test policy::tests::broken_config_denies_even_a_garbage_url ... ok [INFO] [stdout] test policy::tests::allowlist_unlisted_host_denied ... ok [INFO] [stdout] test policy::tests::denylist_wildcard_matches_subdomain_not_apex ... ok [INFO] [stdout] test policy::tests::empty_allowed_ports_denies_every_port ... ok [INFO] [stdout] test policy::tests::host_and_pattern_case_insensitive ... ok [INFO] [stdout] test policy::tests::broken_config_denies_even_a_fine_url ... ok [INFO] [stdout] test policy::tests::non_allowlisted_port_denied ... ok [INFO] [stdout] test policy::tests::invalid_bracketed_ipv6_denies_at_url_parse ... ok [INFO] [stdout] test policy::tests::default_ports_allow_standard_web_ports ... ok [INFO] [stdout] test policy::tests::numeric_host_parser_differentials_deny_at_url_parse ... ok [INFO] [stdout] test policy::tests::denylist_exact_match_denies ... ok [INFO] [stdout] test policy::tests::host_matches_pattern_semantics ... ok [INFO] [stdout] test policy::tests::percent_encoded_host_denies ... ok [INFO] [stdout] test policy::tests::port_present_does_not_break_matching ... ok [INFO] [stdout] test policy::tests::private_ip_literals_deny ... ok [INFO] [stdout] test policy::tests::public_ip_literal_allowed_by_default ... ok [INFO] [stdout] test policy::tests::scheme_default_port_used_when_absent ... ok [INFO] [stdout] test policy::tests::scheme_denies_ftp_file_javascript_data_none ... ok [INFO] [stdout] test driver::tests::build_args_baseline ... ok [INFO] [stdout] test policy::tests::allowlist_deny_beats_allow_when_both_match ... ok [INFO] [stdout] test policy::tests::unparseable_url_denies ... ok [INFO] [stdout] test policy::tests::unused_config_field_smoke ... ok [INFO] [stdout] test policy::tests::userinfo_denies ... ok [INFO] [stdout] test policy::tests::defaults_allow_public_https ... ok [INFO] [stdout] test policy::tests::denylist_catches_trailing_dot_fqdn_bypass ... ok [INFO] [stdout] test proxy::tests::connect_trailing_dot_host_normalizes_and_still_matches_allowlist ... ok [INFO] [stdout] test proxy::tests::connect_leftover_buffered_bytes_reach_upstream ... ok [INFO] [stdout] test proxy::tests::http_forward_replaces_connection_header_and_completes_without_content_length ... ok [INFO] [stdout] test proxy::tests::audit_log_records_allowed_and_refused_attempts ... ok [INFO] [stdout] test proxy::tests::malformed_request_line_closes_without_panic ... ok [INFO] [stdout] test proxy::tests::denylist_refuses_without_ever_resolving ... ok [INFO] [stdout] test urlparse::tests::accepts_canonical_ipv4_literal ... ok [INFO] [stdout] test proxy::tests::oversize_headers_close_without_panic ... ok [INFO] [stdout] test proxy::tests::connect_trailing_dot_host_still_matches_denylist ... ok [INFO] [stdout] test urlparse::tests::accepts_query_and_fragment_after_authority ... ok [INFO] [stdout] test proxy::tests::page_origin_lock_blocks_cross_origin_allows_same_origin ... ok [INFO] [stdout] test proxy::tests::connect_non_canonical_numeric_host_is_rejected_at_parse ... ok [INFO] [stdout] test proxy::tests::http_forward_allow_and_deny ... ok [INFO] [stdout] test proxy::tests::resolve_failure_returns_502 ... ok [INFO] [stdout] test urlparse::tests::normalize_host_accepts_canonical_ipv4_and_ipv6 ... ok [INFO] [stdout] test proxy::tests::connect_allow_tunnels_bytes_end_to_end ... ok [INFO] [stdout] test urlparse::tests::normalize_host_lowercases ... ok [INFO] [stdout] test urlparse::tests::normalize_host_rejects_empty_label ... ok [INFO] [stdout] test urlparse::tests::normalize_host_rejects_non_canonical_numeric_hosts ... ok [INFO] [stdout] test proxy::tests::rebinding_hostname_resolving_to_private_ip_is_refused_with_403 ... ok [INFO] [stdout] test urlparse::tests::normalize_host_strips_trailing_dot ... ok [INFO] [stdout] test proxy::tests::permit_guard_returns_permit_on_handler_panic ... ok [INFO] [stdout] test urlparse::tests::parses_bracketed_ipv6 ... ok [INFO] [stdout] test urlparse::tests::parses_bracketed_ipv6_no_port ... ok [INFO] [stdout] test urlparse::tests::parses_https_with_port ... ok [INFO] [stdout] test urlparse::tests::parses_ipv4_mapped_ipv6 ... ok [INFO] [stdout] test urlparse::tests::parses_simple_http ... ok [INFO] [stdout] test urlparse::tests::rejects_backslash ... ok [INFO] [stdout] test urlparse::tests::rejects_ambiguous_unbracketed_multi_colon ... ok [INFO] [stdout] test urlparse::tests::rejects_bad_host_charset ... ok [INFO] [stdout] test urlparse::tests::rejects_bad_port ... ok [INFO] [stdout] test urlparse::tests::rejects_empty_host ... ok [INFO] [stdout] test urlparse::tests::rejects_empty_labels ... ok [INFO] [stdout] test urlparse::tests::rejects_empty_scheme ... ok [INFO] [stdout] test urlparse::tests::rejects_no_scheme_separator ... ok [INFO] [stdout] test urlparse::tests::rejects_invalid_bracketed_ipv6 ... ok [INFO] [stdout] test urlparse::tests::rejects_non_canonical_numeric_hosts ... ok [INFO] [stdout] test urlparse::tests::rejects_control_chars ... ok [INFO] [stdout] test urlparse::tests::rejects_percent_encoded_host ... ok [INFO] [stdout] test urlparse::tests::rejects_unterminated_ipv6 ... ok [INFO] [stdout] test urlparse::tests::rejects_userinfo ... ok [INFO] [stdout] test urlparse::tests::rejects_whitespace ... ok [INFO] [stdout] test urlparse::tests::trailing_dot_is_stripped ... ok [INFO] [stdout] test urlparse::tests::lowercases_scheme_and_host ... ok [INFO] [stdout] test urlparse::tests::non_numeric_final_label_is_ordinary_hostname ... ok [INFO] [stdout] test urlparse::tests::authority_ends_at_bare_path_query_fragment ... ok [INFO] [stdout] test proxy::tests::connect_disallowed_port_refused_with_403 ... ok [INFO] [stdout] test driver::tests::captures_markdown_stdout ... ok [INFO] [stdout] test driver::tests::clears_environment ... ok [INFO] [stdout] test driver::tests::fresh_storage_dir_removed ... ok [INFO] [stdout] test driver::tests::enforces_byte_cap ... ok [INFO] [stdout] test driver::tests::kills_on_deadline ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 127 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.33s [INFO] [stdout] [INFO] [stderr] Running tests/fetch_integration.rs (/opt/rustwide/target/release/deps/fetch_integration-2febbdcdc9f2a32a) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test fetch_denies_loopback_under_default_policy ... ok [INFO] [stderr] Running tests/mcp_integration.rs (/opt/rustwide/target/release/deps/mcp_integration-8ed4f2823a32196b) [INFO] [stdout] test fetch_allows_and_returns_content_through_proxy ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test mcp_fetch_denies_loopback_under_default_policy_never_silent ... ok [INFO] [stdout] test mcp_fetch_allows_and_returns_content_with_metadata ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59", kill_on_drop: false }` [INFO] [stdout] f5651130dfa9ca63d4b0b8a1debbd106ee5f06212fe0d15264d1c777088fec59