[INFO] cloning repository https://github.com/aaroncohen/pid-ctl [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aaroncohen/pid-ctl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaroncohen%2Fpid-ctl", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaroncohen%2Fpid-ctl'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 64520017d73f1aeae88d9d85239aa9c0778593d3 [INFO] testing aaroncohen/pid-ctl against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faaroncohen%2Fpid-ctl" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/aaroncohen/pid-ctl [INFO] finished tweaking git repo https://github.com/aaroncohen/pid-ctl [INFO] tweaked toml for git repo https://github.com/aaroncohen/pid-ctl written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/aaroncohen/pid-ctl 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 git repo https://github.com/aaroncohen/pid-ctl 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: unused field `rust-version` in `workspace.package` [INFO] [stderr] --> Cargo.toml:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | rust-version = "1.90" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_workspace_package_fields` is set to `warn` by default [INFO] [stderr] help: consider removing the field `workspace.package.rust-version` [INFO] [stderr] warning: workspace (manifest) generated 1 warning [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5 [INFO] running `Command { std: "docker" "start" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", 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" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5" "/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" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", 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" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused field `rust-version` in `workspace.package` [INFO] [stderr] --> Cargo.toml:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | rust-version = "1.90" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_workspace_package_fields` is set to `warn` by default [INFO] [stderr] help: consider removing the field `workspace.package.rust-version` [INFO] [stderr] warning: workspace (manifest) generated 1 warning [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling log v0.4.29 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling time-macros v0.2.27 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling pid-ctl-core v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl-core) [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling fs2 v0.4.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling kasuari v0.4.12 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling pid-ctl-sim v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl-sim) [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling pid-ctl v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 58.07s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.31.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", 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" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5" "/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: unused field `rust-version` in `workspace.package` [INFO] [stderr] --> Cargo.toml:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | rust-version = "1.90" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_workspace_package_fields` is set to `warn` by default [INFO] [stderr] help: consider removing the field `workspace.package.rust-version` [INFO] [stderr] warning: workspace (manifest) generated 1 warning [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling autocfg v1.5.0 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.2.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling serial2 v0.2.35 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling downcast-rs v1.2.1 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.3 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling pid-ctl v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl) [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.11.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling pid-ctl-sim v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl-sim) [INFO] [stderr] Compiling pid-ctl-core v0.1.0 (/opt/rustwide/workdir/crates/pid-ctl-core) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 50.57s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0, nix v0.31.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", 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" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused field `rust-version` in `workspace.package` [INFO] [stderr] --> Cargo.toml:65:1 [INFO] [stderr] | [INFO] [stderr] 65 | rust-version = "1.90" [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_workspace_package_fields` is set to `warn` by default [INFO] [stderr] help: consider removing the field `workspace.package.rust-version` [INFO] [stderr] warning: workspace (manifest) generated 1 warning [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.19s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.28.0, nix v0.31.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/build/pid-ctl/a31c3633cd9c4c78/out/pid_ctl-a31c3633cd9c4c78) [INFO] [stdout] [INFO] [stdout] running 49 tests [INFO] [stdout] test app::snapshot_persister::tests::fail_escalated_false_when_no_failures ... ok [INFO] [stdout] test app::snapshot_persister::tests::persist_no_store_is_ok ... ok [INFO] [stdout] test app::ticker::tests::cv_fail_exhausted_at_threshold ... ok [INFO] [stdout] test app::snapshot_persister::tests::force_flush_no_store_returns_none ... ok [INFO] [stdout] test app::ticker::tests::cv_fail_transient_increments_counter ... ok [INFO] [stdout] test app::snapshot_persister::tests::fail_count_starts_at_zero ... ok [INFO] [stdout] test app::ticker::tests::d_term_skip_surfaces_in_observer ... ok [INFO] [stdout] test app::snapshot_persister::tests::persist_coalesces_within_flush_interval ... ok [INFO] [stdout] test app::snapshot_persister::tests::persist_writes_on_first_call ... ok [INFO] [stdout] test autotune::tests::config_validate_rejects_bias_above_out_max ... ok [INFO] [stdout] test autotune::tests::config_validate_rejects_relay_high_exceeds_out_max ... ok [INFO] [stdout] test autotune::tests::config_validate_rejects_negative_amp ... ok [INFO] [stdout] test autotune::tests::config_validate_accepts_valid ... ok [INFO] [stdout] test autotune::tests::config_validate_rejects_zero_amp ... ok [INFO] [stdout] test app::snapshot_persister::tests::fail_escalated_false_when_fail_after_zero ... ok [INFO] [stdout] test autotune::tests::ku_formula_matches_manual_calc ... ok [INFO] [stdout] test app::ticker::tests::cv_fail_count_resets_on_success ... ok [INFO] [stdout] test autotune::tests::engine_settled_after_three_cycles_on_first_order_plant ... ok [INFO] [stdout] test autotune::tests::tuning_rule_pid_gains_positive ... ok [INFO] [stdout] test app::snapshot_persister::tests::has_store_false_when_no_store ... ok [INFO] [stdout] test app::snapshot_persister::tests::fail_escalated_after_threshold ... ok [INFO] [stdout] test autotune::tests::tuning_rule_pi_zero_derivative ... ok [INFO] [stdout] test json_events::tests::integral_reset_event_fields ... ok [INFO] [stdout] test autotune::tests::tuning_rule_tl_more_conservative_than_zn ... ok [INFO] [stdout] test schedule::tests::large_slip_skips_missed_boundaries_without_burst ... ok [INFO] [stdout] test app::tests::post_dt_skip_reason_surfaces_in_tick_outcome ... ok [INFO] [stdout] test app::ticker::tests::happy_path_notifies_observer ... ok [INFO] [stdout] test app::tests::no_d_term_skip_on_normal_tick ... ok [INFO] [stdout] test autotune::tests::engine_emits_relay_flip_on_pv_crossing ... ok [INFO] [stdout] test schedule::tests::overrun_does_not_anchor_to_now ... ok [INFO] [stdout] test json_events::tests::suppressed_logger_still_appends_to_log ... ok [INFO] [stdout] test socket::tests::test_drop_removes_file ... ok [INFO] [stdout] test socket::tests::test_request_deserialization ... ok [INFO] [stdout] test socket::tests::test_bind_and_service_roundtrip ... ok [INFO] [stdout] test socket::tests::test_response_serialization ... ok [INFO] [stdout] test app::tests::post_dt_skip_zeros_d_on_next_tick ... ok [INFO] [stdout] test json_events::tests::socket_ready_event_fields ... ok [INFO] [stdout] test socket::tests::test_oversized_request ... ok [INFO] [stdout] test socket::tests::test_probe_stale ... ok [INFO] [stdout] test socket::tests::test_probe_active ... ok [INFO] [stdout] test json_events::tests::macro_generated_events_have_correct_envelope ... ok [INFO] [stdout] test socket::tests::test_probe_no_file ... ok [INFO] [stdout] test app::snapshot_persister::tests::persist_no_interval_always_writes ... ok [INFO] [stdout] test schedule::tests::on_time_next_is_tick_plus_interval ... ok [INFO] [stdout] test socket::tests::test_client_request_roundtrip ... ok [INFO] [stdout] test json_events::tests::pv_read_failure_safe_cv_skipped_when_none ... ok [INFO] [stdout] test app::snapshot_persister::tests::force_flush_success_resets_fail_count ... ok [INFO] [stdout] test app::snapshot_persister::tests::fail_count_resets_after_success ... ok [INFO] [stdout] test app::snapshot_persister::tests::force_flush_ignores_coalescing ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/build/pid-ctl/622b8faafa6305b7/out/pid_ctl-622b8faafa6305b7) [INFO] [stdout] [INFO] [stdout] test result: ok. 49 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test tune::tests::annotation_caret_newer_overwrites_older ... ok [INFO] [stdout] test tune::tests::export_dedupes_tunables_and_strips_tune_flags ... ok [INFO] [stdout] test tune::tests::history_trend_empty_is_stable ... ok [INFO] [stdout] test tune::tests::history_cap_uses_spark_w_when_wider_than_tune_history ... ok [INFO] [stdout] test tune::tests::expand_scale_leaves_wide_range_unchanged ... ok [INFO] [stdout] test tune::tests::history_trend_falling ... ok [INFO] [stdout] test tune::tests::history_range_returns_expanded_scale ... ok [INFO] [stdout] test tune::tests::history_trend_stable ... ok [INFO] [stdout] test tune::tests::needed_decimals_integers_need_zero ... ok [INFO] [stdout] test tune::tests::annotation_caret_aligns_with_marker_column ... ok [INFO] [stdout] test tune::tests::scale_ruler_debug_render ... ignored, manual debug render; run with --ignored --nocapture [INFO] [stdout] test tune::tests::gains_always_visible_at_minimum_height ... ok [INFO] [stdout] test tune::tests::process_info_visible_at_standard_height ... ok [INFO] [stdout] test tune::tests::pv_canvas_coords_truncate_to_window ... ok [INFO] [stdout] test tune::tests::pv_trend_arrow_when_history_rises ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_4th_row ... ok [INFO] [stdout] test tune::tests::pv_canvas_coords_oldest_left_newest_right ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_other_row ... ok [INFO] [stdout] test tune::tests::scale_ticks_k_modulo_classification_correct ... ok [INFO] [stdout] test tune::tests::scale_ticks_multiples_of_step_are_brackets ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_other_row_perturbed ... ok [INFO] [stdout] test tune::tests::spark_data_flat_series_is_visible_mid_line ... ok [INFO] [stdout] test tune::tests::scale_ticks_base_steps_are_consistent_at_fractional_values ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_row ... ok [INFO] [stdout] test tune::tests::gain_annotation_display_text_shows_net_change ... ok [INFO] [stdout] test tune::tests::spark_marker_row_pipe_overwrites_dot ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_4th_row_perturbed ... ok [INFO] [stdout] test tune::tests::spark_marker_row_places_pipe_at_tick_column ... ok [INFO] [stdout] test tune::tests::scale_ticks_empty_on_zero_span ... ok [INFO] [stdout] test tune::tests::scale_ruler_cadence_every_row_perturbed ... ok [INFO] [stdout] test tune::tests::expand_scale_widens_tiny_range ... ok [INFO] [stdout] test tune::tests::scale_ruler_interior_ticks_always_rendered ... ok [INFO] [stdout] test tune::tests::annotation_caret_skips_off_screen_markers ... ok [INFO] [stdout] test tune::tests::spark_marker_row_time_dots_at_multiples_of_10 ... ok [INFO] [stdout] test tune::tests::sparkline_constraints_use_fill ... ok [INFO] [stdout] test tune::tests::needed_decimals_step_values ... ok [INFO] [stdout] test tune::tests::spark_data_spanning_series_normalized ... ok [INFO] [stdout] test tune::tests::sparklines_collapse_at_small_height ... ok [INFO] [stdout] test tune::tests::step_125_down_sequence ... ok [INFO] [stdout] test tune::tests::scale_ruler_no_row_collisions_when_ticks_are_sparse ... ok [INFO] [stdout] test tune::tests::sparklines_visible_at_comfortable_height ... ok [INFO] [stdout] test tune::tests::wide_terminal_renders_without_panic ... ok [INFO] [stdout] test tune::tests::step_125_up_sequence ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 42 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/requirements.rs (/opt/rustwide/target/release/build/pid-ctl/31a2a6e240e2f0cf/out/requirements-31a2a6e240e2f0cf) [INFO] [stdout] [INFO] [stdout] running 172 tests [INFO] [stdout] test harness_smoke ... ok [INFO] [stdout] test req_autotune::autotune_writes_state_with_suggested_gains ... ok [INFO] [stdout] test req_autotune::autotune_emits_relay_flip_events ... ok [INFO] [stdout] test req_autotune::autotune_e2e_first_order_produces_valid_ku_tu ... ok [INFO] [stdout] test req_cv_sink::multiple_cv_sinks_rejected ... ok [INFO] [stdout] test req_autotune::autotune_rejects_bias_above_out_max ... ok [INFO] [stdout] test req_autotune::autotune_rejects_zero_amp ... ok [INFO] [stdout] test req_autotune::autotune_rejects_negative_amp ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_url_substitution ... ok [INFO] [stdout] test req_cv_sink::pipe_rejects_cv_cmd ... ok [INFO] [stdout] test req_autotune::autotune_rejects_relay_low_below_out_min ... ok [INFO] [stdout] test req_autotune::autotune_rejects_relay_high_exceeds_out_max ... ok [INFO] [stdout] test req_autotune::autotune_rejects_duration_too_short ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_failure_includes_stderr_hint ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_failure_exits_5 ... ok [INFO] [stdout] test req_dry_run::pipe_dry_run_rejected ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_respects_precision ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_substitutes_cv ... ok [INFO] [stdout] test req_dry_run::once_dry_run_does_not_require_cv_sink ... ok [INFO] [stdout] test req_dry_run::once_dry_run_emits_json_with_computed_cv ... ok [INFO] [stdout] test req_dry_run::once_dry_run_does_not_write_cv_file ... ok [INFO] [stdout] test req_feedforward::once_ff_field_in_json_when_nonzero ... ok [INFO] [stdout] test req_cv_write_policy::once_exits_5_on_cv_write_failure ... ok [INFO] [stdout] test req_dry_run::once_dry_run_saves_state ... ok [INFO] [stdout] test req_fail_after::fail_after_invalid_value_exits_3 ... ok [INFO] [stdout] test req_feedforward::once_ff_value_and_gain_adds_to_cv ... ok [INFO] [stdout] test req_feedforward::once_ff_field_absent_in_json_when_zero ... ok [INFO] [stdout] test req_feedforward::once_multiple_ff_sources_is_error ... ok [INFO] [stdout] test req_flag_precedence::setpoint_required_when_absent_from_cli_and_state ... ok [INFO] [stdout] test req_feedforward::loop_ff_value_is_rejected ... ok [INFO] [stdout] test req_flag_validation::anti_windup_clamp_accepted ... ok [INFO] [stdout] test req_feedforward::once_ff_from_file_contributes_correctly ... ok [INFO] [stdout] test req_flag_validation::anti_windup_back_calc_accepted ... ok [INFO] [stdout] test req_flag_precedence::cli_flags_override_state_file_values ... ok [INFO] [stdout] test req_flag_validation::anti_windup_invalid_value_rejected ... ok [INFO] [stdout] test req_flag_validation::cv_precision_controls_output_decimal_places ... ok [INFO] [stdout] test req_flag_precedence::state_file_gains_used_when_cli_flags_omitted ... ok [INFO] [stdout] test req_flag_validation::anti_windup_none_accepted ... ok [INFO] [stdout] test req_flag_validation::duplicate_pv_flags_rejected ... ok [INFO] [stdout] test req_flag_validation::multiple_cv_sinks_rejected ... ok [INFO] [stdout] test req_locking::lock_acquired_when_state_configured ... ok [INFO] [stdout] test req_flag_validation::anti_windup_tt_accepted ... ok [INFO] [stdout] test req_flag_validation::pipe_rejects_cv_file ... ok [INFO] [stdout] test req_flag_validation::ramp_rate_accepted_as_slew_rate_alias ... ok [INFO] [stdout] test req_flag_validation::scale_multiplies_raw_pv_before_pid ... ok [INFO] [stdout] test req_flag_validation::pipe_rejects_pv_literal_flag ... ok [INFO] [stdout] test req_flag_validation::pipe_rejects_dry_run ... ok [INFO] [stdout] test req_loop::loop_log_appends_ndjson ... ignored, timing-sensitive: kill after N ms may not produce stable log line count [INFO] [stdout] test req_loop::loop_requires_cv_sink ... ok [INFO] [stdout] test req_loop::loop_rejects_literal_pv ... ok [INFO] [stdout] test req_loop::loop_requires_interval ... ok [INFO] [stdout] test req_loop::loop_requires_pv_source ... ok [INFO] [stdout] test req_once_pipe::once_format_json_with_cv_file ... ok [INFO] [stdout] test req_once_pipe::once_basic_pv_computation ... ok [INFO] [stdout] test req_once_pipe::once_name_appears_in_json_output ... ok [INFO] [stdout] test req_once_pipe::pipe_blank_lines_skipped ... ok [INFO] [stdout] test req_once_pipe::once_state_persistence ... ok [INFO] [stdout] test req_once_pipe::pipe_basic_stream ... ok [INFO] [stdout] test req_once_pipe::pipe_log_writes_iteration_records ... ok [INFO] [stdout] test req_once_pipe::pipe_with_scale ... ok [INFO] [stdout] test req_pv_source::multiple_pv_sources_rejected ... ok [INFO] [stdout] test req_pv_source::once_pv_cmd_reads_value ... ok [INFO] [stdout] test req_fail_after::fail_after_emits_pv_fail_after_reached_json_event ... ok [INFO] [stdout] test req_fail_after::fail_after_writes_safe_cv_before_exit ... ok [INFO] [stdout] test req_pv_source::once_pv_file_missing_exits_1 ... ok [INFO] [stdout] test req_pv_source::once_pv_file_reads_value ... ok [INFO] [stdout] test req_pv_source::once_pv_file_trims_whitespace ... ok [INFO] [stdout] test req_pv_source::pipe_rejects_pv_file ... ok [INFO] [stdout] test req_pv_source::pv_cmd_timeout_independent_of_cv_cmd_timeout ... ok [INFO] [stdout] test req_pv_source::pv_cmd_timeout_invalid_value_exits_3 ... ok [INFO] [stdout] test req_pv_source::pv_file_with_scale ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::file_cv_sink_no_verify_writes_successfully ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::file_cv_sink_verify_mismatch_returns_invalid_data ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::file_cv_sink_verify_returns_error_on_missing_file_after_write ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::file_cv_sink_verify_succeeds_on_correct_readback ... ok [INFO] [stdout] test req_fail_after::fail_after_exits_2_after_n_consecutive_pv_failures ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::loop_pv_stdin_timeout_without_pv_stdin_still_requires_pv_source ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::once_rejects_pv_stdin ... ok [INFO] [stdout] test req_cv_sink::cv_cmd_sink_timeout_via_adapter ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::pipe_rejects_pv_stdin ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::stdin_pv_source_returns_error_when_no_data_available ... ok [INFO] [stdout] test req_reliability::d_term_skipped_no_pv_prev_emitted_to_log_on_first_tick ... ok [INFO] [stdout] test req_loop::loop_basic_iterations ... ok [INFO] [stdout] test req_loop::loop_cv_fail_after_exits_2 ... ok [INFO] [stdout] test req_reliability::once_cv_write_failure_emits_cv_write_failed_json_event ... ok [INFO] [stdout] test req_loop::loop_accepts_log_flag ... ok [INFO] [stdout] test req_replay::replay_diff_mode_prints_json_summary ... ok [INFO] [stdout] test req_replay::replay_diff_mode_zero_diff_for_same_gains ... ok [INFO] [stdout] test req_loop::loop_accepts_safe_cv_flag ... ok [INFO] [stdout] test req_replay::replay_different_gains_produces_different_cv ... ok [INFO] [stdout] test req_loop::loop_quiet_flag_accepted ... ok [INFO] [stdout] test req_replay::replay_output_has_required_fields ... ok [INFO] [stdout] test req_replay::replay_empty_log_exits_ok ... ok [INFO] [stdout] test req_replay::replay_output_log_writes_to_file ... ok [INFO] [stdout] test req_replay::replay_rejects_diff_with_output_log ... ok [INFO] [stdout] test req_replay::replay_rejects_iteration_record_missing_dt ... ok [INFO] [stdout] test req_replay::replay_rejects_malformed_json_in_log ... ok [INFO] [stdout] test req_replay::replay_rejects_iteration_record_missing_pv ... ok [INFO] [stdout] test req_replay::replay_rejects_missing_kp ... ok [INFO] [stdout] test req_replay::replay_roundtrip_same_gains_matches_original ... ok [INFO] [stdout] test req_replay::replay_rejects_missing_log ... ok [INFO] [stdout] test req_sim_loop::loop_pid_ctl_sim_smoke_no_crash ... FAILED [INFO] [stdout] test req_replay::replay_rejects_nonexistent_log ... ok [INFO] [stdout] test req_replay::replay_skips_event_lines ... ok [INFO] [stdout] test req_cv_sink::once_cv_cmd_timeout_enforced ... ok [INFO] [stdout] test req_reliability::cv_write_failure_policy_matches_mode_once_loop_pipe ... ok [INFO] [stdout] test req_socket::test_cli_set_missing_flags ... ok [INFO] [stdout] test req_fail_after::fail_after_counter_resets_on_success ... ok [INFO] [stdout] test req_fail_after::without_fail_after_pv_failures_do_not_exit ... ok [INFO] [stdout] test req_pv_source::pv_cmd_read_respects_cmd_timeout ... ok [INFO] [stdout] test req_socket::test_socket_mode_permissions ... ok [INFO] [stdout] test req_socket::test_socket_already_running ... ok [INFO] [stdout] test req_socket::test_socket_ready_event_emitted_on_stderr ... ok [INFO] [stdout] test req_pv_source::once_pv_cmd_timeout_overrides_cmd_timeout ... ok [INFO] [stdout] test req_pv_source::once_pv_cmd_uses_cmd_timeout_when_pv_cmd_timeout_absent ... ok [INFO] [stdout] test req_pv_stdin_verify_cv::loop_verify_cv_succeeds_with_regular_file ... ok [INFO] [stdout] test req_pv_source::loop_pv_cmd_timeout_flag_accepted ... ok [INFO] [stdout] test req_socket::test_cli_save_no_state ... ok [INFO] [stdout] test req_socket::test_socket_stale_cleanup ... ok [INFO] [stdout] test req_socket::test_cli_set_kp ... ok [INFO] [stdout] test req_reliability::loop_dt_skip_updates_state_timestamp_without_advancing_iter ... ok [INFO] [stdout] test req_socket::test_socket_unknown_command ... ok [INFO] [stdout] test req_socket::test_cli_hold_and_resume ... ok [INFO] [stdout] test req_socket::test_socket_save_without_state_returns_error ... ok [INFO] [stdout] test req_state_commands::init_requires_state_flag ... ok [INFO] [stdout] test req_state_commands::init_creates_fresh_state ... ok [INFO] [stdout] test req_state_commands::purge_clears_runtime_preserves_config ... ok [INFO] [stdout] test req_state_commands::purge_fails_when_locked ... ok [INFO] [stdout] test req_state_commands::purge_requires_state_flag ... ok [INFO] [stdout] test req_state_commands::status_requires_state_flag ... ok [INFO] [stdout] test req_state_commands::status_prints_state_json ... ok [INFO] [stdout] test req_state_schema::output_limits_round_trip_when_present ... ok [INFO] [stdout] test req_state_schema::first_run_populates_created_at_and_updated_at ... ok [INFO] [stdout] test req_state_schema::state_snapshot_includes_schema_version ... ok [INFO] [stdout] test req_state_schema::unknown_fields_ignored_on_load ... ok [INFO] [stdout] test req_state_schema::subsequent_run_preserves_created_at_and_advances_updated_at ... ok [INFO] [stdout] test req_state_write_interval::pipe_state_write_interval_default_is_1s ... ok [INFO] [stdout] test req_socket::test_socket_save ... ok [INFO] [stdout] test req_state_write_interval::state_fail_after_escalates_to_prominent_warning ... ok [INFO] [stdout] test req_state_write_interval::state_fail_after_flag_accepted ... ok [INFO] [stdout] test req_reliability::loop_pv_failure_safe_cv_updates_last_cv_in_state ... ok [INFO] [stdout] test req_socket::test_cli_reset ... ok [INFO] [stdout] test req_socket::test_socket_save_with_state_returns_ok ... ok [INFO] [stdout] test req_stdout_contract::cv_stdout_rejects_format_json ... ok [INFO] [stdout] test req_stdout_contract::loop_cv_stdout_rejects_format_json ... ok [INFO] [stdout] test req_socket::test_socket_hold_resume ... ok [INFO] [stdout] test req_stdout_contract::pipe_rejects_format_json ... ok [INFO] [stdout] test req_tune::tune_history_flag_parses ... ok [INFO] [stdout] test req_tune::tune_rejected_on_pipe_with_plan_message ... ok [INFO] [stdout] test req_tune::tune_rejected_on_once_with_plan_message ... ok [INFO] [stdout] test req_tune::tune_rejects_pv_stdin ... ok [INFO] [stdout] test req_tune::tune_rejects_format_json ... ok [INFO] [stdout] test req_socket::test_socket_status ... ok [INFO] [stdout] test req_tune::tune_rejects_quiet ... ok [INFO] [stdout] test req_socket::test_socket_unknown_param ... ok [INFO] [stdout] test req_socket::test_status_via_socket ... ok [INFO] [stdout] test req_socket::test_socket_set_kp ... ok [INFO] [stdout] test req_state_write_interval::state_write_interval_flag_accepted ... ok [INFO] [stdout] test req_socket::test_socket_set_sp ... ok [INFO] [stdout] test req_flag_validation::verbose_flag_accepted ... ok [INFO] [stdout] test req_socket::test_status_socket_fallback ... ok [INFO] [stdout] test req_state_write_interval::force_flush_at_shutdown_writes_final_state ... ok [INFO] [stdout] test req_tune_pty::loop_tune_pty_quit_prints_export_and_exits_zero ... ok [INFO] [stdout] test req_tune_pty::loop_tune_pty_sigint_prints_export_and_exits_zero ... ok [INFO] [stdout] test req_state_write_interval::state_write_interval_coalesces_disk_writes ... ok [INFO] [stdout] test req_socket::test_socket_reset ... ok [INFO] [stdout] test req_state_write_interval::state_write_interval_loop_default_is_max_interval_100ms ... ok [INFO] [stdout] test req_state_write_interval::state_write_failures_are_never_fatal ... ok [INFO] [stdout] test req_tune_pty::loop_tune_pty_standard_terminal_shows_all_sections ... ok [INFO] [stdout] test req_tune_pty::loop_tune_pty_tiny_terminal_shows_gains_not_history ... ok [INFO] [stdout] test req_tune_pty::loop_tune_pty_wide_terminal_renders_ok ... ok [INFO] [stdout] test req_reliability::pv_read_failure_invokes_safe_cv_or_hold_last_per_plan ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- req_sim_loop::loop_pid_ctl_sim_smoke_no_crash stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'req_sim_loop::loop_pid_ctl_sim_smoke_no_crash' (3732) panicked at crates/pid-ctl/tests/req/req_sim_loop.rs:21:5: [INFO] [stdout] build pid-ctl-sim first so /opt/rustwide/target/release/build/pid-ctl/31a2a6e240e2f0cf/pid-ctl-sim exists (cargo build -p pid-ctl-sim) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x624d1d6c81d1 - <::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt [INFO] [stdout] 1: 0x624d1d6e0aaa - core[a373ad73a504971]::fmt::write [INFO] [stdout] 2: 0x624d1d6ce87c - as core[a373ad73a504971]::io::write::Write>::write_fmt [INFO] [stdout] 3: 0x624d1d6a0646 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0} [INFO] [stdout] 4: 0x624d1d6bf249 - std[617be2ca0a6fd877]::panicking::default_hook [INFO] [stdout] 5: 0x624d1d60fe50 - test[aada8e7e76ba119b]::test_main_inner::{closure#0} [INFO] [stdout] 6: 0x624d1d6bf402 - std[617be2ca0a6fd877]::panicking::panic_with_hook [INFO] [stdout] 7: 0x624d1d6a06f2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0} [INFO] [stdout] 8: 0x624d1d698a19 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] 9: 0x624d1d6a163d - __rustc[ea4f61d10b84890b]::rust_begin_unwind [INFO] [stdout] 10: 0x624d1d6e128c - core[a373ad73a504971]::panicking::panic_fmt [INFO] [stdout] 11: 0x624d1d5b6e10 - >::call_once [INFO] [stdout] 12: 0x624d1d60329b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>> [INFO] [stdout] 13: 0x624d1d610475 - test[aada8e7e76ba119b]::run_test::{closure#0} [INFO] [stdout] 14: 0x624d1d609d64 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] 15: 0x624d1d613502 - ::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] 16: 0x624d1d6c746f - ::new::thread_start [INFO] [stdout] 17: 0x7959a0657dfa - [INFO] [stdout] 18: 0x7959a06eb3d4 - clone [INFO] [stdout] 19: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] req_sim_loop::loop_pid_ctl_sim_smoke_no_crash [INFO] [stdout] [INFO] [stdout] test result: FAILED. 170 passed; 1 failed; 1 ignored; 0 measured; 0 filtered out; finished in 6.27s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `-p pid-ctl --test requirements` [INFO] running `Command { std: "docker" "inspect" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5", kill_on_drop: false }` [INFO] [stdout] b0cc5376efb0b02a814660e09b5e6c48d8c1b57236e98f430b93fcd7b32c96f5