[INFO] fetching crate wickra-terminal 0.2.0...
[INFO] testing wickra-terminal-0.2.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate wickra-terminal 0.2.0 into /workspace/builds/worker-5-tc1/source
[INFO] started tweaking crates.io crate wickra-terminal 0.2.0
[INFO] finished tweaking crates.io crate wickra-terminal 0.2.0
[INFO] tweaked toml for crates.io crate wickra-terminal 0.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate wickra-terminal 0.2.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate wickra-terminal 0.2.0 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wickra-simd v2.0.0
[INFO] [stderr]   Downloaded wickra-exchange v0.2.0
[INFO] [stderr]   Downloaded tokio-tungstenite v0.30.0
[INFO] [stderr]   Downloaded wickra-exchange-core v0.2.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.57
[INFO] [stderr]   Downloaded wickra-terminal-core v0.2.0
[INFO] [stderr]   Downloaded tungstenite v0.30.0
[INFO] [stderr]   Downloaded wickra-core v2.0.0
[INFO] [stderr]   Downloaded zerocopy v0.8.57
[INFO] [stderr]   Downloaded toml v1.1.6+spec-1.1.0
[INFO] [stderr]   Downloaded ratatui-termwiz v0.1.2
[INFO] [stderr]   Downloaded euclid v0.22.14
[INFO] [stderr]   Downloaded wezterm-blob-leases v0.1.1
[INFO] [stderr]   Downloaded csscolorparser v0.6.2
[INFO] [stderr]   Downloaded wezterm-color-types v0.3.0
[INFO] [stderr]   Downloaded lab v0.11.0
[INFO] [stderr]   Downloaded wezterm-dynamic v0.2.1
[INFO] [stderr]   Downloaded mac_address v1.1.8
[INFO] [stderr]   Downloaded vtparse v0.6.2
[INFO] [stderr]   Downloaded pest_derive v2.9.2
[INFO] [stderr]   Downloaded wezterm-bidi v0.2.3
[INFO] [stderr]   Downloaded pest_generator v2.9.2
[INFO] [stderr]   Downloaded memmem v0.1.1
[INFO] [stderr]   Downloaded nix v0.29.0
[INFO] [stderr]   Downloaded pest_meta v2.9.2
[INFO] [stderr]   Downloaded pest v2.9.2
[INFO] [stderr]   Downloaded finl_unicode v1.5.0
[INFO] [stderr]   Downloaded filedescriptor v0.8.3
[INFO] [stderr]   Downloaded fancy-regex v0.11.0
[INFO] [stderr]   Downloaded ratatui-macros v0.7.2
[INFO] [stderr]   Downloaded termios v0.3.3
[INFO] [stderr]   Downloaded termwiz v0.23.3
[INFO] [stderr]   Downloaded terminfo v0.9.0
[INFO] [stderr]   Downloaded lru v0.18.4
[INFO] [stderr]   Downloaded wezterm-input-types v0.1.0
[INFO] [stderr]   Downloaded deltae v0.3.2
[INFO] [stderr]   Downloaded ratatui-termina v0.1.0
[INFO] [stderr]   Downloaded wezterm-dynamic-derive v0.1.1
[INFO] [stderr]   Downloaded termina v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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] 1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28
[INFO] running `Command { std: "docker" "start" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", 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" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", 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" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling syn v3.0.6
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling cmov v0.5.4
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling find-msvc-tools v0.1.13
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling base64ct v1.8.3
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling mio v1.2.3
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling cpubits v0.1.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling cc v1.4.7
[INFO] [stderr]    Compiling ff v0.14.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling ctutils v0.4.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling pem-rfc7468 v1.0.0
[INFO] [stderr]    Compiling group v0.14.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling base16ct v1.0.0
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling wickra-simd v2.0.0
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling compact_str v0.9.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rust_decimal v1.43.0
[INFO] [stderr]    Compiling rustix v1.1.5
[INFO] [stderr]    Compiling ipnet v2.12.2
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling rand v0.10.3
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling num_threads v0.1.7
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling line-clipping v0.3.8
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling lru v0.18.4
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling unicode-truncate v2.0.1
[INFO] [stderr]    Compiling synstructure v0.14.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.8
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling hybrid-array v0.4.15
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling der v0.8.2
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-bigint v0.7.5
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling kasuari v0.4.12
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling wickra-core v2.0.0
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling spki v0.8.0
[INFO] [stderr]    Compiling sec1 v0.8.1
[INFO] [stderr]    Compiling pkcs8 v0.11.0
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]    Compiling ratatui-core v0.1.2
[INFO] [stderr]    Compiling instability v0.3.14
[INFO] [stderr]    Compiling hmac v0.13.0
[INFO] [stderr]    Compiling signature v3.0.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling sha1 v0.11.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling ratatui-widgets v0.3.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling elliptic-curve v0.14.1
[INFO] [stderr]    Compiling primefield v0.14.0
[INFO] [stderr]    Compiling rfc6979 v0.6.0
[INFO] [stderr]    Compiling ratatui-crossterm v0.1.2
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling wnaf v0.14.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling primeorder v0.14.0
[INFO] [stderr]    Compiling ecdsa v0.17.0
[INFO] [stderr]    Compiling ratatui-macros v0.7.2
[INFO] [stderr]    Compiling ratatui v0.30.2
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling p256 v0.14.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling wickra-exchange-core v0.2.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.5
[INFO] [stderr]    Compiling tungstenite v0.30.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.10
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tokio-tungstenite v0.30.0
[INFO] [stderr]    Compiling wickra-exchange v0.2.0
[INFO] [stderr]    Compiling wickra-terminal-core v0.2.0
[INFO] [stderr]    Compiling wickra-terminal v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 31s
[INFO] running `Command { std: "docker" "inspect" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", 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" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling wickra-terminal v0.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 6.13s
[INFO] running `Command { std: "docker" "inspect" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", 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" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/wkterm-93ca05d35ea94afb)
[INFO] [stdout] 
[INFO] [stdout] running 141 tests
[INFO] [stdout] test app::tests::a_pairwise_indicator_takes_its_reference_from_the_prompt ... ok
[INFO] [stdout] test app::tests::cycling_panels_is_a_no_op_with_an_empty_layout ... ok
[INFO] [stdout] test app::tests::an_indicator_can_be_added_and_removed_from_the_keyboard ... ok
[INFO] [stdout] test app::tests::input_backspace_and_cancel ... ok
[INFO] [stdout] test app::tests::a_recording_is_written_where_it_can_be_replayed ... ok
[INFO] [stdout] test app::tests::panels_can_be_added_moved_and_removed_from_the_keyboard ... ok
[INFO] [stdout] test app::tests::a_catalogue_search_that_matches_many_reports_the_count ... ok
[INFO] [stdout] test app::tests::every_prompt_has_a_label ... ok
[INFO] [stdout] test app::tests::a_recording_that_cannot_be_written_reports_the_reason ... ok
[INFO] [stdout] test app::tests::backtab_cycles_the_other_way_and_wraps ... ok
[INFO] [stdout] test app::tests::cycle_symbol_moves_focus_across_the_watchlist ... ok
[INFO] [stdout] test app::tests::a_bad_indicator_reports_rather_than_being_dropped ... ok
[INFO] [stdout] test app::tests::quit_action_sets_should_quit ... ok
[INFO] [stdout] test app::tests::add_symbol_subscribes_and_remove_symbol_unsubscribes ... ok
[INFO] [stdout] test app::tests::an_unparseable_panel_is_reported_and_adds_nothing ... ok
[INFO] [stdout] test app::tests::remove_source_drops_the_focused_source ... ok
[INFO] [stdout] test app::tests::removing_an_indicator_that_is_not_tracked_says_so ... ok
[INFO] [stdout] test app::tests::cycling_panels_names_the_one_now_focused ... ok
[INFO] [stdout] test app::tests::scrolling_an_empty_layout_is_a_no_op ... ok
[INFO] [stdout] test app::tests::removing_every_panel_leaves_a_layout_nothing_indexes_past ... ok
[INFO] [stdout] test app::tests::saving_with_recording_on_but_nothing_yet_says_so ... ok
[INFO] [stdout] test app::tests::an_unparseable_indicator_is_reported_and_adds_nothing ... ok
[INFO] [stdout] test app::tests::saving_without_recording_says_how_to_turn_it_on ... ok
[INFO] [stdout] test app::tests::scrolling_moves_the_focused_panel_and_nothing_else ... ok
[INFO] [stdout] test app::tests::saving_with_the_recorder_off_names_the_key_that_starts_it ... ok
[INFO] [stdout] test app::tests::a_bars_panel_scrolls_by_its_longest_stream ... ok
[INFO] [stdout] test app::tests::scrolling_up_never_goes_below_the_first_row ... ok
[INFO] [stdout] test app::tests::scrolling_stops_at_the_rows_a_panel_actually_carries ... ok
[INFO] [stdout] test app::tests::tab_cycles_panel_focus_and_wraps ... ok
[INFO] [stdout] test app::tests::seeking_a_source_that_cannot_replay_says_so ... ok
[INFO] [stdout] test input::tests::uppercase_maps_like_lowercase ... ok
[INFO] [stdout] test app::tests::seeking_with_nothing_focused_says_so ... ok
[INFO] [stdout] test app::tests::source_menu_opens_and_adds_a_source ... ok
[INFO] [stdout] test render::tests::a_screen_with_no_room_for_a_footer_does_not_panic ... ok
[INFO] [stdout] test render::tests::an_unsubscribed_terminal_says_so_instead_of_drawing_empty_panels ... ok
[INFO] [stdout] test render::tests::a_focus_index_past_the_end_highlights_nothing ... ok
[INFO] [stdout] test input::tests::default_keymap_resolves_quit_and_navigation ... ok
[INFO] [stdout] test input::tests::every_default_binding_resolves_to_an_action ... ok
[INFO] [stdout] test input::tests::key_event_kind_is_available ... ok
[INFO] [stdout] test input::tests::the_actions_added_for_the_registry_and_the_recording_resolve ... ok
[INFO] [stdout] test render::tests::rect_from_spec_maps_percentages ... ok
[INFO] [stdout] test app::tests::seeking_moves_a_replay_and_says_where_it_is ... ok
[INFO] [stdout] test render::tests::rect_from_spec_respects_area_offset ... ok
[INFO] [stdout] test app::tests::the_recorder_can_be_armed_and_stopped_from_the_keyboard ... ok
[INFO] [stdout] test spec::tests::a_two_part_live_shorthand_still_means_spot ... ok
[INFO] [stdout] test spec::tests::parse_indicator_rejects_an_empty_prompt ... ok
[INFO] [stdout] test render::tests::the_focused_panel_is_drawn_differently_from_the_others ... ok
[INFO] [stdout] test spec::tests::parse_indicator_reports_a_dangling_vs_as_a_bad_parameter ... ok
[INFO] [stdout] test spec::tests::parse_indicator_trims_the_reference_market ... ok
[INFO] [stdout] test spec::tests::parse_panel_reads_a_kind_and_a_rectangle ... ok
[INFO] [stdout] test spec::tests::parse_panel_rejects_a_kind_with_no_rectangle ... ok
[INFO] [stdout] test app::tests::the_save_key_reports_the_recorder_state_and_then_writes ... FAILED
[INFO] [stdout] test spec::tests::parse_panel_rejects_more_than_a_depth_after_the_rectangle ... ok
[INFO] [stdout] test spec::tests::parse_panel_takes_a_depth_after_the_rectangle ... ok
[INFO] [stdout] test spec::tests::parse_panel_names_the_kinds_it_knows ... ok
[INFO] [stdout] test spec::tests::parse_source_live ... ok
[INFO] [stdout] test render::tests::the_footer_takes_the_last_row_and_the_panels_stop_above_it ... ok
[INFO] [stdout] test spec::tests::a_trailing_word_that_is_not_a_market_is_reported ... ok
[INFO] [stdout] test tests::a_config_file_that_is_not_there_is_reported ... ok
[INFO] [stdout] test spec::tests::parse_rect_refuses_a_rectangle_that_leaves_the_grid ... ok
[INFO] [stdout] test spec::tests::parse_source_live_takes_a_market ... ok
[INFO] [stdout] test spec::tests::parse_source_synth ... ok
[INFO] [stdout] test tests::a_key_outside_a_prompt_is_an_action ... ok
[INFO] [stdout] test tests::a_key_typed_into_a_prompt_is_text_and_not_an_action ... ok
[INFO] [stdout] test tests::a_source_shorthand_that_does_not_parse_is_reported ... ok
[INFO] [stdout] test tests::build_config_from_source_adds_the_source ... ok
[INFO] [stdout] test tests::enter_submits_a_prompt ... ok
[INFO] [stdout] test tests::only_a_press_acts ... ok
[INFO] [stdout] test term::tests::the_guard_either_constructs_and_restores_or_refuses ... ok
[INFO] [stdout] test app::tests::the_timeframe_can_be_changed_from_the_keyboard ... ok
[INFO] [stdout] test spec::tests::parse_source_rejects_unknown_kind ... ok
[INFO] [stdout] [?1049l[?1049ltest tests::a_config_file_that_is_not_a_config_is_reported ... ok
[INFO] [stdout] test app::tests::the_catalogue_can_be_searched ... ok
[INFO] [stdout] test input::tests::unbound_key_is_none ... ok
[INFO] [stdout] test term::tests::restoring_an_already_restored_terminal_is_not_an_error ... ok
[INFO] [stdout] test spec::tests::parse_source_replay ... ok
[INFO] [stdout] test tests::a_config_file_wins_over_a_source_shorthand ... ok
[INFO] [stdout] test widgets::bars::tests::a_stream_with_no_bars_says_so_rather_than_showing_a_bare_label ... ok
[INFO] [stdout] test widgets::bars::tests::rendering_an_empty_panel_does_not_panic ... ok
[INFO] [stdout] test widgets::book::tests::a_book_with_no_spread_says_so_rather_than_showing_a_number ... ok
[INFO] [stdout] test widgets::bars::tests::rendering_draws_the_symbol_and_every_stream ... ok
[INFO] [stdout] test widgets::book::tests::each_side_is_drawn_in_its_own_colour ... ok
[INFO] [stdout] test widgets::bars::tests::the_last_bar_is_spelled_out_because_the_marks_only_say_direction ... ok
[INFO] [stdout] test widgets::bars::tests::volume_is_shown_only_by_the_bar_types_that_carry_it ... ok
[INFO] [stdout] test render::tests::each_panel_lands_on_its_configured_rect ... ok
[INFO] [stdout] test tests::a_source_with_no_market_of_its_own_gets_one_to_focus ... ok
[INFO] [stdout] test tests::the_run_flags_left_off_do_not_touch_the_config ... ok
[INFO] [stdout] test widgets::chart::tests::a_panel_too_small_for_a_plot_falls_back_to_the_sparkline ... ok
[INFO] [stdout] test tests::the_run_flags_override_a_config_file ... ok
[INFO] [stdout] test widgets::chart::tests::a_market_with_no_bars_falls_back_to_the_tick_series ... ok
[INFO] [stdout] test widgets::chart::tests::a_multi_output_indicator_names_every_output ... ok
[INFO] [stdout] test widgets::bars::tests::a_bar_with_no_direction_reads_as_rising ... ok
[INFO] [stdout] test widgets::chart::tests::nothing_is_overlaid_before_there_are_two_prices ... ok
[INFO] [stdout] test widgets::bars::tests::each_bar_becomes_a_mark_in_its_direction ... ok
[INFO] [stdout] test widgets::chart::tests::a_market_that_has_not_moved_still_has_height ... ok
[INFO] [stdout] test widgets::book::tests::the_best_ask_sits_directly_above_the_spread ... ok
[INFO] [stdout] test widgets::chart::tests::a_one_row_scale_labels_the_high ... ok
[INFO] [stdout] test widgets::chart::tests::a_series_of_fewer_than_two_points_is_not_overlaid ... ok
[INFO] [stdout] test widgets::chart::tests::a_hole_in_an_overlay_does_not_reach_the_canvas ... ok
[INFO] [stdout] test widgets::chart::tests::a_series_with_no_usable_numbers_is_on_no_scale ... ok
[INFO] [stdout] test widgets::chart::tests::a_single_output_indicator_reads_as_a_number ... ok
[INFO] [stdout] test widgets::chart::tests::candles_are_drawn_and_coloured_by_direction ... ok
[INFO] [stdout] test widgets::chart::tests::the_indicator_readout_keeps_its_row ... ok
[INFO] [stdout] test widgets::chart::tests::only_a_series_sharing_the_price_scale_is_overlaid ... ok
[INFO] [stdout] test widgets::chart::tests::price_range_spans_every_wick ... ok
[INFO] [stdout] test widgets::chart::tests::sparkline_empty_or_zero_width_is_empty ... ok
[INFO] [stdout] test widgets::chart::tests::the_price_scale_is_drawn_beside_the_candles ... ok
[INFO] [stdout] test widgets::chart::tests::the_pre_bar_fallback_draws_the_overlays_too ... ok
[INFO] [stdout] test widgets::chart::tests::sparkline_flat_series_does_not_panic ... ok
[INFO] [stdout] test widgets::chart::tests::sparkline_maps_min_and_max_to_endpoints ... ok
[INFO] [stdout] test widgets::chart::tests::the_scale_runs_from_the_high_down_to_the_low ... ok
[INFO] [stdout] test widgets::chart::tests::sparkline_truncates_to_width ... ok
[INFO] [stdout] test widgets::chart::tests::the_forming_bar_is_drawn_with_the_closed_ones ... ok
[INFO] [stdout] test widgets::chart::tests::the_series_range_spans_them_all_and_skips_the_unusable ... ok
[INFO] [stdout] test widgets::footprint::tests::both_volumes_are_shown_at_each_price ... ok
[INFO] [stdout] test widgets::profile::tests::a_bar_fills_in_proportion_to_the_peak ... ok
[INFO] [stdout] test widgets::profile::tests::a_bar_with_nothing_to_show_is_empty ... ok
[INFO] [stdout] test widgets::profile::tests::a_profile_with_no_bins_says_so_rather_than_drawing_nothing ... ok
[INFO] [stdout] test widgets::profile::tests::rendering_draws_the_symbol_and_the_bins ... ok
[INFO] [stdout] test widgets::footprint::tests::a_level_is_coloured_by_the_side_that_traded_more ... ok
[INFO] [stdout] test widgets::chart::tests::price_range_of_nothing_is_nothing ... ok
[INFO] [stdout] test widgets::footprint::tests::a_level_that_traded_evenly_goes_to_the_buy_colour ... ok
[INFO] [stdout] test widgets::tape::tests::a_print_is_coloured_by_the_side_that_crossed ... ok
[INFO] [stdout] test widgets::tests::a_focused_block_is_styled_and_an_unfocused_one_is_not ... ok
[INFO] [stdout] test widgets::watchlist::tests::a_negative_volume_keeps_its_sign ... ok
[INFO] [stdout] test widgets::profile::tests::rendering_into_a_pane_too_narrow_for_its_chrome_does_not_panic ... ok
[INFO] [stdout] test widgets::watchlist::tests::the_change_column_is_tinted_by_its_sign_and_nothing_else_is ... ok
[INFO] [stdout] test widgets::tape::tests::an_empty_tape_still_draws_its_panel ... ok
[INFO] [stdout] test widgets::profile::tests::a_partial_bar_ends_in_an_eighth ... ok
[INFO] [stdout] test widgets::profile::tests::a_priced_profile_names_its_range_and_a_timed_one_does_not ... ok
[INFO] [stdout] test widgets::profile::tests::an_infinite_bin_does_not_set_the_peak ... ok
[INFO] [stdout] test widgets::profile::tests::one_line_per_bin_follows_the_header ... ok
[INFO] [stdout] test widgets::tape::tests::an_unknown_side_is_not_drawn_as_a_buy ... ok
[INFO] [stdout] test app::tests::a_bad_recorder_capacity_is_reported_and_changes_nothing ... ok
[INFO] [stdout] test widgets::watchlist::tests::a_row_without_a_quote_draws_a_dash_rather_than_a_zero_spread ... ok
[INFO] [stdout] test widgets::watchlist::tests::a_volume_abbreviates_at_each_threshold_and_not_below_one ... ok
[INFO] [stdout] test widgets::watchlist::tests::an_empty_watchlist_still_draws_its_panel ... ok
[INFO] [stdout] test widgets::tests::every_panel_kind_reaches_a_widget ... ok
[INFO] [stdout] test tests::a_terminal_with_no_source_at_all_subscribes_to_nothing ... ok
[INFO] [stdout] test tests::an_unhandled_key_in_a_prompt_changes_nothing ... ok
[INFO] [stdout] test tests::neither_flag_is_the_bare_default_layout ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- app::tests::the_save_key_reports_the_recorder_state_and_then_writes stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'app::tests::the_save_key_reports_the_recorder_state_and_then_writes' (3111) panicked at src/app.rs:1319:9:
[INFO] [stdout] status: could not write ./wickra-recording-1792355237.json: Read-only file system (os error 30)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x61cd598eab71 - <<std[70759c8f55707aa4]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[df12db4294e9bfd3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x61cd59903fda - core[df12db4294e9bfd3]::fmt::write
[INFO] [stdout]    2:     0x61cd598efc1c - <alloc[2182bb758b4b3781]::vec::Vec<u8> as core[df12db4294e9bfd3]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x61cd598c4276 - std[70759c8f55707aa4]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x61cd598e1b39 - std[70759c8f55707aa4]::panicking::default_hook
[INFO] [stdout]    5:     0x61cd59332b70 - test[9d35eded1c95d3be]::test_main_inner::<test[9d35eded1c95d3be]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x61cd598e1e62 - std[70759c8f55707aa4]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x61cd598c4322 - std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x61cd598bcd19 - std[70759c8f55707aa4]::sys::backtrace::__rust_end_short_backtrace::<std[70759c8f55707aa4]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x61cd598c510d - __rustc[8fa7c3cbc660c2b3]::rust_begin_unwind
[INFO] [stdout]   10:     0x61cd5990477c - core[df12db4294e9bfd3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x61cd592eaca0 - wkterm[be3178becb3c1433]::app::tests::the_save_key_reports_the_recorder_state_and_then_writes
[INFO] [stdout]   12:     0x61cd59313db9 - <wkterm[be3178becb3c1433]::app::tests::the_save_key_reports_the_recorder_state_and_then_writes::{closure#0} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x61cd59325e5b - test[9d35eded1c95d3be]::__rust_begin_short_backtrace::<core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>, fn() -> core[df12db4294e9bfd3]::result::Result<(), alloc[2182bb758b4b3781]::string::String>>
[INFO] [stdout]   14:     0x61cd593334c5 - test[9d35eded1c95d3be]::run_test::{closure#0}
[INFO] [stdout]   15:     0x61cd5932cd84 - std[70759c8f55707aa4]::sys::backtrace::__rust_begin_short_backtrace::<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x61cd59336622 - <std[70759c8f55707aa4]::thread::lifecycle::spawn_unchecked<test[9d35eded1c95d3be]::run_test::{closure#1}, ()>::{closure#1} as core[df12db4294e9bfd3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x61cd598e9b39 - <std[70759c8f55707aa4]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x73ede317adfa - <unknown>
[INFO] [stdout]   19:     0x73ede320e3d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     app::tests::the_save_key_reports_the_recorder_state_and_then_writes
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 140 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin wkterm`
[INFO] running `Command { std: "docker" "inspect" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28", kill_on_drop: false }`
[INFO] [stdout] 1773b3e2826b38ca7ff6ab8f3a2cfe13a1099624ef32e1de27b6466851639c28
