[INFO] cloning repository https://github.com/isentropic-dev/rote [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/isentropic-dev/rote" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisentropic-dev%2Frote", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisentropic-dev%2Frote'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 8f4dec90075c1bfe2fd7d52eba600793bbff2fe9 [INFO] testing isentropic-dev/rote against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fisentropic-dev%2Frote" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/isentropic-dev/rote [INFO] finished tweaking git repo https://github.com/isentropic-dev/rote [INFO] tweaked toml for git repo https://github.com/isentropic-dev/rote written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/isentropic-dev/rote on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/isentropic-dev/rote 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tiff v0.11.3 [INFO] [stderr] Downloaded zune-jpeg v0.5.13 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 088de3f49582de925030ddfa80031fb3decc9423698a56472f891ad11fb667f7 [INFO] running `Command { std: "docker" "start" "-a" "088de3f49582de925030ddfa80031fb3decc9423698a56472f891ad11fb667f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "088de3f49582de925030ddfa80031fb3decc9423698a56472f891ad11fb667f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "088de3f49582de925030ddfa80031fb3decc9423698a56472f891ad11fb667f7", kill_on_drop: false }` [INFO] [stdout] 088de3f49582de925030ddfa80031fb3decc9423698a56472f891ad11fb667f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 53ab1bf4666a51593eb931168056789151dc64b235f1f5c37a1c35676fc2c86b [INFO] running `Command { std: "docker" "start" "-a" "53ab1bf4666a51593eb931168056789151dc64b235f1f5c37a1c35676fc2c86b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling pxfm v0.1.28 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling sha1 v0.10.6 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling x11rb-protocol v0.13.2 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling moxcms v0.8.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling x11rb v0.13.2 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tungstenite v0.26.2 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling clap v4.6.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ureq v3.2.0 [INFO] [stderr] Compiling image v0.25.10 [INFO] [stderr] Compiling arboard v3.6.1 [INFO] [stderr] Compiling tokio-tungstenite v0.26.2 [INFO] [stderr] Compiling rote v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s [INFO] running `Command { std: "docker" "inspect" "53ab1bf4666a51593eb931168056789151dc64b235f1f5c37a1c35676fc2c86b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "53ab1bf4666a51593eb931168056789151dc64b235f1f5c37a1c35676fc2c86b", kill_on_drop: false }` [INFO] [stdout] 53ab1bf4666a51593eb931168056789151dc64b235f1f5c37a1c35676fc2c86b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1d83c947085852909725aa4eac8070ccbd606936864d7b9800ea8b3c2bc831ad [INFO] running `Command { std: "docker" "start" "-a" "1d83c947085852909725aa4eac8070ccbd606936864d7b9800ea8b3c2bc831ad", kill_on_drop: false }` [INFO] [stderr] Compiling rote v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 9.01s [INFO] running `Command { std: "docker" "inspect" "1d83c947085852909725aa4eac8070ccbd606936864d7b9800ea8b3c2bc831ad", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d83c947085852909725aa4eac8070ccbd606936864d7b9800ea8b3c2bc831ad", kill_on_drop: false }` [INFO] [stdout] 1d83c947085852909725aa4eac8070ccbd606936864d7b9800ea8b3c2bc831ad [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b056cfd8505f44a9ef0fa264034acf378763387ad60ee8a6830a3e07bccbe3e4 [INFO] running `Command { std: "docker" "start" "-a" "b056cfd8505f44a9ef0fa264034acf378763387ad60ee8a6830a3e07bccbe3e4", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rote-22fcebd6fa90281f) [INFO] [stdout] [INFO] [stdout] running 147 tests [INFO] [stdout] test cdp::discover::tests::browser_kind_names ... ok [INFO] [stdout] test cdp::discover::tests::chrome_comes_before_edge ... ok [INFO] [stdout] test cdp::protocol::tests::browser_version_debugger_url ... ok [INFO] [stdout] test cdp::discover::tests::candidates_are_not_empty ... ok [INFO] [stdout] test cdp::protocol::tests::command_serializes_with_params ... ok [INFO] [stdout] test cdp::protocol::tests::command_serializes_without_params ... ok [INFO] [stdout] test cdp::protocol::tests::domain_extraction ... ok [INFO] [stdout] test cdp::protocol::tests::enable_command_format ... ok [INFO] [stdout] test cdp::protocol::tests::raw_error_response_classifies ... ok [INFO] [stdout] test cdp::protocol::tests::raw_response_classifies_as_response ... ok [INFO] [stdout] test cdp::protocol::tests::tab_info_deserializes ... ok [INFO] [stdout] test data::tests::csv_round_trip ... ok [INFO] [stdout] test data::tests::empty_cells_preserved ... ok [INFO] [stdout] test data::tests::empty_data_is_error ... ok [INFO] [stdout] test data::tests::headers_only_is_error ... ok [INFO] [stdout] test data::tests::inconsistent_columns_is_error ... ok [INFO] [stdout] test data::tests::csv_with_quoting ... ok [INFO] [stdout] test data::tests::single_column ... ok [INFO] [stdout] test data::tests::no_headers ... ok [INFO] [stdout] test data::tests::single_row_no_headers ... ok [INFO] [stdout] test data::tests::single_row_with_headers ... ok [INFO] [stdout] test data::tests::source_config_serialization ... ok [INFO] [stdout] test data::tests::trailing_newlines_ignored ... ok [INFO] [stdout] test data::tests::tsv_round_trip ... ok [INFO] [stdout] test data::tests::whitespace_only_is_empty ... ok [INFO] [stdout] test playback::engine::tests::empty_workflow_completes_all_rows ... ok [INFO] [stdout] test playback::engine::tests::only_walk_speed_gates_rows ... ok [INFO] [stdout] test playback::engine::tests::finished_event_carries_counts ... ok [INFO] [stdout] test playback::engine::tests::set_speed_multiplier_applied_in_pending_controls ... ok [INFO] [stdout] test playback::engine::tests::set_speed_multiplier_clamps_below ... ok [INFO] [stdout] test playback::engine::tests::row_indices_are_correct ... ok [INFO] [stdout] test playback::engine::tests::run_with_rejects_insufficient_columns ... ok [INFO] [stdout] test playback::engine::tests::start_row_is_respected ... ok [INFO] [stdout] test playback::engine::tests::steps_emit_started_and_completed ... ok [INFO] [stdout] test playback::engine::tests::step_speed_gates_only_type_steps ... ok [INFO] [stdout] test playback::engine::tests::walk_and_run_never_gate_steps ... ok [INFO] [stdout] test playback::execute::tests::column_with_value_types_it ... ok [INFO] [stdout] test playback::engine::tests::workflow_roundtrip_and_playback ... ok [INFO] [stdout] test playback::execute::tests::empty_column_default_rule_uses_default ... ok [INFO] [stdout] test playback::execute::tests::empty_column_no_rule_clears ... ok [INFO] [stdout] test playback::execute::tests::empty_column_skip_rule_skips ... ok [INFO] [stdout] test playback::execute::tests::literal_value_always_types ... ok [INFO] [stdout] test playback::execute::tests::non_empty_column_ignores_rule ... ok [INFO] [stdout] test playback::execute::tests::out_of_bounds_column_treats_as_empty ... ok [INFO] [stdout] test playback::resolve::tests::id_resolution_uses_get_element_by_id ... ok [INFO] [stdout] test playback::resolve::tests::js_returns_true_and_false_branches ... ok [INFO] [stdout] test playback::resolve::tests::special_characters_are_escaped ... ok [INFO] [stdout] test playback::resolve::tests::text_content_resolution_uses_get_elements_by_tag_name ... ok [INFO] [stdout] test playback::resolve::tests::xpath_resolution_uses_evaluate ... ok [INFO] [stdout] test playback::execute::tests::empty_column_clear_rule_clears ... ok [INFO] [stdout] test playback::resolve::tests::css_resolution_uses_query_selector ... ok [INFO] [stdout] test training::core::tests::advance_past_last_row_emits_error ... ok [INFO] [stdout] test training::core::tests::advance_row_detects_new_field ... ok [INFO] [stdout] test training::core::tests::advance_row_detects_empty_cell ... ok [INFO] [stdout] test training::core::tests::advance_row_increments ... ok [INFO] [stdout] test training::core::tests::build_workflow_includes_row_end_delay ... ok [INFO] [stdout] test training::core::tests::build_workflow_row_end_delay_zero_when_no_steps ... ok [INFO] [stdout] test training::core::tests::build_workflow_captures_state ... ok [INFO] [stdout] test training::core::tests::click_records_a_step ... ok [INFO] [stdout] test training::core::tests::column_order_binds_leftmost_unbound ... ok [INFO] [stdout] test training::core::tests::column_order_nudge_rebinds_after_out_of_order_fill ... ok [INFO] [stdout] test training::core::tests::column_order_skips_non_next_column_match ... ok [INFO] [stdout] test training::core::tests::direct_click_into_field_then_type_has_no_navigation ... ok [INFO] [stdout] test training::core::tests::click_then_tabs_then_input_attaches_navigation ... ok [INFO] [stdout] test training::core::tests::handle_new_field_skips_already_bound_steps ... ok [INFO] [stdout] test training::core::tests::handle_new_field_out_of_range_emits_error ... ok [INFO] [stdout] test training::core::tests::first_step_has_zero_delay ... ok [INFO] [stdout] test training::core::tests::handle_empty_cell_stores_rule ... ok [INFO] [stdout] test playback::engine::tests::channel_close_stops_engine_at_gate ... ok [INFO] [stdout] test training::core::tests::handle_new_field_binds_column_and_updates_source ... ok [INFO] [stdout] test training::core::tests::incremental_typing_clears_pending_navigation ... ok [INFO] [stdout] test training::core::tests::incremental_typing_does_not_overwrite_navigation ... ok [INFO] [stdout] test training::core::tests::incremental_typing_updates_step ... ok [INFO] [stdout] test playback::engine::tests::retry_row_re_executes ... ok [INFO] [stdout] test training::core::tests::input_binds_a_column ... ok [INFO] [stdout] test training::core::tests::input_with_no_match_is_literal ... ok [INFO] [stdout] test training::core::tests::incremental_typing_rebinds_column ... ok [INFO] [stdout] test training::core::tests::multi_field_tab_chain_uses_previous_field_as_anchor ... ok [INFO] [stdout] test training::core::tests::navigation_step_captures_delay ... ok [INFO] [stdout] test training::core::tests::page_navigation_clears_pending_state ... ok [INFO] [stdout] test training::core::tests::row_complete_with_empty_cells_not_required ... ok [INFO] [stdout] test training::core::tests::navigation_records_a_step ... ok [INFO] [stdout] test training::core::tests::step_delays_parallel_steps ... ok [INFO] [stdout] test training::core::tests::speed_change ... ok [INFO] [stdout] test training::core::tests::tab_then_click_then_type_preserves_navigation_on_same_element ... ok [INFO] [stdout] test training::core::tests::tabs_then_input_no_prior_click_has_none_anchor ... ok [INFO] [stdout] test training::recorder::tests::non_recorder_message_ignored ... ok [INFO] [stdout] test training::recorder::tests::null_selector_fields_handled ... ok [INFO] [stdout] test playback::engine::tests::set_speed_during_gate_is_applied ... ok [INFO] [stdout] test training::recorder::tests::parse_click_event ... ok [INFO] [stdout] test training::recorder::tests::auto_inject_params_has_source ... ok [INFO] [stdout] test training::recorder::tests::parse_input_event ... ok [INFO] [stdout] test training::recorder::tests::non_log_type_ignored ... ok [INFO] [stdout] test training::recorder::tests::parse_shift_tab_event ... ok [INFO] [stdout] test training::recorder::tests::parse_tab_event ... ok [INFO] [stdout] test training::core::tests::tabs_then_click_attaches_navigation_to_click_step ... ok [INFO] [stdout] test training::core::tests::tabs_with_no_subsequent_interaction_are_discarded ... ok [INFO] [stdout] test playback::engine::tests::step_speed_gates_after_type_steps ... ok [INFO] [stdout] test training::recorder::tests::plain_text_message_ignored ... ok [INFO] [stdout] test tui::table::tests::column_widths_large ... ok [INFO] [stdout] test tui::table::tests::column_widths_small ... ok [INFO] [stdout] test playback::engine::tests::stop_action_returns_stopped_error ... ok [INFO] [stdout] test training::core::tests::incremental_typing_updates_delay ... ok [INFO] [stdout] test tui::table::tests::column_widths_tall ... ok [INFO] [stdout] test tui::table::tests::column_widths_wide ... ok [INFO] [stdout] test tui::table::tests::sanitize_strips_all_control_chars ... ok [INFO] [stdout] test tui::table::tests::sanitize_strips_escape_sequences ... ok [INFO] [stdout] test tui::table::tests::set_cell_state_round_trips ... ok [INFO] [stdout] test tui::table::tests::viewport_last_row_inprogress ... ok [INFO] [stdout] test tui::table::tests::set_row_state_round_trips ... ok [INFO] [stdout] test tui::table::tests::new_initializes_all_pending_upcoming ... ok [INFO] [stdout] test tui::table::tests::viewport_mid_inprogress_scrolls ... ok [INFO] [stdout] test tui::training::tests::training_command_maps_top_level_navigation ... ok [INFO] [stdout] test workflow::tests::empty_cell_rule_serialization ... ok [INFO] [stdout] test workflow::tests::nav_key_serialization ... ok [INFO] [stdout] test workflow::tests::navigation_path_with_anchor_serialization ... ok [INFO] [stdout] test workflow::tests::navigation_path_without_anchor_serialization ... ok [INFO] [stdout] test tui::table::tests::viewport_row0_inprogress_stays_at_top ... ok [INFO] [stdout] test tui::table::tests::column_widths_deep ... ok [INFO] [stdout] test workflow::tests::resolution_serialization ... ok [INFO] [stdout] test workflow::tests::step_click_serialization ... ok [INFO] [stdout] test workflow::tests::step_type_column_serialization ... ok [INFO] [stdout] test workflow::tests::playback_speed_default ... ok [INFO] [stdout] test workflow::tests::step_wait_for_navigation_serialization ... ok [INFO] [stdout] test workflow::tests::workflow_binding_not_type_step ... ok [INFO] [stdout] test workflow::tests::validate_rejects_empty_navigation_keys ... ok [INFO] [stdout] test workflow::tests::playback_speed_serialization ... ok [INFO] [stdout] test workflow::tests::v2_workflow_deserializes_with_no_navigation ... ok [INFO] [stdout] test workflow::tests::workflow_invalid_binding ... ok [INFO] [stdout] test workflow::tests::step_with_navigation_serialization ... ok [INFO] [stdout] test workflow::tests::workflow_has_version ... ok [INFO] [stdout] test playback::engine::tests::skip_row_advances_and_counts_skipped ... ok [INFO] [stdout] test workflow::tests::step_without_navigation_omits_field ... ok [INFO] [stdout] test workflow::tests::validate_rejects_too_many_navigation_keys ... ok [INFO] [stdout] test workflow::tests::workflow_delay_length_mismatch ... ok [INFO] [stdout] test workflow::tests::workflow_delays_round_trip ... ok [INFO] [stdout] test workflow::tests::workflow_json_is_human_readable ... ok [INFO] [stdout] test workflow::tests::workflow_omits_empty_optional_fields ... ok [INFO] [stdout] test workflow::tests::workflow_invalid_empty_cell_rule ... ok [INFO] [stdout] test workflow::tests::workflow_unsupported_version ... ok [INFO] [stdout] test workflow::tests::workflow_round_trip ... ok [INFO] [stdout] test training::core::tests::row_completion ... ok [INFO] [stdout] test workflow::tests::workflow_column_binding_length_mismatch ... ok [INFO] [stdout] test workflow::tests::workflow_file_round_trip ... ok [INFO] [stdout] test playback::engine::tests::speed_change_at_run_takes_effect_between_steps ... ok [INFO] [stdout] test cdp::protocol::tests::raw_event_classifies_as_event ... ok [INFO] [stdout] test playback::engine::tests::row_gate_fires_and_blocks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 147 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "b056cfd8505f44a9ef0fa264034acf378763387ad60ee8a6830a3e07bccbe3e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b056cfd8505f44a9ef0fa264034acf378763387ad60ee8a6830a3e07bccbe3e4", kill_on_drop: false }` [INFO] [stdout] b056cfd8505f44a9ef0fa264034acf378763387ad60ee8a6830a3e07bccbe3e4