[INFO] fetching crate bus-exporter 0.4.3...
[INFO] testing bus-exporter-0.4.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate bus-exporter 0.4.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate bus-exporter 0.4.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate bus-exporter 0.4.3
[INFO] tweaked toml for crates.io crate bus-exporter 0.4.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate bus-exporter 0.4.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 bus-exporter 0.4.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] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:141:12
[INFO] [stderr]     |
[INFO] [stderr] 141 | homepage = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 | repository = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |              --------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4
[INFO] running `Command { std: "docker" "start" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", 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" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4" "/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" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", 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" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:141:12
[INFO] [stderr]     |
[INFO] [stderr] 141 | homepage = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 | repository = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |              --------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling cc v1.2.59
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling rustls v0.22.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling prometheus-client v0.23.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling rustls-native-certs v0.7.3
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling hostname v0.4.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling indexmap v2.13.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling syslog v7.0.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling tokio v1.51.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling prometheus-client-derive-encode v0.4.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unescaper v0.1.8
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling serialport v4.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling spidev v0.6.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling opentelemetry v0.29.1
[INFO] [stderr]    Compiling mio-serial v5.0.6
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling opentelemetry_sdk v0.29.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[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 hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-serial v5.4.5
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling tokio-modbus v0.14.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling opentelemetry-proto v0.29.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling rustls-webpki v0.102.8
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling tokio-rustls v0.25.0
[INFO] [stderr]    Compiling rumqttc v0.24.0
[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 opentelemetry-http v0.29.0
[INFO] [stderr]    Compiling opentelemetry-otlp v0.29.0
[INFO] [stderr]    Compiling bus-exporter v0.4.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `prometheus-client`
[INFO] [stderr]   --> Cargo.toml:52:15
[INFO] [stderr]    |
[INFO] [stderr] 52 | [dependencies.prometheus-client]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `prometheus-client`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 3m 12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", 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" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:141:12
[INFO] [stderr]     |
[INFO] [stderr] 141 | homepage = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 | repository = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |              --------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling spidev v0.6.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling libudev v0.3.0
[INFO] [stderr]    Compiling serialport v4.9.0
[INFO] [stderr]    Compiling mio-serial v5.0.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling rumqttc v0.24.0
[INFO] [stderr]    Compiling tokio-modbus v0.14.0
[INFO] [stderr]    Compiling opentelemetry_sdk v0.29.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tokio-serial v5.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling opentelemetry-proto v0.29.0
[INFO] [stderr]    Compiling opentelemetry-http v0.29.0
[INFO] [stderr]    Compiling opentelemetry-otlp v0.29.0
[INFO] [stderr]    Compiling bus-exporter v0.4.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `MetricConfig` and `MetricType as ConfigMetricType`
[INFO] [stdout]  --> src/exporter/otlp/mod_tests.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::config::{MetricConfig, MetricType as ConfigMetricType, OtlpExporterConfig};
[INFO] [stdout]   |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::batch_tests::*`
[INFO] [stdout]    --> src/reader/modbus/batch.rs:290:9
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub use self::batch_tests::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/config_tests.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |     let y = minimal_yaml().replace("", ""); // Use raw yaml with invalid level
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/exporter/prometheus/mod_tests.rs:134:9
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let config = crate::config::PrometheusExporterConfig {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `prometheus-client`
[INFO] [stderr]   --> Cargo.toml:52:15
[INFO] [stderr]    |
[INFO] [stderr] 52 | [dependencies.prometheus-client]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `prometheus-client`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", 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" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:141:12
[INFO] [stderr]     |
[INFO] [stderr] 141 | homepage = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 146 | repository = "https://github.com/r12f/bus-exporter"
[INFO] [stderr]     |              --------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr] warning: unused imports: `MetricConfig` and `MetricType as ConfigMetricType`
[INFO] [stderr]  --> src/exporter/otlp/mod_tests.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::config::{MetricConfig, MetricType as ConfigMetricType, OtlpExporterConfig};
[INFO] [stderr]   |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self::batch_tests::*`
[INFO] [stderr]    --> src/reader/modbus/batch.rs:290:9
[INFO] [stderr]     |
[INFO] [stderr] 290 | pub use self::batch_tests::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/config_tests.rs:352:9
[INFO] [stderr]     |
[INFO] [stderr] 352 |     let y = minimal_yaml().replace("", ""); // Use raw yaml with invalid level
[INFO] [stderr]     |         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]    --> src/exporter/prometheus/mod_tests.rs:134:9
[INFO] [stderr]     |
[INFO] [stderr] 134 |     let config = crate::config::PrometheusExporterConfig {
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: `bus-exporter` (lib test) generated 4 warnings (run `cargo fix --lib -p bus-exporter --tests` to apply 4 suggestions)
[INFO] [stderr] warning: unused dependency `prometheus-client`
[INFO] [stderr]   --> Cargo.toml:52:15
[INFO] [stderr]    |
[INFO] [stderr] 52 | [dependencies.prometheus-client]
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `prometheus-client`
[INFO] [stderr] warning: `bus-exporter` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.36s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/bus-exporter/af74779ef0208cbb/out/bus_exporter-af74779ef0208cbb)
[INFO] [stdout] 
[INFO] [stdout] running 254 tests
[INFO] [stdout] test commands::show_config::tests::test_empty_filter_warning ... ok
[INFO] [stdout] test commands::show_config::tests::test_invalid_regex_returns_error ... ok
[INFO] [stdout] test commands::show_config::tests::test_metric_filter_removes_empty_collectors ... ok
[INFO] [stdout] test commands::show_config::tests::test_json_output_valid ... ok
[INFO] [stdout] test commands::show_config::tests::test_collector_filter ... ok
[INFO] [stdout] test commands::show_config::tests::test_metrics_files_not_serialized ... ok
[INFO] [stdout] test commands::show_config::tests::test_no_null_fields_in_json_output ... ok
[INFO] [stdout] test commands::show_config::tests::test_no_null_fields_in_yaml_output ... ok
[INFO] [stdout] test commands::show_config::tests::test_password_redaction ... ok
[INFO] [stdout] test config::tests::find_config_fallback_cwd ... ok
[INFO] [stdout] test config::tests::find_config_explicit_path_exists ... ok
[INFO] [stdout] test commands::show_config::tests::test_yaml_output_valid ... ok
[INFO] [stdout] test config::tests::test_address_overflow_u32 ... ok
[INFO] [stdout] test config::tests::test_address_overflow_u64 ... ok
[INFO] [stdout] test config::tests::resolve_metrics_files_relative_to_config_dir ... ok
[INFO] [stdout] test config::tests::test_address_single_register_max ... ok
[INFO] [stdout] test config::tests::test_address_at_boundary_ok ... ok
[INFO] [stdout] test config::tests::test_all_byte_orders ... ok
[INFO] [stdout] test config::tests::find_config_explicit_path_missing ... ok
[INFO] [stdout] test config::tests::test_all_syslog_facilities ... ok
[INFO] [stdout] test config::tests::test_all_data_types ... ok
[INFO] [stdout] test config::tests::test_all_log_levels ... ok
[INFO] [stdout] test config::tests::test_counter_on_coil_rejected ... ok
[INFO] [stdout] test config::tests::test_counter_on_discrete_rejected ... ok
[INFO] [stdout] test config::tests::test_bool_must_coil_discrete ... ok
[INFO] [stdout] test config::tests::test_coil_must_bool ... ok
[INFO] [stdout] test config::tests::test_defaults_plus_per_metric_override ... ok
[INFO] [stdout] test config::tests::test_delay_only_step_valid ... ok
[INFO] [stdout] test config::tests::test_defaults ... ok
[INFO] [stdout] test config::tests::test_full_replacement_no_field_inheritance ... ok
[INFO] [stdout] test config::tests::test_dup_collector ... ok
[INFO] [stdout] test config::tests::test_dup_metric_last_wins ... ok
[INFO] [stdout] test config::tests::test_empty_metrics ... ok
[INFO] [stdout] test config::tests::test_i2c_init_writes_valid ... ok
[INFO] [stdout] test config::tests::test_i2c_pre_poll_valid ... ok
[INFO] [stdout] test config::tests::test_inline_metrics_override_file ... ok
[INFO] [stdout] test config::tests::test_i2c_write_step_address_without_value ... ok
[INFO] [stdout] test config::tests::test_invalid_syslog_facility ... ok
[INFO] [stdout] test config::tests::test_i2c_write_step_delay_exceeds_10s ... ok
[INFO] [stdout] test config::tests::test_i2c_write_step_command_rejected ... ok
[INFO] [stdout] test config::tests::test_missing_metrics_file_error ... ok
[INFO] [stdout] test config::tests::test_i2c_write_step_empty_multi_value ... ok
[INFO] [stdout] test config::tests::test_invalid_log_output ... ok
[INFO] [stdout] test config::tests::test_invalid_log_level ... ok
[INFO] [stdout] test config::tests::test_empty_metrics_file_error ... ok
[INFO] [stdout] test config::tests::find_config_fallback_none_found ... ok
[INFO] [stdout] test config::tests::test_no_collectors ... ok
[INFO] [stdout] test config::tests::test_mqtt_invalid_qos ... ok
[INFO] [stdout] test config::tests::test_mqtt_missing_endpoint ... ok
[INFO] [stdout] test config::tests::test_no_exporter_enabled ... ok
[INFO] [stdout] test config::tests::test_modbus_rejects_init_writes ... ok
[INFO] [stdout] test config::tests::test_otlp_no_endpoint ... ok
[INFO] [stdout] test config::tests::test_parse_full ... ok
[INFO] [stdout] test config::tests::test_parse_mqtt_with_tls_auth ... ok
[INFO] [stdout] test config::tests::test_parse_minimal ... ok
[INFO] [stdout] test config::tests::test_metrics_files_with_defaults ... ok
[INFO] [stdout] test config::tests::test_parse_mqtt_minimal ... ok
[INFO] [stdout] test config::tests::test_metrics_files_merge_order ... ok
[INFO] [stdout] test config::tests::test_polling_interval_too_short ... ok
[INFO] [stdout] test config::tests::test_polling_interval_1ms_ok ... ok
[INFO] [stdout] test config::tests::test_polling_interval_zero_rejected ... ok
[INFO] [stdout] test config::tests::test_rtu_defaults ... ok
[INFO] [stdout] test config::tests::test_scale_zero_rejected ... ok
[INFO] [stdout] test config::tests::test_rtu_data_bits_out_of_range ... ok
[INFO] [stdout] test config::tests::test_rtu_stop_bits_out_of_range ... ok
[INFO] [stdout] test config::tests::test_spi_write_step_address_rejected ... ok
[INFO] [stdout] test config::tests::test_slave_id_zero ... ok
[INFO] [stdout] test config::tests::test_relative_path_resolution ... ok
[INFO] [stdout] test config::tests::test_spi_write_step_valid ... ok
[INFO] [stdout] test config::tests::test_spi_write_step_empty_command ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_build_topic ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_invalid_scheme_treated_as_plain ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_ipv6_bracketed ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_mqtt ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_format_value_bool_as_f64 ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_format_value_f64 ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_mqtts ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_format_value_integer ... ok
[INFO] [stdout] test exporter::otlp::tests::build_resource_with_labels ... ok
[INFO] [stdout] test exporter::otlp::tests::metric_store_integration ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_config_defaults ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_mqtt_default_port ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_mqtts_default_port ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_no_scheme ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_ipv6_bracketed_default_port ... ok
[INFO] [stdout] test exporter::otlp::tests::build_resource_empty ... ok
[INFO] [stdout] test exporter::mqtt::tests::test_parse_endpoint_ipv6_mqtts ... ok
[INFO] [stdout] test exporter::otlp::tests::otlp_exporter_new_missing_endpoint ... ok
[INFO] [stdout] test exporter::otlp::tests::register_instruments_empty ... ok
[INFO] [stdout] test exporter::otlp::tests::otlp_exporter_export_empty_results ... ok
[INFO] [stdout] test exporter::otlp::tests::register_observable_counter ... ok
[INFO] [stdout] test exporter::otlp::tests::register_observable_gauge ... ok
[INFO] [stdout] test exporter::otlp::tests::register_instruments_deduplicates ... ok
[INFO] [stdout] test exporter::otlp::tests::register_instruments_mixed ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_build_metric_name_with_unit ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_build_metric_name_without_unit ... ok
[INFO] [stdout] test exporter::otlp::tests::otlp_exporter_new_with_endpoint ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_label_escaping ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_render_metrics_counter ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_http_endpoint ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_render_metrics_empty ... ok
[INFO] [stdout] test internal_metrics::tests::test_get_or_create_collector ... ok
[INFO] [stdout] test internal_metrics::tests::test_render_prometheus_contains_expected_metrics ... ok
[INFO] [stdout] test internal_metrics::tests::test_internal_metrics_new ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_serve_disabled ... ok
[INFO] [stdout] test internal_metrics::tests::test_poll_duration_f64 ... ok
[INFO] [stdout] test logging::tests::test_init_logging_invalid_level ... ok
[INFO] [stdout] test logging::tests::test_init_logging_json ... ok
[INFO] [stdout] test logging::tests::test_init_logging_stderr ... ok
[INFO] [stdout] test internal_metrics::tests::test_to_metric_values ... ok
[INFO] [stdout] test logging::tests::test_default_logging_config ... ok
[INFO] [stdout] test internal_metrics::tests::test_collector_stats_increments ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_sanitize_name ... ok
[INFO] [stdout] test exporter::prometheus::tests::test_render_metrics_gauge ... ok
[INFO] [stdout] test logging::tests::test_logging_config_deserialize_syslog ... ok
[INFO] [stdout] test metrics::tests::test_cache_overwrite ... ok
[INFO] [stdout] test logging::tests::test_init_logging_stdout ... ok
[INFO] [stdout] test logging::tests::test_log_output_from_str ... ok
[INFO] [stdout] test logging::tests::test_parse_level_invalid ... ok
[INFO] [stdout] test logging::tests::test_parse_level_via_std ... ok
[INFO] [stdout] test logging::tests::test_logging_config_deserialize ... ok
[INFO] [stdout] test metrics::tests::test_dedup_by_name ... ok
[INFO] [stdout] test metrics::tests::test_gauge_vs_counter ... ok
[INFO] [stdout] test metrics::tests::test_label_merging_precedence ... ok
[INFO] [stdout] test metrics::tests::test_all_metrics_returns_arcs ... ok
[INFO] [stdout] test metrics::tests::test_multiple_collectors ... ok
[INFO] [stdout] test metrics::tests::test_publish_and_read ... ok
[INFO] [stdout] test metrics::tests::test_remove_collector ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_bool_inversion ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_bool_nonzero ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_bool_true ... ok
[INFO] [stdout] test metrics::tests::test_systemtime_timestamp ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_bool_false ... ok
[INFO] [stdout] test metrics::tests::test_unit_injected_into_labels ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.867785Z","level":"WARN","fields":{"message":"pre_poll failed, skipping cycle","error":"mock write failure","consecutive":2},"target":"bus_exporter::collector"}
[INFO] [stdout] test internal_metrics::tests::test_uptime_is_positive ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_extra_regs_ignored ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_inf ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_be ... ok
[INFO] [stdout] test metrics::tests::test_concurrent_read_write_contention ... ok
[INFO] [stdout] test metrics::tests::test_concurrent_reads ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f64_le ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f64_mle ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f64_nan ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i16_min ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i16_negative ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i16_positive ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_mbe ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i32_be_pos ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_mle ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i32_le ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i32_mbe ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_nan ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i32_mle ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f64_be ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i64_le ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i64_mbe ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_insufficient_u32 ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_insufficient_u64 ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_scale_and_offset ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i64_be ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f64_mbe ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i32_be_neg ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_i64_mle ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_offset_only ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_scale_only ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u16_basic ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u16_max ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u16_scale_offset ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u16_zero ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u32_mle ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u64_be ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u64_le ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u64_mbe ... ok
[INFO] [stdout] test reader::i2c::tests::test_bus_lock_serialization ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u32_be ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u32_max ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u32_le ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u32_mbe ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_u64_mle ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_bool ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_address_out_of_range ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_u16_big_endian ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_device_class_without_instance ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_f32 ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_register_not_found ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_invalid_pid ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_mid_endian_rejected ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_with_scale_offset ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_multiple_address_modes ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_valid_device_class ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_no_address_mode ... ok
[INFO] [stdout] test reader::i2c::tests::test_read_u8 ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.909146Z","level":"WARN","fields":{"message":"I3C transfer error, re-enumerating after backoff","bus":"/dev/i3c-0","attempt":1,"backoff_ms":100},"target":"bus_exporter::reader::i3c"}
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_valid_static_address ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_slave_id_rejected ... ok
[INFO] [stdout] test reader::i3c::tests::test_device_class_mode_creation ... ok
[INFO] [stdout] test reader::i3c::tests::test_config_i3c_valid_pid ... ok
[INFO] [stdout] test reader::i3c::tests::test_pid_address_mode_creation ... ok
[INFO] [stdout] test reader::i3c::tests::test_read_i3c_metric_u8 ... ok
[INFO] [stdout] test reader::i3c::tests::test_read_register_static ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.913202Z","level":"WARN","fields":{"message":"batch holding read failed, falling back to individual reads","start":0,"count":2,"error":"simulated batch failure"},"target":"bus_exporter::reader::modbus::batch"}
[INFO] [stdout] test reader::i3c::tests::test_read_i3c_metric_u16_big_endian ... ok
[INFO] [stdout] test reader::i3c::tests::test_static_address_mode ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_125_limit_produces_multiple_reads ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_coalesces_adjacent ... ok
[INFO] [stdout] test logging::tests::test_map_syslog_facility_all_variants ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_empty ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_fallback_on_failure ... ok
[INFO] [stdout] test reader::decoder::decoder_tests::test_f32_le ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_non_adjacent_separate_calls ... ok
[INFO] [stdout] test reader::i3c::tests::test_read_i3c_metric_u16_little_endian ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_gap_exceeds_threshold ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_gap_within_threshold ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.914763Z","level":"WARN","fields":{"message":"connection lost during poll","error":"reading holding registers"},"target":"bus_exporter::collector"}
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_overlapping_ranges ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_separate_register_types ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_batch_read_values_match_individual ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_single ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_splits_at_125_register_limit ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_adjacent_ranges_merged ... ok
[INFO] [stdout] test reader::modbus::batch::batch_tests::test_coalesce_empty ... ok
[INFO] [stdout] test reader::i3c::tests::test_read_i3c_metric_with_scale_offset ... ok
[INFO] [stdout] test reader::i3c::tests::test_read_i3c_metric_f32_big_endian ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.919478Z","level":"WARN","fields":{"message":"pre_poll failed, skipping cycle","error":"mock write failure","consecutive":3},"target":"bus_exporter::collector"}
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:25.919511Z","level":"WARN","fields":{"message":"pre_poll failed 3 consecutive times, triggering reconnect"},"target":"bus_exporter::collector"}
[INFO] [stdout] test reader::modbus::mod_tests::test_double_connect_ok ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_disconnect ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_count_validation_coils ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_oob_returns_error ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_read_discrete_inputs ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_count_validation_registers ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_connect ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_read_coils ... ok
[INFO] [stdout] test reader::modbus::rtu::rtu_tests::test_rtu_count_validation ... ok
[INFO] [stdout] test reader::modbus::rtu::rtu_tests::test_rtu_client_read_without_connect_fails ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_read_holding_registers ... ok
[INFO] [stdout] test reader::modbus::rtu::rtu_tests::test_rtu_client_new_not_connected ... ok
[INFO] [stdout] test reader::modbus::mod_tests::test_mock_read_input_registers ... ok
[INFO] [stdout] test reader::modbus::rtu::rtu_tests::test_rtu_client_disconnect ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_client_connect_to_invalid_endpoint_fails ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_count_validation ... ok
[INFO] [stdout] test reader::spi::tests::test_read_f32 ... ok
[INFO] [stdout] test reader::spi::tests::test_device_lock_per_device ... ok
[INFO] [stdout] test reader::spi::tests::test_read_u16_with_offset ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_client_disconnect ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_client_new_not_connected ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_client_read_without_connect_fails ... ok
[INFO] [stdout] test reader::modbus::tcp::tcp_tests::test_tcp_client_connect_with_hostname_fails_gracefully ... ok
[INFO] [stdout] test reader::spi::tests::test_read_with_scale_offset ... ok
[INFO] [stdout] test reader::spi::tests::test_read_u8 ... ok
[INFO] [stdout] test reader::spi::tests::test_zero_pad_tx_buffer ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:26.009291Z","level":"WARN","fields":{"message":"I3C transfer error, re-enumerating after backoff","bus":"/dev/i3c-0","attempt":2,"backoff_ms":500},"target":"bus_exporter::reader::i3c"}
[INFO] [stdout] test collector::tests::test_collector_graceful_shutdown ... ok
[INFO] [stdout] test collector::tests::test_collector_polls_and_publishes ... ok
[INFO] [stdout] test collector::tests::test_multiple_collectors ... ok
[INFO] [stdout] test collector::tests::test_collector_reconnects_on_failure ... ok
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:26.509444Z","level":"WARN","fields":{"message":"I3C transfer error, re-enumerating after backoff","bus":"/dev/i3c-0","attempt":3,"backoff_ms":2000},"target":"bus_exporter::reader::i3c"}
[INFO] [stderr] {"timestamp":"2026-10-18T06:04:26.820228Z","level":"WARN","fields":{"message":"connection failed, retrying","error":"mock connect failure","backoff_secs":2},"target":"bus_exporter::collector"}
[INFO] [stdout] test reader::i3c::tests::test_nack_triggers_reenumeration ... ok
[INFO] [stdout] test collector::tests::test_pre_poll_skip_then_reconnect_after_3_failures ... ok
[INFO] [stdout] test collector::tests::test_init_writes_failure_triggers_reconnect ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/bus-exporter/a0d5f0e4177d03e0/out/bus_exporter-a0d5f0e4177d03e0)
[INFO] [stdout] test collector::tests::test_collector_connect_backoff ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 254 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_i2c.rs (/opt/rustwide/target/release/build/bus-exporter/dfac338ce42af1fe/out/e2e_i2c-dfac338ce42af1fe)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_modbus.rs (/opt/rustwide/target/release/build/bus-exporter/17d02fd62f26ffef/out/e2e_modbus-17d02fd62f26ffef)
[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 1 test
[INFO] [stdout] test e2e_i2c_pull ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test e2e_modbus_tcp_pull ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- e2e_modbus_tcp_pull stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'e2e_modbus_tcp_pull' (4083) panicked at tests/common/mod.rs:335:29:
[INFO] [stdout] failed to run bus-exporter binary at "bus-exporter": No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d526bfdf541 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5d526bff4d9a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5d526bfe3f8c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5d526bfb9776 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5d526bfd6de9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5d526bf41cf0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5d526bfd7112 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5d526bfb9822 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5d526bfb2369 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5d526bfba61d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5d526bff54fc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5d526bf2057a - e2e_modbus[845e24907f988cf2]::common::run_pull::{closure#0}::{closure#0}
[INFO] [stdout]   12:     0x5d526bf21860 - e2e_modbus[845e24907f988cf2]::e2e_modbus_tcp_pull::{closure#0}
[INFO] [stdout]   13:     0x5d526bf325d3 - <tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x5d526bf26619 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[52f18a0d68edc91b]::runtime::context::Context>>::with::<tokio[52f18a0d68edc91b]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x5d526bf32dd7 - <tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5d526bf2d157 - tokio[52f18a0d68edc91b]::runtime::context::runtime::enter_runtime::<<tokio[52f18a0d68edc91b]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5d526bf2c3aa - <tokio[52f18a0d68edc91b]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5d526bf2204e - <e2e_modbus[845e24907f988cf2]::e2e_modbus_tcp_pull::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5d526bf3513b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x5d526bf42315 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5d526bf3bc04 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x5d526bf453a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x5d526bfde83f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x71dbcc6bddfa - <unknown>
[INFO] [stdout]   25:     0x71dbcc7513d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     e2e_modbus_tcp_pull
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e_modbus`
[INFO] running `Command { std: "docker" "inspect" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4", kill_on_drop: false }`
[INFO] [stdout] ff854d0dad46096239ab689cbefefdf83f50c347739fd81d2f6d50809ba890f4
