[INFO] fetching crate unifi-cli 0.1.6... [INFO] testing unifi-cli-0.1.6 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate unifi-cli 0.1.6 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate unifi-cli 0.1.6 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate unifi-cli 0.1.6 [INFO] tweaked toml for crates.io crate unifi-cli 0.1.6 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate unifi-cli 0.1.6 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 unifi-cli 0.1.6 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] warning: file `/workspace/builds/worker-3-tc1/source/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `unifi` [INFO] [stderr] * `bin` target `unifi-cli` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded psl-types v2.0.11 [INFO] [stderr] Downloaded publicsuffix v2.3.0 [INFO] [stderr] Downloaded cookie_store v0.22.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 0fb0ebe35b9750a72dae4e171e5b04194acec0bdd00947edf40dad91a192a4f4 [INFO] running `Command { std: "docker" "start" "-a" "0fb0ebe35b9750a72dae4e171e5b04194acec0bdd00947edf40dad91a192a4f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0fb0ebe35b9750a72dae4e171e5b04194acec0bdd00947edf40dad91a192a4f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0fb0ebe35b9750a72dae4e171e5b04194acec0bdd00947edf40dad91a192a4f4", kill_on_drop: false }` [INFO] [stdout] 0fb0ebe35b9750a72dae4e171e5b04194acec0bdd00947edf40dad91a192a4f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 42fbb84c8cc76b688e7cafd186be9981b60cf672aaa6248101aa63d0e92c0b78 [INFO] running `Command { std: "docker" "start" "-a" "42fbb84c8cc76b688e7cafd186be9981b60cf672aaa6248101aa63d0e92c0b78", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `unifi` [INFO] [stderr] * `bin` target `unifi-cli` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cc v1.2.57 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling cookie v0.18.1 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling psl-types v2.0.11 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling owo-colors v4.3.0 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling clap_complete v4.6.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [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 publicsuffix v2.3.0 [INFO] [stderr] Compiling cookie_store v0.22.1 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling unifi-cli v0.1.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 58.11s [INFO] running `Command { std: "docker" "inspect" "42fbb84c8cc76b688e7cafd186be9981b60cf672aaa6248101aa63d0e92c0b78", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "42fbb84c8cc76b688e7cafd186be9981b60cf672aaa6248101aa63d0e92c0b78", kill_on_drop: false }` [INFO] [stdout] 42fbb84c8cc76b688e7cafd186be9981b60cf672aaa6248101aa63d0e92c0b78 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] fdc3490f18a2de3a920919f40d01cd322385b4a83bd0a89a581a7be93267b38f [INFO] running `Command { std: "docker" "start" "-a" "fdc3490f18a2de3a920919f40d01cd322385b4a83bd0a89a581a7be93267b38f", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `unifi` [INFO] [stderr] * `bin` target `unifi-cli` [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling cookie_store v0.22.1 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling unifi-cli v0.1.6 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 31.54s [INFO] running `Command { std: "docker" "inspect" "fdc3490f18a2de3a920919f40d01cd322385b4a83bd0a89a581a7be93267b38f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdc3490f18a2de3a920919f40d01cd322385b4a83bd0a89a581a7be93267b38f", kill_on_drop: false }` [INFO] [stdout] fdc3490f18a2de3a920919f40d01cd322385b4a83bd0a89a581a7be93267b38f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] ff40c3c53541c4501c4d50ff258fbfa21a510cc85d3503178b974b86582c480a [INFO] running `Command { std: "docker" "start" "-a" "ff40c3c53541c4501c4d50ff258fbfa21a510cc85d3503178b974b86582c480a", kill_on_drop: false }` [INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets: [INFO] [stderr] * `bin` target `unifi` [INFO] [stderr] * `bin` target `unifi-cli` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.37s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/unifi_cli-d692b9b3f0d59f15) [INFO] [stdout] [INFO] [stdout] running 148 tests [INFO] [stdout] test api::types::tests::api_error_display_api ... ok [INFO] [stdout] test api::types::tests::api_error_display_not_found ... ok [INFO] [stdout] test api::types::tests::client_clean_name_hyphenated_not_stripped ... ok [INFO] [stdout] test api::types::tests::api_error_display_http ... ok [INFO] [stdout] test api::types::tests::client_clean_name_no_mac ... ok [INFO] [stdout] test api::types::tests::api_error_display_other ... ok [INFO] [stdout] test api::types::tests::client_clean_name_no_suffix_to_strip ... ok [INFO] [stdout] test api::types::tests::client_clean_name_no_name_no_hostname ... ok [INFO] [stdout] test api::types::tests::api_error_display_auth ... ok [INFO] [stdout] test api::types::tests::client_clean_name_strips_suffix ... ok [INFO] [stdout] test api::types::tests::client_display_name_falls_back_to_dash ... ok [INFO] [stdout] test api::types::tests::client_display_name_falls_back_to_hostname ... ok [INFO] [stdout] test api::types::tests::deserialize_client_all_fields ... ok [INFO] [stdout] test api::types::tests::client_display_name_prefers_name ... ok [INFO] [stdout] test api::types::tests::deserialize_client_minimal ... ok [INFO] [stdout] test api::types::tests::deserialize_device ... ok [INFO] [stdout] test api::types::tests::deserialize_device_with_empty_port_table ... ok [INFO] [stdout] test api::types::tests::deserialize_network_defaults ... ok [INFO] [stdout] test api::types::tests::deserialize_legacy_response_ok ... ok [INFO] [stdout] test api::types::tests::deserialize_device_with_ports ... ok [INFO] [stdout] test api::types::tests::deserialize_event_minimal ... ok [INFO] [stdout] test api::types::tests::deserialize_health_wan ... ok [INFO] [stdout] test api::types::tests::deserialize_legacy_client_full ... ok [INFO] [stdout] test api::types::tests::deserialize_legacy_client_minimal ... ok [INFO] [stdout] test api::types::tests::client_clean_name_falls_back_to_hostname ... ok [INFO] [stdout] test api::types::tests::deserialize_legacy_device ... ok [INFO] [stdout] test api::types::tests::deserialize_health_lan ... ok [INFO] [stdout] test api::types::tests::deserialize_sysinfo ... ok [INFO] [stdout] test api::types::tests::deserialize_sysinfo_minimal ... ok [INFO] [stdout] test api::types::tests::format_bytes_bytes ... ok [INFO] [stdout] test api::types::tests::format_bytes_gigabytes ... ok [INFO] [stdout] test api::types::tests::format_bytes_kilobytes ... ok [INFO] [stdout] test api::types::tests::format_bytes_megabytes ... ok [INFO] [stdout] test api::types::tests::format_mac_from_dash_separated ... ok [INFO] [stdout] test api::types::tests::format_mac_from_colon_separated ... ok [INFO] [stdout] test api::types::tests::format_mac_from_clean ... ok [INFO] [stdout] test api::types::tests::format_uptime_days_hours_minutes ... ok [INFO] [stdout] test api::types::tests::format_mac_invalid_length_returns_original ... ok [INFO] [stdout] test api::types::tests::format_uptime_hours_and_minutes ... ok [INFO] [stdout] test api::types::tests::deserialize_site ... ok [INFO] [stdout] test api::types::tests::host_system_no_update ... ok [INFO] [stdout] test api::types::tests::deserialize_paginated_response_ignores_extra_fields ... ok [INFO] [stdout] test api::types::tests::format_uptime_minutes_only ... ok [INFO] [stdout] test api::types::tests::deserialize_legacy_response_error ... ok [INFO] [stdout] test api::types::tests::host_system_missing_state ... ok [INFO] [stdout] test api::types::tests::deserialize_port_entry_minimal ... ok [INFO] [stdout] test api::types::tests::legacy_client_clean_name_no_mac ... ok [INFO] [stdout] test api::types::tests::legacy_client_clean_name_no_suffix ... ok [INFO] [stdout] test api::types::tests::host_system_update_available ... ok [INFO] [stdout] test api::types::tests::legacy_client_clean_name_hostname_fallback ... ok [INFO] [stdout] test api::types::tests::legacy_client_display_name_falls_back_to_hostname ... ok [INFO] [stdout] test api::types::tests::deserialize_port_entry ... ok [INFO] [stdout] test api::types::tests::legacy_client_clean_name_strips_suffix ... ok [INFO] [stdout] test api::types::tests::legacy_client_display_name_prefers_name ... ok [INFO] [stdout] test api::types::tests::legacy_device_upgradable_false_explicit ... ok [INFO] [stdout] test api::types::tests::normalize_mac_colon_separated ... ok [INFO] [stdout] test api::types::tests::legacy_device_state_str ... ok [INFO] [stdout] test api::types::tests::normalize_mac_dash_separated ... ok [INFO] [stdout] test api::types::tests::legacy_device_upgradable_true ... ok [INFO] [stdout] test api::types::tests::deserialize_device_minimal ... ok [INFO] [stdout] test api::types::tests::normalize_mac_already_clean ... ok [INFO] [stdout] test api::types::tests::normalize_mac_mixed_separators ... ok [INFO] [stdout] test api::types::tests::deserialize_network ... ok [INFO] [stdout] test api::types::tests::normalize_mac_mixed_case ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_case_insensitive_mac ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_dash_separated_mac ... ok [INFO] [stdout] test api::types::tests::legacy_device_upgradable_false_by_default ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_none_mac_returns_original ... ok [INFO] [stdout] test commands::clients::tests::filter_by_name_case_insensitive ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_short_mac ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_name_is_just_the_suffix ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_empty_name ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_name_shorter_than_suffix ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_no_match_returns_original ... ok [INFO] [stdout] test commands::clients::tests::filter_by_name_no_match ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_partial_hex_in_name_not_stripped ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_removes_colon_suffix ... ok [INFO] [stdout] test api::types::tests::strip_mac_suffix_removes_no_colon_suffix ... ok [INFO] [stdout] test commands::clients::tests::filter_empty_list ... ok [INFO] [stdout] test commands::clients::tests::filter_name_matches_hostname_fallback ... ok [INFO] [stdout] test commands::clients::tests::total_bytes_both_present ... ok [INFO] [stdout] test commands::events::tests::truncate_empty_string ... ok [INFO] [stdout] test commands::clients::tests::total_bytes_none_values ... ok [INFO] [stdout] test commands::clients::tests::total_bytes_partial ... ok [INFO] [stdout] test commands::clients::tests::filter_no_constraints ... ok [INFO] [stdout] test commands::clients::tests::filter_wired_only ... ok [INFO] [stdout] test commands::events::tests::truncate_exact_length ... ok [INFO] [stdout] test commands::events::tests::truncate_long_string ... ok [INFO] [stdout] test commands::events::tests::truncate_max_zero ... ok [INFO] [stdout] test commands::events::tests::truncate_one_over ... ok [INFO] [stdout] test commands::events::tests::truncate_short_string ... ok [INFO] [stdout] test commands::events::tests::truncate_unicode_exact ... ok [INFO] [stdout] test output::tests::exit_code_for_api_error ... ok [INFO] [stdout] test output::tests::exit_code_for_auth_error ... ok [INFO] [stdout] test output::tests::exit_code_for_other_error ... ok [INFO] [stdout] test output::tests::exit_code_for_non_api_error ... ok [INFO] [stdout] test output::tests::exit_code_for_not_found ... ok [INFO] [stdout] test tui::tests::device_state_str_values ... ok [INFO] [stdout] test tui::tests::ensure_client_visible_no_scroll_needed ... ok [INFO] [stdout] test tui::tests::default_focus_is_clients ... ok [INFO] [stdout] test tui::tests::app_state_scroll_bounds ... ok [INFO] [stdout] test tui::tests::device_scroll_bounds ... ok [INFO] [stdout] test tui::tests::filter_mode_toggle ... ok [INFO] [stdout] test commands::events::tests::truncate_unicode ... ok [INFO] [stdout] test tui::tests::filter_starts_empty ... ok [INFO] [stdout] test tui::tests::format_rate_gigabytes ... ok [INFO] [stdout] test tui::tests::ap_devices_filters_by_type ... ok [INFO] [stdout] test tui::tests::format_rate_kilobytes ... ok [INFO] [stdout] test tui::tests::ensure_client_visible_scrolls_down ... ok [INFO] [stdout] test commands::events::tests::truncate_max_one ... ok [INFO] [stdout] test tui::tests::format_rate_bytes ... ok [INFO] [stdout] test tui::tests::ip_sort_key_empty ... ok [INFO] [stdout] test tui::tests::ip_sort_key_non_ip ... ok [INFO] [stdout] test tui::tests::ip_sort_key_partial ... ok [INFO] [stdout] test tui::tests::format_rate_megabytes ... ok [INFO] [stdout] test tui::tests::overlay_client_detail ... ok [INFO] [stdout] test tui::tests::ensure_client_visible_scrolls_up ... ok [INFO] [stdout] test tui::tests::format_rate_zero ... ok [INFO] [stdout] test tui::tests::overlay_device_detail ... ok [INFO] [stdout] test tui::tests::ensure_client_visible_zero_height ... ok [INFO] [stdout] test tui::tests::overlay_starts_none ... ok [INFO] [stdout] test tui::tests::initial_state_is_loading ... ok [INFO] [stdout] test tui::tests::overlay_ap_picker ... ok [INFO] [stdout] test tui::tests::overlay_confirm ... ok [INFO] [stdout] test tui::tests::page_down_capped_at_max ... ok [INFO] [stdout] test tui::tests::ip_sort_key_ordering ... ok [INFO] [stdout] test tui::tests::page_down_clients ... ok [INFO] [stdout] test tui::tests::page_down_devices ... ok [INFO] [stdout] test tui::tests::page_up_clients ... ok [INFO] [stdout] test api::types::tests::legacy_device_no_state ... ok [INFO] [stdout] test tui::tests::page_up_devices ... ok [INFO] [stdout] test tui::tests::rebuild_device_names_skips_nameless ... ok [INFO] [stdout] test tui::tests::rebuild_device_names_maps_mac_to_name ... ok [INFO] [stdout] test tui::tests::sorted_clients_by_ip ... ok [INFO] [stdout] test tui::tests::sorted_clients_filter_by_ip ... ok [INFO] [stdout] test tui::tests::sort_mode_cycles ... ok [INFO] [stdout] test tui::tests::sort_mode_labels ... ok [INFO] [stdout] test tui::tests::sorted_clients_empty_filter_returns_all ... ok [INFO] [stdout] test tui::tests::sorted_clients_bandwidth_default ... ok [INFO] [stdout] test tui::tests::sorted_clients_by_name ... ok [INFO] [stdout] test api::types::tests::deserialize_event ... ok [INFO] [stdout] test commands::clients::tests::filter_combined_type_and_name ... ok [INFO] [stdout] test commands::clients::tests::filter_wireless_only ... ok [INFO] [stdout] test tui::tests::sorted_clients_filter_by_mac ... ok [INFO] [stdout] test api::types::tests::deserialize_health_wlan ... ok [INFO] [stdout] test tui::tests::sorted_clients_filter_by_name ... ok [INFO] [stdout] test tui::tests::tab_toggles_focus ... ok [INFO] [stdout] test api::types::tests::deserialize_paginated_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/unifi-f6e714ee12903406) [INFO] [stdout] [INFO] [stdout] running 89 tests [INFO] [stdout] test tests::cli_clients_kick ... ok [INFO] [stdout] test tests::cli_clients_block ... ok [INFO] [stdout] test tests::cli_clients_top ... ok [INFO] [stdout] test tests::cli_clients_list_name_filter ... ok [INFO] [stdout] test tests::cli_completions ... ok [INFO] [stdout] test tests::cli_completions_install ... ok [INFO] [stdout] test tests::cli_clients_unblock ... ok [INFO] [stdout] test tests::cli_clients_show ... ok [INFO] [stdout] test tests::cli_clients_set_fixed_ip_without_name ... ok [INFO] [stdout] test tests::cli_clients_list ... ok [INFO] [stdout] test tests::cli_devices_ports_live ... ok [INFO] [stdout] test tests::cli_clients_list_wired_flag ... ok [INFO] [stdout] test tests::cli_devices_restart ... ok [INFO] [stdout] test tests::cli_clients_list_watch ... ok [INFO] [stdout] test tests::cli_devices_list ... ok [INFO] [stdout] test tests::cli_clients_set_fixed_ip_with_name ... ok [INFO] [stdout] test tests::cli_devices_locate_off ... ok [INFO] [stdout] test tests::cli_devices_locate_on ... ok [INFO] [stdout] test tests::cli_config_check ... ok [INFO] [stdout] test tests::cli_devices_ports ... ok [INFO] [stdout] test tests::cli_host_and_key_optional ... ok [INFO] [stdout] test tests::cli_devices_show ... ok [INFO] [stdout] test tests::cli_json_flag ... ok [INFO] [stdout] test tests::cli_events_list_custom_limit ... ok [INFO] [stdout] test tests::cli_clients_top_custom_limit ... ok [INFO] [stdout] test tests::cli_networks ... ok [INFO] [stdout] test tests::cli_json_flag_after_subcommand ... ok [INFO] [stdout] test tests::cli_events_list ... ok [INFO] [stdout] test tests::cli_tui_default_interval ... ok [INFO] [stdout] test tests::cli_tui_custom_interval ... ok [INFO] [stdout] test tests::cli_config_init ... ok [INFO] [stdout] test tests::cli_profile_default_none ... ok [INFO] [stdout] test tests::cli_profile_flag ... ok [INFO] [stdout] test tests::cli_devices_upgrade ... ok [INFO] [stdout] test tests::cli_quiet_flag ... ok [INFO] [stdout] test tests::cli_schema_no_host_required ... ok [INFO] [stdout] test tests::cli_schema_command ... ok [INFO] [stdout] test tests::cli_system_health ... ok [INFO] [stdout] test tests::cli_system_info ... ok [INFO] [stdout] test tests::client_new_adds_https_for_bare_host ... ok [INFO] [stdout] test tests::client_new_preserves_http ... ok [INFO] [stdout] test tests::client_new_adds_https_for_ip ... ok [INFO] [stdout] test tests::error_for_status_200_returns_api_error ... ok [INFO] [stdout] test tests::cli_wired_and_wireless_conflict ... ok [INFO] [stdout] test tests::error_for_status_403_returns_auth ... ok [INFO] [stdout] test tests::error_for_status_404_returns_not_found ... ok [INFO] [stdout] test tests::error_for_status_500_returns_api_error ... ok [INFO] [stdout] test tests::extract_credentials_empty_table ... ok [INFO] [stdout] test tests::extract_credentials_both ... ok [INFO] [stdout] test tests::extract_credentials_non_string_values ... ok [INFO] [stdout] test tests::cli_top_alias_for_tui ... ok [INFO] [stdout] test tests::error_for_status_401_returns_auth ... ok [INFO] [stdout] test tests::client_new_preserves_https ... ok [INFO] [stdout] test tests::client_new_strips_trailing_slash ... ok [INFO] [stdout] test tests::init_accepts_mixed_case_yes ... ok [INFO] [stdout] test tests::init_api_key_required_when_no_existing ... ok [INFO] [stdout] test tests::load_config_default_ignores_profiles ... ok [INFO] [stdout] test tests::init_fresh_default_profile ... ok [INFO] [stdout] test tests::init_host_required_when_no_existing ... ok [INFO] [stdout] test tests::init_shows_summary_before_confirm ... ok [INFO] [stdout] test tests::load_config_empty_file ... ok [INFO] [stdout] test tests::init_warns_on_corrupt_existing_config ... ok [INFO] [stdout] test tests::load_config_extra_keys_ignored ... ok [INFO] [stdout] test tests::init_preserves_existing_default_when_adding_profile ... ok [INFO] [stdout] test tests::load_config_both_values ... ok [INFO] [stdout] test tests::init_cancelled ... ok [INFO] [stdout] test tests::init_shows_masked_key_in_prompt ... ok [INFO] [stdout] test tests::load_config_host_only ... ok [INFO] [stdout] test tests::init_keeps_existing_value_on_empty_input ... ok [INFO] [stdout] test tests::load_config_multiple_profiles ... ok [INFO] [stdout] test tests::load_config_named_profile ... ok [INFO] [stdout] test tests::init_fresh_named_profile ... ok [INFO] [stdout] test tests::mask_api_key_long ... ok [INFO] [stdout] test tests::load_config_invalid_toml ... ok [INFO] [stdout] test tests::load_config_missing_file ... ok [INFO] [stdout] test tests::load_config_missing_profile_returns_none ... ok [INFO] [stdout] test tests::load_config_profile_partial_creds ... ok [INFO] [stdout] test tests::load_config_profile_with_special_chars ... ok [INFO] [stdout] test tests::mask_api_key_empty ... ok [INFO] [stdout] test tests::mask_api_key_exactly_eight ... ok [INFO] [stdout] test tests::load_config_profile_only_no_default ... ok [INFO] [stdout] test tests::init_overwrites_existing_value ... ok [INFO] [stdout] test tests::mask_api_key_nine_chars ... ok [INFO] [stdout] test tests::mask_api_key_short ... ok [INFO] [stdout] test tests::resolve_profile_table_missing_returns_none ... ok [INFO] [stdout] test tests::mask_api_key_unicode ... ok [INFO] [stdout] test tests::resolve_profile_table_named_returns_profile ... ok [INFO] [stdout] test tests::resolve_profile_table_none_returns_root ... ok [INFO] [stdout] test tests::cli_missing_subcommand_fails ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/unifi_cli-d2d947a505d88b91) [INFO] [stdout] [INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 89 tests [INFO] [stdout] test tests::cli_clients_list_wired_flag ... ok [INFO] [stdout] test tests::cli_clients_kick ... ok [INFO] [stdout] test tests::cli_clients_list_name_filter ... ok [INFO] [stdout] test tests::cli_clients_list_watch ... ok [INFO] [stdout] test tests::cli_clients_show ... ok [INFO] [stdout] test tests::cli_clients_set_fixed_ip_with_name ... ok [INFO] [stdout] test tests::cli_clients_set_fixed_ip_without_name ... ok [INFO] [stdout] test tests::cli_clients_top_custom_limit ... ok [INFO] [stdout] test tests::cli_completions ... ok [INFO] [stdout] test tests::cli_clients_unblock ... ok [INFO] [stdout] test tests::cli_config_init ... ok [INFO] [stdout] test tests::cli_completions_install ... ok [INFO] [stdout] test tests::cli_host_and_key_optional ... ok [INFO] [stdout] test tests::cli_config_check ... ok [INFO] [stdout] test tests::cli_devices_show ... ok [INFO] [stdout] test tests::cli_devices_ports_live ... ok [INFO] [stdout] test tests::cli_events_list_custom_limit ... ok [INFO] [stdout] test tests::cli_clients_top ... ok [INFO] [stdout] test tests::cli_json_flag ... ok [INFO] [stdout] test tests::cli_clients_list ... ok [INFO] [stdout] test tests::cli_json_flag_after_subcommand ... ok [INFO] [stdout] test tests::cli_missing_subcommand_fails ... ok [INFO] [stdout] test tests::cli_profile_flag ... ok [INFO] [stdout] test tests::cli_profile_default_none ... ok [INFO] [stdout] test tests::cli_quiet_flag ... ok [INFO] [stdout] test tests::cli_schema_command ... ok [INFO] [stdout] test tests::cli_networks ... ok [INFO] [stdout] test tests::cli_schema_no_host_required ... ok [INFO] [stdout] test tests::cli_system_health ... ok [INFO] [stdout] test tests::client_new_adds_https_for_bare_host ... ok [INFO] [stdout] test tests::cli_tui_custom_interval ... ok [INFO] [stdout] test tests::cli_top_alias_for_tui ... ok [INFO] [stdout] test tests::cli_tui_default_interval ... ok [INFO] [stdout] test tests::error_for_status_401_returns_auth ... ok [INFO] [stdout] test tests::cli_devices_list ... ok [INFO] [stdout] test tests::cli_system_info ... ok [INFO] [stdout] test tests::error_for_status_404_returns_not_found ... ok [INFO] [stdout] test tests::error_for_status_403_returns_auth ... ok [INFO] [stdout] test tests::client_new_adds_https_for_ip ... ok [INFO] [stdout] test tests::client_new_preserves_http ... ok [INFO] [stdout] test tests::cli_devices_upgrade ... ok [INFO] [stdout] test tests::cli_wired_and_wireless_conflict ... ok [INFO] [stdout] test tests::client_new_preserves_https ... ok [INFO] [stdout] test tests::cli_devices_ports ... ok [INFO] [stdout] test tests::client_new_strips_trailing_slash ... ok [INFO] [stdout] test tests::error_for_status_200_returns_api_error ... ok [INFO] [stdout] test tests::error_for_status_500_returns_api_error ... ok [INFO] [stdout] test tests::extract_credentials_both ... ok [INFO] [stdout] test tests::init_api_key_required_when_no_existing ... ok [INFO] [stdout] test tests::extract_credentials_empty_table ... ok [INFO] [stdout] test tests::init_fresh_named_profile ... ok [INFO] [stdout] test tests::init_host_required_when_no_existing ... ok [INFO] [stdout] test tests::extract_credentials_non_string_values ... ok [INFO] [stdout] test tests::init_shows_summary_before_confirm ... ok [INFO] [stdout] test tests::load_config_both_values ... ok [INFO] [stdout] test tests::init_preserves_existing_default_when_adding_profile ... ok [INFO] [stdout] test tests::init_fresh_default_profile ... ok [INFO] [stdout] test tests::init_accepts_mixed_case_yes ... ok [INFO] [stdout] test tests::init_keeps_existing_value_on_empty_input ... ok [INFO] [stdout] test tests::init_shows_masked_key_in_prompt ... ok [INFO] [stdout] test tests::init_overwrites_existing_value ... ok [INFO] [stdout] test tests::init_warns_on_corrupt_existing_config ... ok [INFO] [stdout] test tests::load_config_extra_keys_ignored ... ok [INFO] [stdout] test tests::load_config_empty_file ... ok [INFO] [stdout] test tests::load_config_default_ignores_profiles ... ok [INFO] [stdout] test tests::load_config_host_only ... ok [INFO] [stdout] test tests::init_cancelled ... ok [INFO] [stdout] test tests::mask_api_key_empty ... ok [INFO] [stdout] test tests::load_config_missing_file ... ok [INFO] [stdout] test tests::mask_api_key_exactly_eight ... ok [INFO] [stdout] test tests::load_config_missing_profile_returns_none ... ok [INFO] [stdout] test tests::load_config_invalid_toml ... ok [INFO] [stdout] test tests::load_config_named_profile ... ok [INFO] [stdout] test tests::load_config_multiple_profiles ... ok [INFO] [stdout] test tests::load_config_profile_only_no_default ... ok [INFO] [stdout] test tests::load_config_profile_with_special_chars ... ok [INFO] [stdout] test tests::mask_api_key_nine_chars ... ok [INFO] [stdout] test tests::resolve_profile_table_none_returns_root ... ok [INFO] [stdout] test tests::load_config_profile_partial_creds ... ok [INFO] [stdout] test tests::mask_api_key_unicode ... ok [INFO] [stdout] test tests::mask_api_key_long ... ok [INFO] [stdout] test tests::mask_api_key_short ... ok [INFO] [stdout] test tests::resolve_profile_table_missing_returns_none ... ok [INFO] [stdout] test tests::resolve_profile_table_named_returns_profile ... ok [INFO] [stdout] test tests::cli_clients_block ... ok [INFO] [stderr] Running tests/mock_server.rs (/opt/rustwide/target/debug/deps/mock_server-c1abefc6a4699010) [INFO] [stdout] test tests::cli_devices_locate_off ... ok [INFO] [stdout] test tests::cli_devices_locate_on ... ok [INFO] [stdout] test tests::cli_events_list ... ok [INFO] [stdout] test tests::cli_devices_restart ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 89 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 75 tests [INFO] [stdout] test client_api::get_client_detail_accepts_dash_format ... ok [INFO] [stdout] test client_api::get_sysinfo_empty_data ... ok [INFO] [stdout] test client_api::get_sysinfo_returns_info ... ok [INFO] [stdout] test client_api::get_health_returns_subsystems ... ok [INFO] [stdout] test client_api::locate_device_disable ... ok [INFO] [stdout] test client_construction::new_strips_trailing_slash ... ok [INFO] [stdout] test client_construction::new_with_bare_host ... ok [INFO] [stdout] test client_construction::new_with_http_host ... ok [INFO] [stdout] test client_construction::new_with_https_host ... ok [INFO] [stdout] test client_construction::new_with_invalid_api_key ... ok [INFO] [stdout] test client_api::list_networks_returns_networks ... ok [INFO] [stdout] test client_api::restart_device_sends_correct_command ... ok [INFO] [stdout] test client_api::kick_client_sends_correct_command ... ok [INFO] [stdout] test client_api::locate_device_enable ... ok [INFO] [stdout] test command_output::clients_kick_output ... ok [INFO] [stdout] test command_output::clients_block_output ... ok [INFO] [stdout] test client_api::block_client_sends_correct_command ... ok [INFO] [stdout] test client_api::set_fixed_ip_client_not_found ... ok [INFO] [stdout] test client_api::list_devices_returns_devices ... ok [INFO] [stdout] test client_api::get_client_detail_not_found ... ok [INFO] [stdout] test client_api::unblock_client_sends_correct_command ... ok [INFO] [stdout] test client_api::list_clients_returns_paginated_results ... ok [INFO] [stdout] test client_api::list_clients_handles_pagination ... ok [INFO] [stdout] test command_output::clients_top_table ... ok [INFO] [stdout] test command_output::clients_top_json ... ok [INFO] [stdout] test command_output::clients_set_fixed_ip_with_name_output ... ok [INFO] [stdout] test command_output::clients_show_json ... ok [INFO] [stdout] test command_output::devices_list_table ... ok [INFO] [stdout] test command_output::devices_list_json ... ok [INFO] [stdout] test command_output::clients_set_fixed_ip_output ... ok [INFO] [stdout] test command_output::clients_show_wired_table ... ok [INFO] [stdout] test command_output::clients_unblock_output ... ok [INFO] [stdout] test command_output::clients_show_wireless_table ... ok [INFO] [stdout] test command_output::devices_locate_on_output ... ok [INFO] [stdout] test command_output::devices_show_json ... ok [INFO] [stdout] test command_output::devices_locate_off_output ... ok [INFO] [stdout] test command_output::devices_ports_empty_port_table ... ok [INFO] [stdout] test command_output::devices_show_not_found ... ok [INFO] [stdout] test command_output::clients_list_json ... ok [INFO] [stdout] test command_output::devices_ports_json ... ok [INFO] [stdout] test command_output::devices_restart_output ... ok [INFO] [stdout] test command_output::devices_ports_table ... ok [INFO] [stdout] test command_output::clients_list_name_filter ... ok [INFO] [stdout] test command_output::devices_ports_not_found ... ok [INFO] [stdout] test command_output::devices_upgrade_json ... ok [INFO] [stdout] test command_output::devices_show_table ... ok [INFO] [stdout] test command_output::clients_list_table ... ok [INFO] [stdout] test command_output::events_list_table ... ok [INFO] [stdout] test command_output::clients_list_wireless_filter ... ok [INFO] [stdout] test command_output::events_list_json ... ok [INFO] [stdout] test command_output::system_health_table ... ok [INFO] [stdout] test command_output::clients_list_wired_filter ... ok [INFO] [stdout] test command_output::system_health_json ... ok [INFO] [stdout] test command_output::devices_upgrade_output ... ok [INFO] [stdout] test command_output::networks_list_json ... ok [INFO] [stdout] test command_output::system_info_table ... ok [INFO] [stdout] test command_output::system_info_json ... ok [INFO] [stdout] test error_handling::api_returns_500_server_error ... ok [INFO] [stdout] test command_output::networks_list_table ... ok [INFO] [stdout] test command_output::system_info_partial_fields ... ok [INFO] [stdout] test error_handling::get_device_ports_field_values ... ok [INFO] [stdout] test error_handling::legacy_api_returns_error_rc ... ok [INFO] [stdout] test error_handling::get_device_ports_not_found ... ok [INFO] [stdout] test error_handling::post_command_returns_error ... ok [INFO] [stdout] test error_handling::get_device_ports_finds_by_mac ... ok [INFO] [stdout] test error_handling::list_clients_legacy_returns_clients ... ok [INFO] [stdout] test error_handling::legacy_api_error_without_message ... ok [INFO] [stdout] test error_handling::list_events_returns_events ... ok [INFO] [stdout] test error_handling::list_clients_legacy_sorted_by_bandwidth_descending ... ok [INFO] [stdout] test error_handling::no_sites_found ... ok [INFO] [stdout] test error_handling::api_returns_401_unauthorized ... ok [INFO] [stdout] test client_api::get_client_detail_finds_by_mac ... ok [INFO] [stdout] test client_api::upgrade_device_sends_correct_command ... ok [INFO] [stdout] test client_api::set_fixed_ip_via_put ... ok [INFO] [stdout] test client_api::set_fixed_ip_falls_back_to_post_on_404 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 75 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] [stderr] Doc-tests unifi_cli [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] running `Command { std: "docker" "inspect" "ff40c3c53541c4501c4d50ff258fbfa21a510cc85d3503178b974b86582c480a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ff40c3c53541c4501c4d50ff258fbfa21a510cc85d3503178b974b86582c480a", kill_on_drop: false }` [INFO] [stdout] ff40c3c53541c4501c4d50ff258fbfa21a510cc85d3503178b974b86582c480a