[INFO] fetching crate mikrotik-exporter 0.3.3... [INFO] testing mikrotik-exporter-0.3.3 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate mikrotik-exporter 0.3.3 into /workspace/builds/worker-5-tc2/source [INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml [INFO] started tweaking crates.io crate mikrotik-exporter 0.3.3 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate mikrotik-exporter 0.3.3 [INFO] tweaked toml for crates.io crate mikrotik-exporter 0.3.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate mikrotik-exporter 0.3.3 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate mikrotik-exporter 0.3.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7d3b5b9cc706ff16287bf85adba4f2c21db621a8a8d8e13d7292e044bfb4f25c [INFO] running `Command { std: "docker" "start" "-a" "7d3b5b9cc706ff16287bf85adba4f2c21db621a8a8d8e13d7292e044bfb4f25c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7d3b5b9cc706ff16287bf85adba4f2c21db621a8a8d8e13d7292e044bfb4f25c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7d3b5b9cc706ff16287bf85adba4f2c21db621a8a8d8e13d7292e044bfb4f25c", kill_on_drop: false }` [INFO] [stdout] 7d3b5b9cc706ff16287bf85adba4f2c21db621a8a8d8e13d7292e044bfb4f25c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3c29ac57bd487601d20550ff1bf4ac47c5d3717752f709f0017e3571a59f29f [INFO] running `Command { std: "docker" "start" "-a" "d3c29ac57bd487601d20550ff1bf4ac47c5d3717752f709f0017e3571a59f29f", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling itoa v1.0.17 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling prometheus-client v0.24.0 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling matchit v0.8.4 [INFO] [stderr] Compiling nu-ansi-term v0.50.3 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling dtoa v1.0.11 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling md5 v0.8.0 [INFO] [stderr] Compiling dotenvy v0.15.7 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling prometheus-client-derive-encode v0.5.0 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling secrecy v0.10.3 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling axum v0.8.8 [INFO] [stderr] Compiling mikrotik-exporter v0.3.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.12s [INFO] running `Command { std: "docker" "inspect" "d3c29ac57bd487601d20550ff1bf4ac47c5d3717752f709f0017e3571a59f29f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3c29ac57bd487601d20550ff1bf4ac47c5d3717752f709f0017e3571a59f29f", kill_on_drop: false }` [INFO] [stdout] d3c29ac57bd487601d20550ff1bf4ac47c5d3717752f709f0017e3571a59f29f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f37e225eced59739156acae7211fec332c05e2733e46fe654be855a80ad6cb53 [INFO] running `Command { std: "docker" "start" "-a" "f37e225eced59739156acae7211fec332c05e2733e46fe654be855a80ad6cb53", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling mikrotik-exporter v0.3.3 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 27.82s [INFO] running `Command { std: "docker" "inspect" "f37e225eced59739156acae7211fec332c05e2733e46fe654be855a80ad6cb53", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f37e225eced59739156acae7211fec332c05e2733e46fe654be855a80ad6cb53", kill_on_drop: false }` [INFO] [stdout] f37e225eced59739156acae7211fec332c05e2733e46fe654be855a80ad6cb53 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e00f82800c21f1f1bd0cf89f01a8fbb69c6ddf7852e0073770670f975a27cc0c [INFO] running `Command { std: "docker" "start" "-a" "e00f82800c21f1f1bd0cf89f01a8fbb69c6ddf7852e0073770670f975a27cc0c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.22s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mikrotik_exporter-7e77277a5923c733) [INFO] [stdout] [INFO] [stdout] running 138 tests [INFO] [stdout] test api::tests::test_create_router ... ok [INFO] [stdout] test api::handlers::health::tests::test_health_check ... ok [INFO] [stdout] test api::tests::test_app_state_creation ... ok [INFO] [stdout] test api::handlers::metrics::tests::test_metrics_endpoint ... ok [INFO] [stdout] test config::tests::test::test_config_default ... ok [INFO] [stdout] test config::tests::test::test_from_env_filters_invalid_and_duplicates ... ok [INFO] [stdout] test collector::cleanup::tests::test_cleanup_interval_constant_is_60_seconds ... ok [INFO] [stdout] test config::tests::test::test_from_env_legacy_router_custom_creds ... ok [INFO] [stdout] test config::tests::test::test_from_env_legacy_router_defaults ... ok [INFO] [stdout] test config::tests::test::test_from_env_with_routers_config ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_empty_username ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_invalid_address ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_invalid_port_non_numeric ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_valid_hostname ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_invalid_name_characters ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_invalid_port_zero ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_address_too_long ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_empty_name ... ok [INFO] [stdout] test config::tests::test::test_router_config_deserialize ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_weak_password_warning ... ok [INFO] [stdout] test error::tests::test_addr_parse_error_conversion ... ok [INFO] [stdout] test error::tests::test_boxed_error_conversion ... ok [INFO] [stdout] test error::tests::test_io_error_conversion ... ok [INFO] [stdout] test error::tests::test_metrics_error ... ok [INFO] [stdout] test error::tests::test_config_error ... ok [INFO] [stdout] test error::tests::test_router_os_error ... ok [INFO] [stdout] test metrics::labels::tests::test_firewall_rule_labels_creation ... ok [INFO] [stdout] test metrics::labels::tests::test_firewall_rule_info_labels_creation ... ok [INFO] [stdout] test metrics::labels::tests::test_interface_info_labels_creation ... ok [INFO] [stdout] test metrics::labels::tests::test_router_labels_creation ... ok [INFO] [stdout] test metrics::parsers::tests::test_parse_uptime ... ok [INFO] [stdout] test metrics::labels::tests::test_system_info_labels_creation ... ok [INFO] [stdout] test metrics::registry::tests::test_new_registry_initializes_correctly ... ok [INFO] [stdout] test metrics::registry::tests::test_record_collection_cycle_duration_sets_gauge ... ok [INFO] [stdout] test metrics::registry::tests::test_interface_labels_with_metrics ... ok [INFO] [stdout] test metrics::registry::tests::test_record_scrape_error_increments ... ok [INFO] [stdout] test metrics::registry::tests::test_connection_tracking_multi_router ... ok [INFO] [stdout] test metrics::registry::tests::test_concurrent_updates ... ok [INFO] [stdout] test config::tests::test::test_multiple_routers_deserialize ... ok [INFO] [stdout] test config::tests::test::test_from_env_defaults_without_router ... ok [INFO] [stdout] test metrics::registry::tests::test_encode_metrics_contains_expected_names ... ok [INFO] [stdout] test metrics::registry::tests::test_system_metrics_gauge_values ... ok [INFO] [stdout] test metrics::registry::tests::test_system_info_no_reset_when_unchanged ... ok [INFO] [stdout] test metrics::registry::tests::test_system_info_stale_label_reset_on_version_change ... ok [INFO] [stdout] test metrics::registry::tests::test_update_metrics_baseline_skips_counters ... ok [INFO] [stdout] test metrics::registry::tests::test_update_connection_errors_sets_gauge ... ok [INFO] [stdout] test metrics::registry::tests::test_update_metrics_counter_reset ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_valid_name_with_hyphen ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_invalid_port_out_of_range ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_valid_ipv6_address ... ok [INFO] [stdout] test metrics::registry::tests::test_update_metrics_first_time ... ok [INFO] [stdout] test metrics::registry::tests::test_update_metrics_with_deltas ... ok [INFO] [stdout] test metrics::labels::tests::test_interface_labels_creation ... ok [INFO] [stdout] test metrics::tests::test::test_interface_labels_equality ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_dhms ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_hhmmss ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_seconds_only ... ok [INFO] [stdout] test mikrotik::connection::protocol::tests::test_encode_length_extremely_large ... ok [INFO] [stdout] test mikrotik::connection::protocol::tests::test_encode_length_large ... ok [INFO] [stdout] test mikrotik::connection::protocol::tests::test_encode_length_medium ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_weeks ... ok [INFO] [stdout] test metrics::tests::test::test_router_labels_hash ... ok [INFO] [stdout] test mikrotik::client::tests::test_mikrotik_client_creation ... ok [INFO] [stdout] test metrics::registry::tests::test_update_pool_stats_sets_gauges ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_empty ... ok [INFO] [stdout] test mikrotik::connection::auth::tests::test_build_legacy_response_invalid_hex ... ok [INFO] [stdout] test mikrotik::connection::protocol::tests::test_encode_length_small ... ok [INFO] [stdout] test mikrotik::pool::tests::test_cleanup_empty_pool ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_pool_default ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_pool_new ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_state_backoff_delay ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_state_new ... ok [INFO] [stdout] test metrics::tests::test::test_parse_uptime_mmss ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_pool_stats_empty ... ok [INFO] [stdout] test mikrotik::connection::auth::tests::test_build_legacy_response_known_values ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_state_record_error ... ok [INFO] [stdout] test mikrotik::client::tests::test_collect_metrics_returns_error_on_failure ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_username_too_long ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_state_should_skip_attempt ... ok [INFO] [stdout] test mikrotik::pool::tests::test_record_success ... ok [INFO] [stdout] test mikrotik::pool::tests::test_get_connection_state ... ok [INFO] [stdout] test metrics::registry::tests::test_record_scrape_success_increments ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificate_expiry_invalid_format ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificate_expiry_valid ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_aggregate_same_source ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_different_protocols ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_legacy_format ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_new_format ... ok [INFO] [stdout] test config::tests::test::test_router_config_validate_valid ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_prefer_new_format ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_skip_invalid ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_skip_missing_fields ... ok [INFO] [stdout] test mikrotik::responses::certificates::tests::test_parse_certificates_with_expired ... ok [INFO] [stdout] test mikrotik::pool::tests::test_record_error ... ok [INFO] [stdout] test mikrotik::pool::tests::test_connection_state_record_success ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_ipv6 ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_no_protocol ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_missing_src_address ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_single ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_empty ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_multiple ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_missing_values ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_no_action ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_no_chain ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_without_stats_fields ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_complete ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_filters_peers ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_with_stats_fields ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_no_id ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_no_name ... ok [INFO] [stdout] test mikrotik::responses::system::tests::test_parse_system_empty ... ok [INFO] [stdout] test mikrotik::responses::system::tests::test_parse_system_complete ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_empty ... ok [INFO] [stdout] test mikrotik::responses::system::tests::test_parse_system_partial ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_handshake_to_timestamp ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_no_type ... ok [INFO] [stdout] test mikrotik::responses::conntrack::tests::test_parse_connection_tracking_empty ... ok [INFO] [stdout] test mikrotik::responses::firewall::tests::test_parse_firewall_rules_disabled ... ok [INFO] [stdout] test mikrotik::responses::interfaces::tests::test_parse_interfaces_missing_values ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_routeros_duration ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_current_endpoint_only ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_get_field_value ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_invalid_numbers ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_missing_allowed_address ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_empty ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_missing_fields ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_missing_interface ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_single ... ok [INFO] [stdout] test mikrotik::types::tests::test_interface_stats_creation ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_with_handshake ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_multiple ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_missing_name_field ... ok [INFO] [stdout] test mikrotik::types::tests::test_interface_stats_clone ... ok [INFO] [stdout] test mikrotik::types::tests::test_system_resource_creation ... ok [INFO] [stdout] test mikrotik::types::tests::test_router_metrics_creation ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_routeros_duration_overflow_protection ... ok [INFO] [stdout] test mikrotik::responses::wireguard::tests::test_parse_wireguard_peers_disabled ... ok [INFO] [stdout] test collector::cleanup::tests::test_cleanup_task_respects_shutdown_signal ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mikrotik_exporter-4d29334dad4b8a7d) [INFO] [stdout] [INFO] [stderr] Running tests/http_endpoints.rs (/opt/rustwide/target/debug/deps/http_endpoints-9949092dc4ed3e31) [INFO] [stdout] test result: ok. 138 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s [INFO] [stdout] [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 13 tests [INFO] [stdout] test health_returns_200_for_empty_config ... ok [INFO] [stdout] test health_returns_degraded_on_errors_without_success ... ok [INFO] [stdout] test health_multi_router_partial_degradation ... ok [INFO] [stdout] test health_returns_degraded_with_multiple_errors ... ok [INFO] [stdout] test health_returns_degraded_when_all_routers_fail ... ok [INFO] [stdout] test health_returns_healthy_after_successful_scrape ... ok [INFO] [stdout] test metrics_contains_registered_metric_names ... ok [INFO] [stdout] test health_returns_unknown_before_first_scrape ... ok [INFO] [stdout] test metrics_endpoint_handles_empty_router_list ... ok [INFO] [stdout] test metrics_returns_200_with_openmetrics_content_type ... ok [INFO] [stdout] test metrics_correctly_calculates_interface_counters ... ok [INFO] [stderr] Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-e6088cb8ad1a0457) [INFO] [stdout] test unknown_route_returns_404 ... ok [INFO] [stdout] test metrics_contains_router_data_after_update ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_connection_pool_basic_functionality ... ok [INFO] [stderr] Running tests/protocol.rs (/opt/rustwide/target/debug/deps/protocol-495ec19447524573) [INFO] [stdout] test test_environment_variables_loaded ... ok [INFO] [stdout] test test_metrics_registry_cycle_duration ... ok [INFO] [stdout] test test_metrics_registry_pool_stats ... ok [INFO] [stdout] test test_metrics_registry_scrape_recording ... ok [INFO] [stdout] test test_metrics_update_and_retrieval ... ok [INFO] [stdout] test test_metrics_registry_initialization ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_encode_decode_roundtrip ... ok [INFO] [stdout] test test_encode_length_boundary_values ... ok [INFO] [stdout] test test_encode_length ... ok [INFO] [stdout] test test_encode_length_known_values ... ok [INFO] [stdout] test proptests::encode_decode_roundtrip_proptest ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Doc-tests mikrotik_exporter [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/lib.rs - (line 44) - compile ... ok [INFO] [stdout] test src/config/mod.rs - config::Config::from_env (line 227) - compile ... ok [INFO] [stdout] test src/config/mod.rs - config::RouterConfig::validate (line 65) ... ok [INFO] [stdout] test src/prelude.rs - prelude (line 9) ... ok [INFO] [stdout] test src/config/mod.rs - config::Config::test_router_connectivity (line 351) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.42s; merged doctests compilation took 1.40s [INFO] running `Command { std: "docker" "inspect" "e00f82800c21f1f1bd0cf89f01a8fbb69c6ddf7852e0073770670f975a27cc0c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e00f82800c21f1f1bd0cf89f01a8fbb69c6ddf7852e0073770670f975a27cc0c", kill_on_drop: false }` [INFO] [stdout] e00f82800c21f1f1bd0cf89f01a8fbb69c6ddf7852e0073770670f975a27cc0c