[INFO] fetching crate o7 0.1.1... [INFO] testing o7-0.1.1 against 1.95.0 for beta-1.96-1 [INFO] extracting crate o7 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate o7 0.1.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate o7 0.1.1 [INFO] tweaked toml for crates.io crate o7 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate o7 0.1.1 on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate o7 0.1.1 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded instability v0.3.12 [INFO] [stderr] Downloaded kasuari v0.4.12 [INFO] [stderr] Downloaded line-clipping v0.3.7 [INFO] [stderr] Downloaded lru v0.16.3 [INFO] [stderr] Downloaded float-cmp v0.10.0 [INFO] [stderr] Downloaded filedescriptor v0.8.3 [INFO] [stderr] Downloaded mac_address v1.1.8 [INFO] [stderr] Downloaded assert_cmd v2.2.0 [INFO] [stderr] Downloaded ratatui-crossterm v0.1.0 [INFO] [stderr] Downloaded wezterm-bidi v0.2.3 [INFO] [stderr] Downloaded throbber-widgets-tui v0.11.0 [INFO] [stderr] Downloaded difflib v0.4.0 [INFO] [stderr] Downloaded vtparse v0.6.2 [INFO] [stderr] Downloaded normalize-line-endings v0.3.0 [INFO] [stderr] Downloaded wezterm-dynamic v0.2.1 [INFO] [stderr] Downloaded termwiz v0.23.3 [INFO] [stderr] Downloaded memmem v0.1.1 [INFO] [stderr] Downloaded ratatui-core v0.1.0 [INFO] [stderr] Downloaded wezterm-blob-leases v0.1.1 [INFO] [stderr] Downloaded terminfo v0.9.0 [INFO] [stderr] Downloaded ratatui-widgets v0.3.0 [INFO] [stderr] Downloaded ratatui-macros v0.7.0 [INFO] [stderr] Downloaded fancy-regex v0.11.0 [INFO] [stderr] Downloaded termios v0.3.3 [INFO] [stderr] Downloaded csscolorparser v0.6.2 [INFO] [stderr] Downloaded wezterm-color-types v0.3.0 [INFO] [stderr] Downloaded wezterm-dynamic-derive v0.1.1 [INFO] [stderr] Downloaded wezterm-input-types v0.1.0 [INFO] [stderr] Downloaded ratatui-termwiz v0.1.0 [INFO] [stderr] Downloaded lab v0.11.0 [INFO] [stderr] Downloaded unicode-truncate v2.0.1 [INFO] [stderr] Downloaded ratatui v0.30.0 [INFO] [stderr] Downloaded deltae v0.3.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 005f907dcfaaab4ba45006b50374963eaad8cf27fb60627bde68edc7aff9faee [INFO] running `Command { std: "docker" "start" "-a" "005f907dcfaaab4ba45006b50374963eaad8cf27fb60627bde68edc7aff9faee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "005f907dcfaaab4ba45006b50374963eaad8cf27fb60627bde68edc7aff9faee", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "005f907dcfaaab4ba45006b50374963eaad8cf27fb60627bde68edc7aff9faee", kill_on_drop: false }` [INFO] [stdout] 005f907dcfaaab4ba45006b50374963eaad8cf27fb60627bde68edc7aff9faee [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d4896ce2c23116f1b1043f63c30a69b9bd6ed045f1a7c5695b39710a09311406 [INFO] running `Command { std: "docker" "start" "-a" "d4896ce2c23116f1b1043f63c30a69b9bd6ed045f1a7c5695b39710a09311406", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling foldhash v0.2.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling num-conv v0.2.1 [INFO] [stderr] Compiling line-clipping v0.3.7 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling anstyle-parse v1.0.0 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling once_cell v1.21.4 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [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 socket2 v0.6.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling uuid v1.23.0 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.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 futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling clap_derive v4.6.0 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tokio v1.51.1 [INFO] [stderr] Compiling kasuari v0.4.12 [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 darling_macro v0.23.0 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling throbber-widgets-tui v0.11.0 [INFO] [stderr] Compiling o7 v0.1.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.17s [INFO] running `Command { std: "docker" "inspect" "d4896ce2c23116f1b1043f63c30a69b9bd6ed045f1a7c5695b39710a09311406", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d4896ce2c23116f1b1043f63c30a69b9bd6ed045f1a7c5695b39710a09311406", kill_on_drop: false }` [INFO] [stdout] d4896ce2c23116f1b1043f63c30a69b9bd6ed045f1a7c5695b39710a09311406 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78a052a78ddb678949a645d81778192ac696db09402bd7ead2990b59c4413833 [INFO] running `Command { std: "docker" "start" "-a" "78a052a78ddb678949a645d81778192ac696db09402bd7ead2990b59c4413833", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling assert_cmd v2.2.0 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling o7 v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `test_parse_match_serialization_elseBody_absent_when_no_else` should have a snake case name [INFO] [stdout] --> src/parser/parser.rs:1291:8 [INFO] [stdout] | [INFO] [stdout] 1291 | fn test_parse_match_serialization_elseBody_absent_when_no_else() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parse_match_serialization_else_body_absent_when_no_else` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 12.30s [INFO] running `Command { std: "docker" "inspect" "78a052a78ddb678949a645d81778192ac696db09402bd7ead2990b59c4413833", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78a052a78ddb678949a645d81778192ac696db09402bd7ead2990b59c4413833", kill_on_drop: false }` [INFO] [stdout] 78a052a78ddb678949a645d81778192ac696db09402bd7ead2990b59c4413833 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d5353ee5f092ca09e6869c58643c9cadc95302824f6c666389087b03378c27da [INFO] running `Command { std: "docker" "start" "-a" "d5353ee5f092ca09e6869c58643c9cadc95302824f6c666389087b03378c27da", kill_on_drop: false }` [INFO] [stderr] warning: function `test_parse_match_serialization_elseBody_absent_when_no_else` should have a snake case name [INFO] [stderr] --> src/parser/parser.rs:1291:8 [INFO] [stderr] | [INFO] [stderr] 1291 | fn test_parse_match_serialization_elseBody_absent_when_no_else() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_parse_match_serialization_else_body_absent_when_no_else` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `o7` (lib test) generated 1 warning [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/o7-06a95accb94b8046) [INFO] [stdout] [INFO] [stdout] running 404 tests [INFO] [stdout] test builtins::tests::test_extract_unknown_builtin ... ok [INFO] [stdout] test builtins::tests::test_list_builtins ... ok [INFO] [stdout] test builtins::tests::test_resolve_workflow_path_unknown_builtin ... ok [INFO] [stdout] test engine::engine::tests::test_generate_run_id ... ok [INFO] [stdout] test engine::engine::tests::test_exec_failure ... ok [INFO] [stdout] test engine::engine::tests::test_circular_reference_detected ... ok [INFO] [stdout] test engine::engine::tests::test_if_not_false_executes_body ... ok [INFO] [stdout] test engine::engine::tests::test_if_false_skips_body ... ok [INFO] [stdout] test engine::engine::tests::test_if_not_true_skips_body ... ok [INFO] [stdout] test engine::engine::tests::test_if_true_executes_body ... ok [INFO] [stdout] test engine::engine::tests::test_match_emits_before_and_after_match_arm_boundaries ... ok [INFO] [stdout] test engine::engine::tests::test_match_omits_reason_from_match_evaluated_when_not_present ... ok [INFO] [stdout] test engine::engine::tests::test_on_save_callback ... ok [INFO] [stdout] test engine::engine::tests::test_match_throws_runtime_error_when_no_match_and_no_else ... ok [INFO] [stdout] test engine::engine::tests::test_match_passes_variant_reason_through_match_evaluated_event ... ok [INFO] [stdout] test engine::engine::tests::test_on_event_callback ... ok [INFO] [stdout] test engine::engine::tests::test_pause ... ok [INFO] [stdout] test engine::engine::tests::test_reset_run_invalid_boundary ... ok [INFO] [stdout] test engine::engine::tests::test_reset_run ... ok [INFO] [stdout] test engine::engine::tests::test_match_routes_to_else_arm_when_no_variant_matches ... ok [INFO] [stdout] test engine::engine::tests::test_par_and_all_succeed ... ok [INFO] [stdout] test engine::engine::tests::test_run_state_tracking ... ok [INFO] [stdout] test engine::engine::tests::test_match_routes_to_matching_variant_arm ... ok [INFO] [stdout] test engine::engine::tests::test_safe_boundary_types_in_events ... ok [INFO] [stdout] test engine::engine::tests::test_simple_exec ... ok [INFO] [stdout] test engine::engine::tests::test_safe_boundaries_emitted ... ok [INFO] [stdout] test engine::engine::tests::test_par_and_branch_failure ... ok [INFO] [stdout] test engine::engine::tests::test_unknown_workflow_reference ... ok [INFO] [stdout] test engine::types::tests::test_branch_failed_serialization ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_all_types ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_branch_completed_with_output ... ok [INFO] [stdout] test engine::engine::tests::test_step_path_construction ... ok [INFO] [stdout] test engine::engine::tests::test_simple_run ... ok [INFO] [stdout] test engine::engine::tests::test_while_loop ... ok [INFO] [stdout] test engine::types::tests::test_branch_started_serialization ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_check_evaluated_with_reason ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_branch_completed_without_output ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_run_completed ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_deserialization ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_check_evaluated_without_reason ... ok [INFO] [stdout] test engine::engine::tests::test_unknown_workflow ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_safe_boundary_json ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_step_failed_json ... ok [INFO] [stdout] test engine::types::tests::test_execution_event_step_started_json ... ok [INFO] [stdout] test engine::types::tests::test_join_started_serialization ... ok [INFO] [stdout] test engine::types::tests::test_match_evaluated_else_arm ... ok [INFO] [stdout] test engine::types::tests::test_match_evaluated_with_reason ... ok [INFO] [stdout] test engine::types::tests::test_run_failed_serialization ... ok [INFO] [stdout] test engine::types::tests::test_run_paused_serialization ... ok [INFO] [stdout] test engine::types::tests::test_run_status_serialization ... ok [INFO] [stdout] test engine::types::tests::test_run_state_serialization ... ok [INFO] [stdout] test engine::types::tests::test_run_state_roundtrip ... ok [INFO] [stdout] test engine::types::tests::test_step_state_serialization ... ok [INFO] [stdout] test engine::types::tests::test_safe_boundary_type_constants ... ok [INFO] [stdout] test engine::types::tests::test_step_status_deserialization ... ok [INFO] [stdout] test harness::check::tests::test_parse_array_rejected ... ok [INFO] [stdout] test engine::types::tests::test_step_status_serialization ... ok [INFO] [stdout] test harness::check::tests::test_parse_invalid_json ... ok [INFO] [stdout] test harness::check::tests::test_parse_extra_property_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_check_result_from_exec_stdout ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_array_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_invalid_json ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_extra_property_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_empty_variant_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_missing_variant ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_non_string_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_null_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_valid_no_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_missing_result ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_non_string_variant ... ok [INFO] [stdout] test harness::check::tests::test_parse_non_boolean_result ... ok [INFO] [stdout] test harness::check::tests::test_parse_non_string_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_null_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_match_valid_with_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_number_rejected ... ok [INFO] [stdout] test harness::check::tests::test_parse_valid_false_no_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_valid_true_no_reason ... ok [INFO] [stdout] test harness::check::tests::test_parse_valid_true ... ok [INFO] [stdout] test harness::execute::tests::test_execute_empty_command ... ok [INFO] [stdout] test harness::config::tests::test_load_missing_config ... ok [INFO] [stdout] test harness::invocation::tests::test_build_basic_invocation ... ok [INFO] [stdout] test harness::invocation::tests::test_build_invocation_empty_prompt_slot ... ok [INFO] [stdout] test harness::invocation::tests::test_build_invocation_exec_args_add_new ... ok [INFO] [stdout] test harness::invocation::tests::test_build_invocation_exec_args_override_defaults ... ok [INFO] [stdout] test harness::invocation::tests::test_build_invocation_with_defaults ... ok [INFO] [stdout] test builtins::tests::test_check_script_is_executable ... ok [INFO] [stdout] test builtins::tests::test_harnesses_toml_is_extracted ... ok [INFO] [stdout] test builtins::tests::test_extract_generate_builtin ... ok [INFO] [stdout] test builtins::tests::test_llms_dsl_ref_is_extracted ... ok [INFO] [stdout] test builtins::tests::test_resolve_workflow_path_builtin ... ok [INFO] [stdout] test harness::execute::tests::test_execute_stream_json_stdout ... ok [INFO] [stdout] test harness::prompt::tests::test_resolve_prompt_bare_name_primary ... ok [INFO] [stdout] test harness::config::tests::test_invalid_output_mode ... ok [INFO] [stdout] test harness::prompt::tests::test_resolve_prompt_relative_path ... ok [INFO] [stdout] test harness::prompt::tests::test_resolve_prompt_not_found ... ok [INFO] [stdout] test harness::config::tests::test_invalid_args_mapping ... ok [INFO] [stdout] test harness::config::tests::test_load_valid_config ... ok [INFO] [stdout] test harness::tests::test_dispatch_exec_missing_harness ... ok [INFO] [stdout] test harness::tests::test_resolve_harness_found ... ok [INFO] [stdout] test harness::tests::test_dispatch_exec_no_prompt ... ok [INFO] [stdout] test harness::prompt::tests::test_resolve_prompt_bare_name_secondary ... ok [INFO] [stdout] test harness::tests::test_resolve_harness_not_found ... ok [INFO] [stdout] test harness::tests::test_resolve_harness_not_found_shows_available ... ok [INFO] [stdout] test parser::ast::tests::test_exec_block_serialization ... ok [INFO] [stdout] test parser::ast::tests::test_fail_policy_serialization ... ok [INFO] [stdout] test parser::ast::tests::test_if_not_deserialization ... ok [INFO] [stdout] test parser::ast::tests::test_exec_block_with_prompt_file ... ok [INFO] [stdout] test parser::ast::tests::test_if_statement_serialization ... ok [INFO] [stdout] test parser::ast::tests::test_match_statement_else_body_included_when_some ... ok [INFO] [stdout] test parser::ast::tests::test_match_statement_serialization_kind_and_camel_case ... ok [INFO] [stdout] test parser::ast::tests::test_match_statement_referenced_names ... ok [INFO] [stdout] test parser::ast::tests::test_par_and_serialization ... ok [INFO] [stdout] test parser::ast::tests::test_parse_result_err ... ok [INFO] [stdout] test parser::ast::tests::test_parse_result_ok ... ok [INFO] [stdout] test parser::ast::tests::test_run_statement_creation ... ok [INFO] [stdout] test parser::ast::tests::test_run_statement_roundtrip ... ok [INFO] [stdout] test parser::ast::tests::test_statement_json_has_kind_and_camel_case ... ok [INFO] [stdout] test parser::ast::tests::test_while_not_serialization ... ok [INFO] [stdout] test parser::ast::tests::test_workflow_decl_serialization ... ok [INFO] [stdout] test parser::errors::tests::test_error_display_format ... ok [INFO] [stdout] test parser::errors::tests::test_error_is_std_error ... ok [INFO] [stdout] test parser::errors::tests::test_error_new ... ok [INFO] [stdout] test parser::errors::tests::test_format_lint_output ... ok [INFO] [stdout] test parser::errors::tests::test_format_lint_output_empty ... ok [INFO] [stdout] test parser::errors::tests::test_lint_diagnostic_error ... ok [INFO] [stdout] test parser::errors::tests::test_lint_diagnostic_warning ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_bare_gt_error ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_arrow_token ... ok [INFO] [stdout] test parser::errors::tests::test_lint_diagnostic_from_parse_error ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_blank_lines_only ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_comment_lines_skipped ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_dedent_multiple_levels ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_colon_token ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_else_keyword ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_empty_source ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_exec_block_with_bare_value ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_match_keyword ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_fail_policy_keyword ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_minimal_valid ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_missing_version ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_mixed_tabs_and_spaces ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_namespace_name ... ok [INFO] [stdout] test harness::tests::test_check_script_dispatch_without_prompt_slot ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_par_and_keyword ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_inline_comment ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_string_with_escapes ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_tabs_rejected ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_unterminated_string ... ok [INFO] [stdout] test parser::linker::tests::test_link_circular_reference ... ok [INFO] [stdout] test parser::lexer::tests::test_lex_prompt_file_before_prompt ... ok [INFO] [stdout] test parser::linker::tests::test_link_circular_reference_e2e ... ok [INFO] [stdout] test parser::linker::tests::test_link_duplicate_name ... ok [INFO] [stdout] test parser::linker::tests::test_link_duplicate_name_e2e ... ok [INFO] [stdout] test parser::linker::tests::test_link_single_file_ok ... ok [INFO] [stdout] test parser::linker::tests::test_link_multi_file_ok ... ok [INFO] [stdout] test parser::linker::tests::test_link_unknown_reference_e2e ... ok [INFO] [stdout] test parser::linker::tests::test_link_valid_e2e ... ok [INFO] [stdout] test parser::linker::tests::test_link_unresolved_reference ... ok [INFO] [stdout] test parser::parser::tests::test_parse_exec_both_prompt_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_exec_missing_harness ... ok [INFO] [stdout] test parser::parser::tests::test_parse_exec_with_args ... ok [INFO] [stdout] test parser::parser::tests::test_parse_exec_neither_prompt_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_exec_with_prompt_string ... ok [INFO] [stdout] test parser::parser::tests::test_parse_if_not ... ok [INFO] [stdout] test parser::parser::tests::test_parse_empty_workflow ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_basic ... ok [INFO] [stdout] test parser::parser::tests::test_parse_if_statement ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_duplicate_variant_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_empty_arms_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_else_not_last_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_multi_statement_arm ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_keyword_variant_error ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_serialization_elseBody_absent_when_no_else ... ok [INFO] [stdout] test parser::parser::tests::test_parse_match_with_else ... ok [INFO] [stdout] test parser::parser::tests::test_parse_missing_version ... ok [INFO] [stdout] test parser::parser::tests::test_parse_multiple_workflows ... ok [INFO] [stdout] test parser::parser::tests::test_parse_minimal_workflow ... ok [INFO] [stdout] test parser::parser::tests::test_parse_namespaced_workflow ... ok [INFO] [stdout] test parser::parser::tests::test_parse_par_and ... ok [INFO] [stdout] test parser::parser::tests::test_parse_par_and_non_run_child ... ok [INFO] [stdout] test parser::parser::tests::test_parse_par_and_with_fail_policy ... ok [INFO] [stdout] test parser::parser::tests::test_parse_reserved_keyword_as_name ... ok [INFO] [stdout] test parser::parser::tests::test_parse_unexpected_token_at_top_level ... ok [INFO] [stdout] test parser::parser::tests::test_parse_unexpected_token_in_block ... ok [INFO] [stdout] test parser::parser::tests::test_parse_while_loop ... ok [INFO] [stdout] test parser::parser::tests::test_parse_while_not_loop ... ok [INFO] [stdout] test parser::parser::tests::test_parse_workflow_line_column ... ok [INFO] [stdout] test parser::parser::tests::test_parse_run_statement_line_column ... ok [INFO] [stdout] test parser::parser::tests::test_parse_wrong_version ... ok [INFO] [stdout] test parser::tokens::tests::test_token_creation ... ok [INFO] [stdout] test parser::tokens::tests::test_token_type_display ... ok [INFO] [stdout] test state::adapter::tests::test_map_boundary_type_all_variants ... ok [INFO] [stdout] test state::adapter::tests::test_empty_engine_state_round_trip ... ok [INFO] [stdout] test state::adapter::tests::test_build_branches_from_events ... ok [INFO] [stdout] test state::adapter::tests::test_to_engine_state_no_event_log ... ok [INFO] [stdout] test state::adapter::tests::test_round_trip ... ok [INFO] [stdout] test state::adapter::tests::test_to_engine_state ... ok [INFO] [stdout] test state::adapter::tests::test_to_engine_state_pending_status_rejected ... ok [INFO] [stdout] test state::adapter::tests::test_truncate_to_last_boundary_handles_empty_event_log ... ok [INFO] [stdout] test state::adapter::tests::test_to_persisted_state ... ok [INFO] [stdout] test state::adapter::tests::test_to_persisted_state_includes_harness_event_log ... ok [INFO] [stdout] test state::adapter::tests::test_truncate_to_last_boundary_truncates_harness_event_log_by_exec_ordinal ... ok [INFO] [stdout] test state::persistence::tests::test_list_runs_empty_dir ... ok [INFO] [stdout] test state::persistence::tests::test_load_nonexistent ... ok [INFO] [stdout] test state::persistence::tests::test_list_runs_ignores_non_directory_entries ... ok [INFO] [stdout] test state::persistence::tests::test_save_state_creates_runs_dir ... ok [INFO] [stdout] test state::persistence::tests::test_save_load_roundtrip_with_steps ... ok [INFO] [stdout] test state::persistence::tests::test_get_safe_boundaries ... ok [INFO] [stdout] test state::persistence::tests::test_save_and_load ... ok [INFO] [stdout] test state::persistence::tests::test_list_runs ... ok [INFO] [stdout] test state::persistence::tests::test_validate_boundary_forward_not_allowed ... ok [INFO] [stdout] test state::persistence::tests::test_list_runs_sorted_by_timestamp ... ok [INFO] [stdout] test state::persistence::tests::test_validate_state_bad_boundary_index ... ok [INFO] [stdout] test state::persistence::tests::test_validate_state_bad_schema_version ... ok [INFO] [stdout] test state::types::tests::test_branch_state_serialization ... ok [INFO] [stdout] test harness::tests::test_dispatch_exec_inline_prompt ... ok [INFO] [stdout] test state::persistence::tests::test_validate_state_empty_run_id ... ok [INFO] [stdout] test state::types::tests::test_persisted_run_state_json_field_names ... ok [INFO] [stdout] test state::types::tests::test_run_status_deserialization ... ok [INFO] [stdout] test state::types::tests::test_run_status_display ... ok [INFO] [stdout] test state::types::tests::test_persisted_run_state_roundtrip ... ok [INFO] [stdout] test state::persistence::tests::test_validate_boundary_out_of_range ... ok [INFO] [stdout] test state::persistence::tests::test_validate_boundary_no_boundaries ... ok [INFO] [stdout] test state::persistence::tests::test_validate_boundary_valid ... ok [INFO] [stdout] test state::types::tests::test_run_summary_serialization ... ok [INFO] [stdout] test state::types::tests::test_run_status_serialization ... ok [INFO] [stdout] test state::types::tests::test_step_kind_serialization ... ok [INFO] [stdout] test state::types::tests::test_safe_boundary_type_all_9_variants ... ok [INFO] [stdout] test state::types::tests::test_step_state_persisted_json_field_names ... ok [INFO] [stdout] test tui::app::tests::test_advance_to_next_unanswered_after_choose_one ... ok [INFO] [stdout] test tui::app::tests::test_advance_shows_review_when_all_answered ... ok [INFO] [stdout] test harness::tests::test_dispatch_exec_with_prompt_file ... ok [INFO] [stdout] test tui::app::tests::test_all_answered_false_when_some_missing ... ok [INFO] [stdout] test tui::app::tests::test_all_answered_false_when_no_qout ... ok [INFO] [stdout] test tui::app::tests::test_app_mode_transitions ... ok [INFO] [stdout] test harness::tests::test_run_context_injects_env_vars ... ok [INFO] [stdout] test tui::app::tests::test_all_answered_true_when_all_present ... ok [INFO] [stdout] test tui::app::tests::test_app_navigation ... ok [INFO] [stdout] test tui::app::tests::test_app_step_status_update ... ok [INFO] [stdout] test tui::app::tests::test_build_display_steps_simple ... ok [INFO] [stdout] test tui::app::tests::test_build_display_steps_with_run ... ok [INFO] [stdout] test tui::app::tests::test_char_to_byte_index_multibyte ... ok [INFO] [stdout] test tui::app::tests::test_backtab_from_review_returns_to_last_tab ... ok [INFO] [stdout] test tui::app::tests::test_backtab_key_goes_back_from_free_write_mode ... ok [INFO] [stdout] test tui::app::tests::test_char_to_byte_index_one_past_end_returns_len ... ok [INFO] [stdout] test tui::app::tests::test_ctrl_backspace_deletes_word ... ok [INFO] [stdout] test tui::app::tests::test_char_to_byte_index_ascii ... ok [INFO] [stdout] test tui::app::tests::test_ctrl_delete_deletes_word_ahead ... ok [INFO] [stdout] test tui::app::tests::test_char_to_byte_index_beyond_end_clamps_to_len ... ok [INFO] [stdout] test tui::app::tests::test_ctrl_right_moves_cursor_by_word ... ok [INFO] [stdout] test tui::app::tests::test_ctrl_left_moves_cursor_by_word ... ok [INFO] [stdout] test tui::app::tests::test_free_write_backspace_at_start_is_noop ... ok [INFO] [stdout] test tui::app::tests::test_free_write_backspace_deletes_before_cursor ... ok [INFO] [stdout] test tui::app::tests::test_free_write_left_at_start_is_noop ... ok [INFO] [stdout] test tui::app::tests::test_free_write_does_not_navigate_tabs_with_left_right ... ok [INFO] [stdout] test tui::app::tests::test_free_write_right_at_end_is_noop ... ok [INFO] [stdout] test tui::app::tests::test_free_write_right_moves_cursor_right ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_choose_many_enter_confirms ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_choose_one_navigation ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_choose_many_space_toggle ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_esc_returns_to_previous_mode ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_choose_one_enter ... ok [INFO] [stdout] test tui::app::tests::test_free_write_left_moves_cursor_left ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_free_write_does_not_navigate_tabs_with_left_right ... ok [INFO] [stdout] test tui::app::tests::test_free_write_char_inserts_at_cursor_position ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_free_write_enter_confirms ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_free_write_enter_with_empty_is_noop ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_free_write_shift_enter_inserts_newline ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_free_write_typing ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_left_navigates_tab ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_left_from_review_returns_to_last_tab ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_number_key_out_of_range_ignored ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_number_keys_jump_tabs ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_review_e_goes_back_to_edit ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_review_backspace_goes_back_to_edit ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_review_enter_does_not_submit_when_not_all_answered ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_right_navigates_tab ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_right_past_last_does_not_show_review_if_not_all_answered ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_right_past_last_shows_review_only_if_all_answered ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_review_enter_submits_when_all_answered ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_yes_no_enter_selects_cursor ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_yes_no_n ... ok [INFO] [stdout] test tui::app::tests::test_handle_qa_key_yes_no_y ... ok [INFO] [stdout] test tui::app::tests::test_harness_event_message_appends_to_log ... ok [INFO] [stdout] test tui::app::tests::test_qa_answer_message_stores_answer ... ok [INFO] [stdout] test tui::app::tests::test_qa_back_to_edit ... ok [INFO] [stdout] test tui::app::tests::test_qa_panel_visible_when_question_input ... ok [INFO] [stdout] test tui::app::tests::test_qa_panel_not_visible_by_default ... ok [INFO] [stdout] test tui::app::tests::test_qa_select_tab_out_of_range_ignored ... ok [INFO] [stdout] test tui::app::tests::test_qa_panel_visible_when_waiting ... ok [INFO] [stdout] test tui::app::tests::test_qa_select_tab_valid_index ... ok [INFO] [stdout] test tui::app::tests::test_qa_submit_clears_state_and_sets_waiting ... ok [INFO] [stdout] test tui::app::tests::test_qa_show_review ... ok [INFO] [stdout] test tui::app::tests::test_qa_submit_with_partial_answers_only_includes_answered ... ok [INFO] [stdout] test tui::app::tests::test_qa_waiting_cleared_on_run_completed ... ok [INFO] [stdout] test tui::app::tests::test_qa_submit_restores_previous_mode ... ok [INFO] [stdout] test tui::app::tests::test_qa_waiting_cleared_on_run_failed ... ok [INFO] [stdout] test tui::app::tests::test_qa_waiting_cleared_on_run_paused ... ok [INFO] [stdout] test tui::app::tests::test_questions_detected_switches_mode ... ok [INFO] [stdout] test tui::app::tests::test_quit_from_paused_exits_immediately ... ok [INFO] [stdout] test tui::app::tests::test_quit_from_running_requests_pause_before_exit ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_clears_state ... ok [INFO] [stdout] test tui::app::tests::test_questions_detected_clears_previous_answers ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_pre_populates_cursor_to_end_of_text ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_pre_populates_boolean_answer ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_pre_populates_existing_answer_text ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_resets_text_cursor_to_zero ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_pre_populates_multiselect ... ok [INFO] [stdout] test tui::app::tests::test_reset_widget_for_tab_pre_populates_choose_one_cursor ... ok [INFO] [stdout] test tui::app::tests::test_run_paused_completes_pending_quit ... ok [INFO] [stdout] test tui::app::tests::test_save_widget_state_choose_many_deselect_all_with_prior_answer_saves_empty ... ok [INFO] [stdout] test tui::app::tests::test_save_widget_state_empty_free_write_does_not_save ... ok [INFO] [stdout] test tui::app::tests::test_save_widget_state_saves_choose_many_toggles_without_enter ... ok [INFO] [stdout] test tui::app::tests::test_tab_key_advances_tab_in_free_write_mode ... ok [INFO] [stdout] test tui::app::tests::test_save_widget_state_saves_free_write_text_without_enter ... ok [INFO] [stdout] test tui::app::tests::test_tab_key_at_last_not_all_answered_does_nothing ... ok [INFO] [stdout] test tui::app::tests::test_tab_key_auto_saves_free_write_text_before_switch ... ok [INFO] [stdout] test tui::app::tests::test_take_qa_submit_data_returns_none_when_empty ... ok [INFO] [stdout] test tui::app::tests::test_word_end_right_basic ... ok [INFO] [stdout] test tui::app::tests::test_tab_key_to_review_when_all_answered ... ok [INFO] [stdout] test tui::app::tests::test_word_start_left_basic ... ok [INFO] [stdout] test tui::command_palette::tests::test_filter ... ok [INFO] [stdout] test tui::app::tests::test_word_end_right_multiple_spaces ... ok [INFO] [stdout] test tui::command_palette::tests::test_navigation ... ok [INFO] [stdout] test tui::app::tests::test_word_start_left_multiple_spaces ... ok [INFO] [stdout] test tui::command_palette::tests::test_palette_commands_when_running ... ok [INFO] [stdout] test tui::command_palette::tests::test_palette_commands_when_paused ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_answers_file_with_questions_roundtrip ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_all_question_types_serialize_correctly ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_cross_impl_json_compat ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_empty_questions_array ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_format_seq ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_invalid_json_fails_gracefully ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_parse_seq_edge_cases ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_missing_required_field_fails ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_parse_seq_from_filename ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_preview_type_serialization ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_question_to_answer_boolean_false ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_question_to_answer_boolean_true ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_question_to_answer_choose_one_preserves_options ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_question_to_answer_text ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_question_to_answer_multiselect ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_roundtrip_answers ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_roundtrip_qout ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_special_characters_in_prompt ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_rust_produced_json_matches_ts_format ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_ts_produced_answers_parse_in_rust ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_ts_produced_qout_parses_in_rust ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_ensure_qa_dir_creates_directory ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_mark_answered_prevents_re_notification ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_when_qa_dir_does_not_exist ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_detects_new_qout ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_qa_dir_accessor ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_ignores_answered ... ok [INFO] [stdout] test tui::quit_summary::tests::test_build_quit_summary_for_completed_run ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_002_before_001_still_processes_in_order ... ok [INFO] [stdout] test tui::quit_summary::tests::test_build_quit_summary_for_paused_run ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_ignores_non_qout_files ... ok [INFO] [stdout] test tui::ui::tests::test_format_elapsed ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_notifies_only_once_before_answer_written ... ok [INFO] [stdout] test tui::ui::tests::test_status_icons ... ok [INFO] [stdout] test wiz::app::tests::test_alt_right_and_delete_remove_next_word ... ok [INFO] [stdout] test wiz::app::tests::test_backtab_from_review_returns_to_last_tab ... ok [INFO] [stdout] test wiz::app::tests::test_alt_word_bindings_match_ctrl_behavior ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_skips_invalid_json_qout ... ok [INFO] [stdout] test wiz::app::tests::test_backspace_removes_char_before_cursor ... ok [INFO] [stdout] test tui::qa_watcher::tests::test_poll_processes_in_order ... ok [INFO] [stdout] test wiz::app::tests::test_delete_removes_character_at_cursor ... ok [INFO] [stdout] test wiz::app::tests::test_ctrl_w_deletes_previous_word ... ok [INFO] [stdout] test wiz::app::tests::test_enter_in_review_sets_writing_phase ... ok [INFO] [stdout] test wiz::app::tests::test_enter_advances_to_next_unanswered_question ... ok [INFO] [stdout] test wiz::app::tests::test_esc_sets_aborted_phase ... ok [INFO] [stdout] test wiz::app::tests::test_handle_key_returns_true_in_done_phase ... ok [INFO] [stdout] test wiz::app::tests::test_ctrl_left_and_right_move_by_word ... ok [INFO] [stdout] test wiz::app::tests::test_insert_at_cursor_middle ... ok [INFO] [stdout] test wiz::app::tests::test_ctrl_backspace_and_delete_remove_words ... ok [INFO] [stdout] test wiz::app::tests::test_left_right_move_cursor ... ok [INFO] [stdout] test wiz::app::tests::test_new_preloads_prefill_answers ... ok [INFO] [stdout] test wiz::app::tests::test_new_sets_initial_text_buffer_from_first_answer ... ok [INFO] [stdout] test wiz::app::tests::test_tab_advances_tab ... ok [INFO] [stdout] test wiz::app::tests::test_tab_from_last_goes_to_review ... ok [INFO] [stdout] test wiz::app::tests::test_tab_saves_buffer_before_switching ... ok [INFO] [stdout] test wiz::flow::tests::test_existing_global_config_prefills_global_questions ... ok [INFO] [stdout] test wiz::app::tests::test_typing_inserts_chars ... ok [INFO] [stdout] test wiz::flow::tests::test_existing_harness_prefills_name_and_command ... ok [INFO] [stdout] test wiz::flow::tests::test_fresh_setup_all_prefills_empty ... ok [INFO] [stdout] test wiz::flow::tests::test_fresh_setup_produces_five_questions ... ok [INFO] [stdout] test wiz::flow::tests::test_question_ids_in_order ... ok [INFO] [stdout] test wiz::global_config::tests::test_load_missing_global_config_returns_default ... ok [INFO] [stdout] test wiz::writer::tests::test_resolve_written_config_extracts_all_fields ... ok [INFO] [stdout] test wiz::writer::tests::test_resolve_written_config_uses_fallbacks_for_empty_answers ... ok [INFO] [stdout] test wiz::global_config::tests::test_load_existing_global_config ... ok [INFO] [stdout] test tui::qa_protocol::tests::test_very_long_text_survives_roundtrip ... ok [INFO] [stdout] test wiz::writer::tests::test_no_tmp_files_remain_after_harness_write ... ok [INFO] [stdout] test wiz::writer::tests::test_write_harness_config_creates_toml ... ok [INFO] [stdout] test harness::execute::tests::test_execute_nonexistent_command ... ok [INFO] [stdout] test harness::execute::tests::test_execute_exit_code ... ok [INFO] [stdout] test harness::execute::tests::test_execute_captures_stderr ... ok [INFO] [stdout] test harness::execute::tests::test_execute_echo ... ok [INFO] [stdout] test harness::execute::tests::test_execute_stream_json_invalid_line_fails ... ok [INFO] [stdout] test wiz::writer::tests::test_write_harness_config_omits_prompt_slot_when_none ... ok [INFO] [stdout] test wiz::writer::tests::test_write_global_config_omits_none_fields ... ok [INFO] [stdout] test wiz::writer::tests::test_write_global_config_creates_toml ... FAILED [INFO] [stdout] test harness::execute::tests::test_execute_stream_json_invalid_line_keeps_draining_until_exit ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- wiz::writer::tests::test_write_global_config_creates_toml stdout ---- [INFO] [stdout] [INFO] [stdout] thread 'wiz::writer::tests::test_write_global_config_creates_toml' (428) panicked at src/wiz/writer.rs:197:91: [INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" } [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x652b7a5f394a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x652b7a5f394a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x652b7a5f394a - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9 [INFO] [stdout] 3: 0x652b7a5f394a - <::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26 [INFO] [stdout] 4: 0x652b7a60a4da - ::fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76 [INFO] [stdout] 5: 0x652b7a60a4da - core[c1f1a4ba060b9bfa]::fmt::write [INFO] [stdout] 6: 0x652b7a5f8592 - std[e28293b1aa0f68bd]::io::default_write_fmt::> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x652b7a5f8592 - as std[e28293b1aa0f68bd]::io::Write>::write_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13 [INFO] [stdout] 8: 0x652b7a5cfb6f - ::print [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9 [INFO] [stdout] 9: 0x652b7a5cfb6f - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27 [INFO] [stdout] 10: 0x652b7a5eaae9 - std[e28293b1aa0f68bd]::panicking::default_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:316:9 [INFO] [stdout] 11: 0x652b7a4b8cdc - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 12: 0x652b7a4b8cdc - test[273d7611820c9051]::test_main_with_exit_callback::::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:145:21 [INFO] [stdout] 13: 0x652b7a5ead62 - core[c1f1a4ba060b9bfa]::ops::function::Fn<(&'a std[e28293b1aa0f68bd]::panic::PanicHookInfo<'b>,), Output = ()> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::Fn<(&std[e28293b1aa0f68bd]::panic::PanicHookInfo,)>>::call [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2254:9 [INFO] [stdout] 14: 0x652b7a5ead62 - std[e28293b1aa0f68bd]::panicking::panic_with_hook [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:833:13 [INFO] [stdout] 15: 0x652b7a5cfc28 - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:698:13 [INFO] [stdout] 16: 0x652b7a5c7169 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18 [INFO] [stdout] 17: 0x652b7a5d0bfd - __rustc[b7974e8690430dd9]::rust_begin_unwind [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5 [INFO] [stdout] 18: 0x652b7a60adbc - core[c1f1a4ba060b9bfa]::panicking::panic_fmt [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14 [INFO] [stdout] 19: 0x652b7a60ab32 - core[c1f1a4ba060b9bfa]::result::unwrap_failed [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:1867:5 [INFO] [stdout] 20: 0x652b7a2723e6 - core::result::Result::unwrap::hf711305700b14621 [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/result.rs:1233:23 [INFO] [stdout] 21: 0x652b7a2723e6 - o7::wiz::writer::tests::test_write_global_config_creates_toml::h1e752cc82c28d073 [INFO] [stdout] at /opt/rustwide/workdir/src/wiz/writer.rs:197:91 [INFO] [stdout] 22: 0x652b7a272627 - o7::wiz::writer::tests::test_write_global_config_creates_toml::{{closure}}::hb103978f2bdd43e2 [INFO] [stdout] at /opt/rustwide/workdir/src/wiz/writer.rs:186:47 [INFO] [stdout] 23: 0x652b7a17fd06 - core::ops::function::FnOnce::call_once::h3e7136e8acec06b7 [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 24: 0x652b7a4acdbb - core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 25: 0x652b7a4acdbb - test[273d7611820c9051]::__rust_begin_short_backtrace::, fn() -> core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:663:18 [INFO] [stdout] 26: 0x652b7a4b97ab - test[273d7611820c9051]::run_test_in_process::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:74 [INFO] [stdout] 27: 0x652b7a4b97ab - as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 28: 0x652b7a4b97ab - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 29: 0x652b7a4b97ab - std[e28293b1aa0f68bd]::panicking::catch_unwind::, core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 30: 0x652b7a4b97ab - std[e28293b1aa0f68bd]::panic::catch_unwind::, core[c1f1a4ba060b9bfa]::result::Result<(), alloc[fdfd2bd8633a6659]::string::String>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 31: 0x652b7a4b97ab - test[273d7611820c9051]::run_test_in_process [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:686:27 [INFO] [stdout] 32: 0x652b7a4b97ab - test[273d7611820c9051]::run_test::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:607:43 [INFO] [stdout] 33: 0x652b7a4b4ec4 - test[273d7611820c9051]::run_test::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/test/src/lib.rs:637:41 [INFO] [stdout] 34: 0x652b7a4b4ec4 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_begin_short_backtrace:: [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:166:18 [INFO] [stdout] 35: 0x652b7a4bc3b2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1}::{closure#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:91:13 [INFO] [stdout] 36: 0x652b7a4bc3b2 - ::{closure#1}::{closure#0}> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stdout] 37: 0x652b7a4bc3b2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40 [INFO] [stdout] 38: 0x652b7a4bc3b2 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<(), core[c1f1a4ba060b9bfa]::panic::unwind_safe::AssertUnwindSafe::{closure#1}::{closure#0}>> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19 [INFO] [stdout] 39: 0x652b7a4bc3b2 - std[e28293b1aa0f68bd]::panic::catch_unwind::::{closure#1}::{closure#0}>, ()> [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14 [INFO] [stdout] 40: 0x652b7a4bc3b2 - std[e28293b1aa0f68bd]::thread::lifecycle::spawn_unchecked::::{closure#1} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/thread/lifecycle.rs:89:26 [INFO] [stdout] 41: 0x652b7a4bc3b2 - ::{closure#1} as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0} [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:250:5 [INFO] [stdout] 42: 0x652b7a5f2d2f - + core[c1f1a4ba060b9bfa]::marker::Send> as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/alloc/src/boxed.rs:2240:9 [INFO] [stdout] 43: 0x652b7a5f2d2f - ::new::thread_start [INFO] [stdout] at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/thread/unix.rs:118:17 [INFO] [stdout] 44: 0x718fe450eaa4 - [INFO] [stdout] 45: 0x718fe459ba64 - clone [INFO] [stdout] 46: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] wiz::writer::tests::test_write_global_config_creates_toml [INFO] [stdout] [INFO] [stdout] test result: FAILED. 403 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] running `Command { std: "docker" "inspect" "d5353ee5f092ca09e6869c58643c9cadc95302824f6c666389087b03378c27da", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d5353ee5f092ca09e6869c58643c9cadc95302824f6c666389087b03378c27da", kill_on_drop: false }` [INFO] [stdout] d5353ee5f092ca09e6869c58643c9cadc95302824f6c666389087b03378c27da