[INFO] fetching crate uptrakit-shared-types 0.0.3...
[INFO] testing uptrakit-shared-types-0.0.3 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate uptrakit-shared-types 0.0.3 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate uptrakit-shared-types 0.0.3
[INFO] finished tweaking crates.io crate uptrakit-shared-types 0.0.3
[INFO] tweaked toml for crates.io crate uptrakit-shared-types 0.0.3 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate uptrakit-shared-types 0.0.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate uptrakit-shared-types 0.0.3 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d
[INFO] running `Command { std: "docker" "start" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", 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" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", 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" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling uuid v1.24.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling uptrakit-shared-types v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> Cargo.toml:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 | [dependencies.strum]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] warning: `uptrakit-shared-types` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.69s
[INFO] running `Command { std: "docker" "inspect" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", 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" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling husky-rs v0.4.0
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.19
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling thiserror v2.0.19
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling uptrakit-shared-types v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> Cargo.toml:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 | [dependencies.strum]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `uptrakit-shared-types` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 20.17s
[INFO] running `Command { std: "docker" "inspect" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", 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" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `strum`
[INFO] [stderr]   --> Cargo.toml:32:15
[INFO] [stderr]    |
[INFO] [stderr] 32 | [dependencies.strum]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `strum`
[INFO] [stderr] help: to still use for development builds, move to `dev-dependencies`
[INFO] [stderr] warning: `uptrakit-shared-types` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/uptrakit-shared-types/b856b03784078ee3/out/uptrakit_shared_types-b856b03784078ee3)
[INFO] [stdout] 
[INFO] [stdout] running 251 tests
[INFO] [stdout] test access::action::tests::a1_every_catalog_action_round_trips ... ok
[INFO] [stdout] test access::action::tests::a2_a3_dynamic_and_edge_shapes_parse ... ok
[INFO] [stdout] test access::action::tests::a9_at_bound_accepted ... ok
[INFO] [stdout] test access::catalog::tests::dynamic_constructors_reject_bad_remainders ... ok
[INFO] [stdout] test access::catalog::tests::dynamic_resources_parse_and_round_trip ... ok
[INFO] [stdout] test access::action::tests::serde_round_trip_and_deny ... ok
[INFO] [stdout] test access::action::tests::typed_constants_match_their_strings ... ok
[INFO] [stdout] test access::action::tests::dynamic_actions_fail_closed_on_catalog_metadata ... ok
[INFO] [stdout] test access::pattern::tests::a10_pattern_positives_parse_and_round_trip ... ok
[INFO] [stdout] test access::pattern::tests::a11_subtree_never_matches_its_root ... ok
[INFO] [stdout] test access::catalog::tests::every_resource_string_satisfies_grammar ... ok
[INFO] [stdout] test access::catalog::tests::action_strings_consistent_with_parts ... ok
[INFO] [stdout] test access::pattern::tests::a12_system_exclusion ... ok
[INFO] [stdout] test access::catalog::tests::scope_token_charset_property ... ok
[INFO] [stdout] test access::catalog::tests::catalog_non_empty_with_known_members ... ok
[INFO] [stdout] test access::decision::tests::deny_reason_labels_are_stable_and_display_matches ... ok
[INFO] [stdout] test access::action::tests::a4_to_a9_rejections ... ok
[INFO] [stdout] test access::action::tests::constructor_seam_matrix_checked ... ok
[INFO] [stdout] test access::catalog::tests::selector_capable_actions_are_exactly_five ... ok
[INFO] [stdout] test access::catalog::tests::system_access_manage_row_present_with_no_selector_support ... ok
[INFO] [stdout] test access::pattern::tests::pattern_grammar_negatives ... ok
[INFO] [stdout] test access::catalog::tests::system_plane_rows_report_is_system ... ok
[INFO] [stdout] test access::selector::tests::validate_bounds_edges ... ok
[INFO] [stdout] test access::selector::tests::unknown_type_tag_rejected ... ok
[INFO] [stdout] test access::selector::tests::mistyped_ids_field_rejected ... ok
[INFO] [stdout] test access::catalog::tests::invalid_resources_rejected ... ok
[INFO] [stdout] test access::pattern::tests::parse_validate_split_pin ... ok
[INFO] [stdout] test access::pattern::tests::a13_wildcard_reaches_dynamic ... ok
[INFO] [stdout] test access::pattern::tests::a14_matchability ... ok
[INFO] [stdout] test access::pattern::tests::segment_boundary_matching ... ok
[INFO] [stdout] test access::pattern::tests::serde_string_form ... ok
[INFO] [stdout] test access::catalog::tests::every_resource_string_round_trips ... ok
[INFO] [stdout] test access::pattern::tests::validate_patterns_bounds_and_matchability ... ok
[INFO] [stdout] test access::selector::tests::admits_full_matrix ... ok
[INFO] [stdout] test access::tests::deny_event_worthy_covers_exactly_the_policy_set ... ok
[INFO] [stdout] test access::tests::segment_grammar_table ... ok
[INFO] [stdout] test access::verb::tests::all_matches_iter ... ok
[INFO] [stdout] test access::pattern::tests::matched_catalog_actions_feed_rule_three ... ok
[INFO] [stdout] test access::verb::tests::unknown_verbs_rejected ... ok
[INFO] [stdout] test access::verb::tests::as_str_from_str_round_trip_exhaustive ... ok
[INFO] [stdout] test batch_status::tests::other_serializes_to_inner_string ... ok
[INFO] [stdout] test access::pattern::tests::matches_typed_constants ... ok
[INFO] [stdout] test batch_status::tests::display_matches_as_str ... ok
[INFO] [stdout] test batch_status::tests::serde_round_trip ... ok
[INFO] [stdout] test command_validation::tests::validate_command_length_ok ... ok
[INFO] [stdout] test command_validation::tests::validate_command_length_realistic_script ... ok
[INFO] [stdout] test config_test_kind::tests::post_update_hook_roundtrip ... ok
[INFO] [stdout] test config_test_kind::tests::pre_update_hook_roundtrip ... ok
[INFO] [stdout] test command_validation::tests::validate_command_length_over_limit ... ok
[INFO] [stdout] test device_auth_status::tests::display_matches_as_str ... ok
[INFO] [stdout] test device_auth_status::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test batch_status::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test batch_status::tests::from_str_round_trip ... ok
[INFO] [stdout] test device_auth_status::tests::from_str_round_trip ... ok
[INFO] [stdout] test batch_status::tests::from_str_still_strict_for_unknown ... ok
[INFO] [stdout] test device_auth_status::tests::serde_values ... ok
[INFO] [stdout] test discovered_software::tests::backward_compatible_deserialize_without_targets ... ok
[INFO] [stdout] test discovered_software::tests::empty_targets_omitted ... ok
[INFO] [stdout] test discovered_software::tests::plugin_package_identifier_roundtrip ... ok
[INFO] [stdout] test discovered_software::tests::optional_extra_omitted ... ok
[INFO] [stdout] test discovered_software::tests::serialization_roundtrip ... ok
[INFO] [stdout] test discovered_software::tests::qualifier_none_omitted ... ok
[INFO] [stdout] test batch_status::tests::other_round_trip ... ok
[INFO] [stdout] test config_test_kind::tests::version_detection_roundtrip ... ok
[INFO] [stdout] test discovery_target::tests::cross_plugin_target ... ok
[INFO] [stdout] test discovery_target::tests::deserialize_with_missing_optional_fields ... ok
[INFO] [stdout] test hex::tests::decode_empty ... ok
[INFO] [stdout] test hex::tests::decode_invalid_char ... ok
[INFO] [stdout] test discovered_software::tests::qualifier_roundtrip ... ok
[INFO] [stdout] test access::selector::tests::golden_json_shapes ... ok
[INFO] [stdout] test device_auth_status::tests::serde_round_trip ... ok
[INFO] [stdout] test config_test_kind::tests::connectivity_roundtrip ... ok
[INFO] [stdout] test config_test_kind::tests::update_command_validation_roundtrip ... ok
[INFO] [stdout] test discovery_target::tests::optional_fields_omitted_when_none ... ok
[INFO] [stdout] test discovered_software::tests::featured_defaults_to_false ... ok
[INFO] [stdout] test discovered_software::tests::featured_true_roundtrip ... ok
[INFO] [stdout] test device_auth_status::tests::denied_variant_string_value_is_denied ... ok
[INFO] [stdout] test batch_status::tests::unknown_status_deserializes_to_other ... ok
[INFO] [stdout] test command_validation::tests::validate_command_length_at_limit ... ok
[INFO] [stdout] test command_validation::tests::validate_command_length_empty ... ok
[INFO] [stdout] test discovery_target::tests::optional_fields_present_when_set ... ok
[INFO] [stdout] test discovery_target::tests::serialization_roundtrip ... ok
[INFO] [stdout] test discovered_software::tests::targets_present_when_non_empty ... ok
[INFO] [stdout] test hex::tests::decode_non_ascii_multibyte ... ok
[INFO] [stdout] test hex::tests::roundtrip ... ok
[INFO] [stdout] test hook_shell::tests::hook_shell_flag ... ok
[INFO] [stdout] test hook_shell::tests::hook_shell_local_executable_bash_sh ... ok
[INFO] [stdout] test hook_shell::tests::hook_shell_local_executable_powershell ... ok
[INFO] [stdout] test hook_shell::tests::serde_round_trip ... ok
[INFO] [stdout] test host_capabilities::tests::default_has_no_features ... ok
[INFO] [stdout] test hex::tests::encode_empty ... ok
[INFO] [stdout] test hex::tests::decode_odd_length ... ok
[INFO] [stdout] test hex::tests::encode_leading_zeros ... ok
[INFO] [stdout] test hex::tests::decode_uppercase ... ok
[INFO] [stdout] test hook_shell::tests::from_str_round_trip ... ok
[INFO] [stdout] test host_capabilities::tests::from_json_features_handles_invalid_json ... ok
[INFO] [stdout] test hook_shell::tests::hook_shell_remote_executable_windows ... ok
[INFO] [stdout] test hex::tests::decode_valid ... ok
[INFO] [stdout] test hex::tests::encode_bytes ... ok
[INFO] [stdout] test hook_shell::tests::default_is_bash ... ok
[INFO] [stdout] test hook_shell::tests::display_matches_as_str ... ok
[INFO] [stdout] test host_capabilities::tests::from_json_features_handles_none ... ok
[INFO] [stdout] test host_capabilities::tests::empty_features_for_legacy_agent ... ok
[INFO] [stdout] test hook_shell::tests::from_str_unknown_returns_err ... ok
[INFO] [stdout] test hook_shell::tests::hook_shell_remote_executable_non_windows ... ok
[INFO] [stdout] test host_feature::tests::ordering_is_deterministic ... ok
[INFO] [stdout] test host_feature::tests::unknown_feature_string_roundtrips ... ok
[INFO] [stdout] test masked_email::tests::equality ... ok
[INFO] [stdout] test host_feature::tests::probeable_features_have_valid_commands ... ok
[INFO] [stdout] test masked_email::tests::from_str_rejects_no_at ... ok
[INFO] [stdout] test host_capabilities::tests::from_json_features_parses_array ... ok
[INFO] [stdout] test host_feature::tests::serialization_roundtrip ... ok
[INFO] [stdout] test host_capabilities::tests::new_parses_known_features ... ok
[INFO] [stdout] test masked_email::tests::from_str_valid ... ok
[INFO] [stdout] test masked_email::tests::mask_underscore ... ok
[INFO] [stdout] test host_capabilities::tests::unknown_features_are_preserved ... ok
[INFO] [stdout] test masked_email::tests::debug_shows_masked ... ok
[INFO] [stdout] test host_capabilities::tests::unknown_os_type_yields_none ... ok
[INFO] [stdout] test masked_email::tests::expose_email_returns_full ... ok
[INFO] [stdout] test masked_email::tests::from_str_rejects_empty_domain ... ok
[INFO] [stdout] test host_feature::tests::from_string_creates_owned ... ok
[INFO] [stdout] test masked_email::tests::from_str_rejects_empty_local ... ok
[INFO] [stdout] test masked_email::tests::mask_dot_separated ... ok
[INFO] [stdout] test masked_email::tests::from_str_rejects_multiple_at ... ok
[INFO] [stdout] test masked_email::tests::mask_two_char ... ok
[INFO] [stdout] test masked_email::tests::mask_single_char ... ok
[INFO] [stdout] test masked_email::tests::hash_consistent ... ok
[INFO] [stdout] test masked_email::tests::mask_simple_email ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_10_range ... ok
[INFO] [stdout] test network::tests::blocks_dot_localhost ... ok
[INFO] [stdout] test masked_email::tests::serde_roundtrip ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_172_16_range ... ok
[INFO] [stdout] test masked_email::tests::mask_hyphen ... ok
[INFO] [stdout] test network::tests::allows_ipv6_just_outside_link_local ... ok
[INFO] [stdout] test network::tests::allows_public_ipv4 ... ok
[INFO] [stdout] test network::tests::allows_public_hostnames ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_192_168_range ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_link_local ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_cgnat ... ok
[INFO] [stdout] test network::tests::blocks_dot_local ... ok
[INFO] [stdout] test network::tests::allows_ipv4_just_outside_cgnat ... ok
[INFO] [stdout] test network::tests::blocks_dot_internal ... ok
[INFO] [stdout] test masked_email::tests::mask_plus_tag ... ok
[INFO] [stdout] test network::tests::allows_public_ipv6 ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_loopback ... ok
[INFO] [stdout] test network::tests::blocks_ipv4_unspecified ... ok
[INFO] [stdout] test network::tests::blocks_ipv6_ula ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv6_link_local ... ok
[INFO] [stdout] test network::tests::blocks_ipv6_loopback ... ok
[INFO] [stdout] test network::tests::blocks_ipv6_unspecified ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_public ... ok
[INFO] [stdout] test network::tests::blocks_localhost ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv6_public ... ok
[INFO] [stdout] test network::tests::blocks_ipv6_link_local ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv6_ula ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_cgnat ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_link_local ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_unspecified ... ok
[INFO] [stdout] test output_stream_type::tests::from_str_round_trip ... ok
[INFO] [stdout] test output_stream_type::tests::serde_values ... ok
[INFO] [stdout] test package_identifier::tests::too_long_is_rejected ... ok
[INFO] [stdout] test package_identifier::tests::too_short_is_rejected ... ok
[INFO] [stdout] test package_identifier::tests::valid_apt_name ... ok
[INFO] [stdout] test plugin_capability::tests::plugin_capability_all_variants_snake_case ... ok
[INFO] [stdout] test plugin_capability::tests::plugin_capability_serialization_roundtrip ... ok
[INFO] [stdout] test package_identifier::tests::double_dot_rejected ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_loopback ... ok
[INFO] [stdout] test output_stream_type::tests::display_matches_as_str ... ok
[INFO] [stdout] test output_stream_type::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv4_private ... ok
[INFO] [stdout] test network::tests::is_private_ip_ipv6_loopback ... ok
[INFO] [stdout] test network::tests::non_parseable_hostname_returns_false ... ok
[INFO] [stdout] test os_family::tests::known_os_types_parse ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_display ... ok
[INFO] [stdout] test os_family::tests::unknown_os_type_returns_none ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_display_round_trips_through_from_str ... ok
[INFO] [stdout] test output_stream_type::tests::default_is_stdout ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_execute_update_serialization ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_from_str_error_display ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_fetch_releases_serialization ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_from_str_invalid_returns_err ... ok
[INFO] [stdout] test plugin_type_id::tests::display ... ok
[INFO] [stdout] test plugin_type_id::tests::all_constants_count ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_from_str_valid ... ok
[INFO] [stdout] test plugin_type_id::tests::equality_static_vs_owned ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_from_string ... ok
[INFO] [stdout] test plugin_type_id::tests::from_string ... ok
[INFO] [stdout] test plugin_type_id::tests::hash_equality ... ok
[INFO] [stdout] test package_identifier::tests::invalid_first_char_rejected ... ok
[INFO] [stdout] test plugin_type_id::tests::new_allocates ... ok
[INFO] [stdout] test plugin_type_id::tests::notification_plugin_type_derives_namespaced_id ... ok
[INFO] [stdout] test package_identifier::tests::invalid_char_rejected ... ok
[INFO] [stdout] test plugin_type_id::tests::all_constants_are_unique ... ok
[INFO] [stdout] test output_stream_type::tests::serde_round_trip ... ok
[INFO] [stdout] test os_family::tests::display_roundtrips_through_from_os_type ... ok
[INFO] [stdout] test package_identifier::tests::empty_is_rejected ... ok
[INFO] [stdout] test provider_validation::tests::provider_validation_rejects_invalid_url ... ok
[INFO] [stdout] test provider_validation::tests::provider_validation_rejects_private_host ... ok
[INFO] [stdout] test provider_validation::tests::provider_validation_rejects_non_https_url ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_as_str_matches_display ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_hook_variants_deserialize ... ok
[INFO] [stdout] test secret_string::tests::clone_preserves_value ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_other_roundtrip ... ok
[INFO] [stdout] test secret_string::tests::expose_secret_returns_value ... ok
[INFO] [stdout] test secret_string::tests::debug_redacts ... ok
[INFO] [stdout] test secret_string::tests::serde_in_option ... ok
[INFO] [stdout] test secret_string::tests::display_redacts ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_other_serializes_to_inner_string ... ok
[INFO] [stdout] test secret_string::tests::hash_consistent ... ok
[INFO] [stdout] test secret_string::tests::equality ... ok
[INFO] [stdout] test provider_validation::tests::provider_validation_accepts_public_https_url ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_serialization_roundtrip ... ok
[INFO] [stdout] test service_status::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test service_status::tests::from_str_round_trip ... ok
[INFO] [stdout] test plugin_role::tests::plugin_role_unknown_deserializes_to_other ... ok
[INFO] [stdout] test secret_string::tests::serde_roundtrip ... ok
[INFO] [stdout] test session_token_type::tests::from_str_round_trip ... ok
[INFO] [stdout] test session_token_type::tests::serde_value ... ok
[INFO] [stdout] test severity::tests::display_matches_serde ... ok
[INFO] [stdout] test service_status::tests::display_matches_as_str ... ok
[INFO] [stdout] test plugin_type_id::tests::equality_with_str ... ok
[INFO] [stdout] test plugin_type_id::tests::from_static_is_zero_alloc ... ok
[INFO] [stdout] test severity::tests::max_across_iterator ... ok
[INFO] [stdout] test severity::tests::serializes_lowercase ... ok
[INFO] [stdout] test plugin_type_id::tests::package_manager_skills_constant_is_correct ... ok
[INFO] [stdout] test plugin_type_id::tests::serde_transparent_accepts_any_string ... ok
[INFO] [stdout] test service_status::tests::serde_round_trip ... ok
[INFO] [stdout] test session_token_type::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test update_category::tests::default_is_unknown ... ok
[INFO] [stdout] test update_category::tests::from_str_invalid ... ok
[INFO] [stdout] test update_category::tests::from_str_still_strict_for_unknown ... ok
[INFO] [stdout] test update_category::tests::from_str_valid ... ok
[INFO] [stdout] test severity::tests::ordering_low_lt_medium_lt_high ... ok
[INFO] [stdout] test update_status::tests::display_matches_as_str ... ok
[INFO] [stdout] test update_category::tests::display_values ... ok
[INFO] [stdout] test update_category::tests::other_serializes_to_inner_string ... ok
[INFO] [stdout] test update_status::tests::host_blocking_contains_three_statuses_excludes_queued ... ok
[INFO] [stdout] test update_status::tests::interrupted_is_terminal_and_serialises ... ok
[INFO] [stdout] test update_status::tests::as_str_values ... ok
[INFO] [stdout] test plugin_type_id::tests::serde_roundtrip ... ok
[INFO] [stdout] test session_token_type::tests::display_matches_as_str ... ok
[INFO] [stdout] test update_category::tests::serde_round_trip ... ok
[INFO] [stdout] test update_status::tests::parse_error_display ... ok
[INFO] [stdout] test session_token_type::tests::serde_round_trip ... ok
[INFO] [stdout] test update_status::tests::from_str_invalid_returns_err ... ok
[INFO] [stdout] test update_category::tests::other_round_trip ... ok
[INFO] [stdout] test update_status::tests::from_str_round_trip ... ok
[INFO] [stdout] test update_category::tests::unknown_category_deserializes_to_other ... ok
[INFO] [stdout] test update_status::tests::test_awaiting_restart_round_trip ... ok
[INFO] [stdout] test update_status::tests::serde_round_trip ... ok
[INFO] [stdout] test update_status::tests::unfinished_contains_four_statuses ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 251 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests uptrakit_shared_types
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/discovery_target.rs - discovery_target::DiscoveryTarget (line 18) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.71s; merged doctests compilation took 0.69s
[INFO] running `Command { std: "docker" "inspect" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d", kill_on_drop: false }`
[INFO] [stdout] fe86122f9237181e08d407d28d3e02e854db2208fffcc7f9601e411750b76f7d
