[INFO] cloning repository https://github.com/ChloeVPin/codex-desktop-linux
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ChloeVPin/codex-desktop-linux" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChloeVPin%2Fcodex-desktop-linux", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChloeVPin%2Fcodex-desktop-linux'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3e22db7e0e5fb3fedac94176142a401e080eaf09
[INFO] testing ChloeVPin/codex-desktop-linux against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FChloeVPin%2Fcodex-desktop-linux" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ChloeVPin/codex-desktop-linux
[INFO] finished tweaking git repo https://github.com/ChloeVPin/codex-desktop-linux
[INFO] tweaked toml for git repo https://github.com/ChloeVPin/codex-desktop-linux written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ChloeVPin/codex-desktop-linux on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ChloeVPin/codex-desktop-linux 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db
[INFO] running `Command { std: "docker" "start" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", 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" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", 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" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling futures-lite v2.6.1
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling piper v0.2.5
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling ordered-stream v0.2.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling event-listener-strategy v0.5.4
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling async-channel v2.5.0
[INFO] [stderr]    Compiling async-lock v3.4.2
[INFO] [stderr]    Compiling async-broadcast v0.7.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling async-executor v1.14.0
[INFO] [stderr]    Compiling blocking v1.6.2
[INFO] [stderr]    Compiling rmcp v1.5.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling hybrid-array v0.4.10
[INFO] [stderr]    Compiling pastey v0.2.2
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling rustls-native-certs v0.8.3
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling iri-string v0.7.11
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling toml_edit v0.25.8+spec-1.1.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling block-buffer v0.12.0
[INFO] [stderr]    Compiling crypto-common v0.2.1
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling xkeysym v0.2.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]    Compiling digest v0.11.2
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling aws-lc-sys v0.39.1
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.49
[INFO] [stderr]    Compiling evdev v0.13.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling mimalloc v0.1.52
[INFO] [stderr]    Compiling polling v3.11.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling async-signal v0.2.13
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-process v2.5.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling rmcp-macros v1.5.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling zvariant_utils v3.3.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling zvariant_derive v5.10.1
[INFO] [stderr]    Compiling zvariant v5.10.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling zbus_names v4.3.2
[INFO] [stderr]    Compiling zbus_xml v5.1.1
[INFO] [stderr]    Compiling zbus_macros v5.14.0
[INFO] [stderr]    Compiling wayland-protocols v0.32.12
[INFO] [stderr]    Compiling zbus-lockstep v0.5.2
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.5.2
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling zbus v5.14.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling wayland-protocols-wlr v0.3.12
[INFO] [stderr]    Compiling cosmic-protocols v0.2.0
[INFO] [stderr]    Compiling codex-read-aloud-linux v0.1.0-linux-alpha1 (/opt/rustwide/workdir/read-aloud-linux)
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling atspi-common v0.13.0
[INFO] [stderr]    Compiling notify-rust v4.18.0
[INFO] [stderr]    Compiling codex-update-manager v0.8.6 (/opt/rustwide/workdir/updater)
[INFO] [stderr]    Compiling atspi-proxies v0.13.0
[INFO] [stderr]    Compiling atspi-connection v0.13.0
[INFO] [stderr]    Compiling atspi v0.29.0
[INFO] [stderr]    Compiling codex-computer-use-linux v0.2.9-linux-alpha1 (/opt/rustwide/workdir/computer-use-linux)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 07s
[INFO] running `Command { std: "docker" "inspect" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", 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" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling codex-computer-use-linux v0.2.9-linux-alpha1 (/opt/rustwide/workdir/computer-use-linux)
[INFO] [stderr]    Compiling codex-read-aloud-linux v0.1.0-linux-alpha1 (/opt/rustwide/workdir/read-aloud-linux)
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling codex-update-manager v0.8.6 (/opt/rustwide/workdir/updater)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 37.14s
[INFO] running `Command { std: "docker" "inspect" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", 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" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] [stderr]      Running unittests src/bin/codex-chrome-extension-host.rs (/opt/rustwide/target/debug/deps/codex_chrome_extension_host-3d1586c7c61772b5)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::disconnect_cleanup_removes_pending_state_for_client ... ok
[INFO] [stdout] test tests::frame_round_trip_uses_native_length_prefix ... ok
[INFO] [stdout] test tests::forwards_client_raw_cdp_event_requests_to_chrome_without_filtering ... ok
[INFO] [stdout] test tests::extracts_session_turn_from_browser_request ... ok
[INFO] [stdout] test tests::finds_nested_rollout_path_by_session_id ... ok
[INFO] [stdout] test tests::get_info_falls_back_when_runtime_get_version_is_missing ... ok
[INFO] [stdout] test tests::drains_rollout_file_from_offset ... ok
[INFO] [stdout] test tests::recognizes_task_complete_rollout_line ... ok
[INFO] [stdout] test tests::replacing_browser_client_evicts_stale_clients_and_pending_requests ... ok
[INFO] [stdout] test tests::rejects_chrome_request_routing_without_exactly_one_client ... ok
[INFO] [stdout] test tests::late_discovered_rollout_file_scans_existing_content ... ok
[INFO] [stdout] test tests::id_replacement_preserves_other_fields ... ok
[INFO] [stdout] test tests::evicted_client_requests_are_ignored ... ok
[INFO] [stdout] test tests::forwards_chrome_raw_cdp_responses_to_the_requesting_client ... ok
[INFO] [stderr]      Running unittests src/bin/codex-computer-use-cosmic.rs (/opt/rustwide/target/debug/deps/codex_computer_use_cosmic-30e510a49b8cc3b2)
[INFO] [stdout] test tests::forwards_client_raw_cdp_call_requests_to_chrome_without_filtering ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::activation_state_expires_after_ttl ... ok
[INFO] [stdout] test tests::activation_state_is_fresh_within_ttl ... ok
[INFO] [stdout] test tests::parse_activate_window_args_requires_numeric_id ... ok
[INFO] [stdout] test tests::stable_window_id_is_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codex_computer_use_linux-47ae908146ffd72f)
[INFO] [stdout] 
[INFO] [stdout] running 120 tests
[INFO] [stdout] test atspi_tree::tests::select_action_index_defaults_to_secondary_when_available ... ok
[INFO] [stdout] test atspi_tree::tests::select_action_index_uses_named_action ... ok
[INFO] [stdout] test diagnostics::tests::accessibility_tree_is_ready_when_bus_and_toolkit_are_ready ... ok
[INFO] [stdout] test diagnostics::tests::desktop_env_hydration_includes_xauthority ... ok
[INFO] [stdout] test atspi_tree::tests::split_object_ref_id_separates_bus_name_and_path ... ok
[INFO] [stdout] test diagnostics::tests::parses_nul_separated_process_environment ... ok
[INFO] [stdout] test diagnostics::tests::parses_parent_pid_from_proc_status ... ok
[INFO] [stdout] test diagnostics::tests::accessibility_tree_requires_reachable_at_spi_bus ... ok
[INFO] [stdout] test diagnostics::tests::parses_systemd_show_environment_output ... ok
[INFO] [stdout] test diagnostics::tests::readiness_accepts_remote_desktop_portal_without_local_input_backend ... ok
[INFO] [stdout] test diagnostics::tests::readiness_accepts_direct_uinput_without_connectable_ydotool_socket ... ok
[INFO] [stdout] test diagnostics::tests::readiness_message_mentions_generic_window_targeting ... ok
[INFO] [stdout] test diagnostics::tests::readiness_reports_cosmic_window_blocker_on_cosmic ... ok
[INFO] [stdout] test diagnostics::tests::readiness_requires_exact_window_focus_for_targeted_input ... ok
[INFO] [stdout] test diagnostics::tests::readiness_treats_kwin_as_full_window_backend ... ok
[INFO] [stdout] test gnome_extension::tests::rendered_metadata_uses_build_identity ... ok
[INFO] [stdout] test gnome_extension::tests::enabled_extensions_literal_is_idempotent ... ok
[INFO] [stdout] test remote_desktop::tests::keysyms_for_non_ascii_use_legacy_and_unicode_mapped_values ... ok
[INFO] [stdout] test gnome_extension::tests::rendered_extension_uses_build_identity ... ok
[INFO] [stdout] test diagnostics::tests::ydotool_socket_check_accepts_datagram_socket ... ok
[INFO] [stdout] test gnome_extension::tests::enabled_extensions_literal_adds_uuid_to_existing_list ... ok
[INFO] [stdout] test remote_desktop::tests::keysyms_for_url_text_round_trips_to_literal_characters ... ok
[INFO] [stdout] test remote_desktop::tests::keysyms_for_text_rejects_unicode_non_symbols_before_input ... ok
[INFO] [stdout] test diagnostics::tests::ydotool_socket_check_requires_a_connectable_socket ... ok
[INFO] [stdout] test gnome_extension::tests::enabled_extensions_literal_handles_empty_typed_array ... ok
[INFO] [stdout] test screenshot::tests::parses_known_backend_names ... ok
[INFO] [stdout] test screenshot::tests::portal_capture_preserves_invalid_returned_path ... ok
[INFO] [stdout] test screenshot::tests::decodes_file_uri_percent_escapes ... ok
[INFO] [stdout] test remote_desktop::tests::keysyms_for_layout_sensitive_ascii_use_literal_symbols ... ok
[INFO] [stdout] test screenshot::tests::forced_backend_reads_env_override ... ok
[INFO] [stdout] test screenshot::tests::request_token_is_portal_safe ... ok
[INFO] [stdout] test screenshot::tests::gnome_capture_deletes_backend_temp_path_on_success ... ok
[INFO] [stdout] test server::tests::absolute_mousemove_uses_coordinate_separator ... ok
[INFO] [stdout] test screenshot::tests::portal_capture_preserves_valid_returned_path ... ok
[INFO] [stdout] test server::tests::accessibility_filter_candidates_prefer_title_and_skip_synthetic_app_id ... ok
[INFO] [stdout] test atspi_tree::tests::state_labels_serialize_in_bit_order ... ok
[INFO] [stdout] test screenshot::tests::gnome_deletes_requested_temp_path_and_preserves_unexpected_returned_path ... ok
[INFO] [stdout] test diagnostics::tests::readiness_accepts_connectable_ydotool_socket_without_direct_uinput_access ... ok
[INFO] [stdout] test screenshot::tests::gnome_failure_cleanup_removes_requested_temp_path ... ok
[INFO] [stdout] test server::tests::cached_element_index_ignores_sentinel_bounds ... ok
[INFO] [stdout] test server::tests::cached_element_index_requires_positive_bounds ... ok
[INFO] [stdout] test server::tests::cached_element_index_resolves_to_bounds_center ... ok
[INFO] [stdout] test server::tests::compact_accessibility_tree_drops_structural_noise ... ok
[INFO] [stdout] test diagnostics::tests::readiness_rejects_inaccessible_ydotool_paths ... ok
[INFO] [stdout] test diagnostics::tests::graphical_process_env_requires_display ... ok
[INFO] [stdout] test server::tests::explicit_ydotool_socket_is_used_without_connectability_probe ... ok
[INFO] [stdout] test server::tests::coordinate_target_overrides_cached_element_index ... ok
[INFO] [stdout] test server::tests::element_identifier_overrides_cached_object_ref ... ok
[INFO] [stdout] test server::tests::element_index_resolves_to_cached_object_ref ... ok
[INFO] [stdout] test server::tests::empty_node_cache_clears_stale_element_index ... ok
[INFO] [stdout] test server::tests::kde_clipboard_restore_delay_scales_and_caps_long_text ... ok
[INFO] [stdout] test screenshot::tests::reads_png_dimensions_from_ihdr ... ok
[INFO] [stdout] test server::tests::key_sequence_keeps_shortcuts_and_navigation_on_raw_events ... ok
[INFO] [stdout] test server::tests::compact_accessibility_tree_reparents_actionable_descendants ... ok
[INFO] [stdout] test server::tests::click_target_falls_back_to_primary_action_with_sentinel_bounds ... ok
[INFO] [stdout] test server::tests::pointer_actions_keep_pixel_coordinates_for_ydotool_absolute_moves ... ok
[INFO] [stdout] test server::tests::key_sequence_presses_modifiers_around_key ... ok
[INFO] [stdout] test server::tests::key_sequence_presses_bare_modifier ... ok
[INFO] [stdout] test server::tests::click_target_falls_back_to_primary_action_without_bounds ... ok
[INFO] [stdout] test server::tests::kde_clipboard_dbus_operation_times_out_when_pending ... ok
[INFO] [stdout] test server::tests::kde_clipboard_restore_delay_uses_minimum_for_short_text ... ok
[INFO] [stdout] test server::tests::relative_click_coordinates_prefer_focused_window_bounds ... ok
[INFO] [stdout] test screenshot::tests::gnome_capture_deletes_backend_temp_path_on_parse_failure ... ok
[INFO] [stdout] test server::tests::relative_click_coordinates_require_window_bounds_origin ... ok
[INFO] [stdout] test server::tests::relative_click_coordinates_use_verified_window_bounds ... ok
[INFO] [stdout] test server::tests::click_target_requires_bounds_for_non_plain_clicks ... ok
[INFO] [stdout] test server::tests::perform_action_defaults_to_primary_action_index ... ok
[INFO] [stdout] test server::tests::relative_click_coordinates_require_xy ... ok
[INFO] [stdout] test server::tests::relative_click_coordinates_must_stay_inside_bounds ... ok
[INFO] [stdout] test server::tests::select_accessibility_object_ref_prefers_exact_pid_match ... ok
[INFO] [stdout] test server::tests::semantic_click_selector_resolves_coordinates ... ok
[INFO] [stdout] test server::tests::semantic_selector_prefers_actionable_match ... ok
[INFO] [stdout] test server::tests::semantic_selector_prefers_editable_match ... ok
[INFO] [stdout] test server::tests::semantic_selector_reports_ambiguous_matches ... ok
[INFO] [stdout] test server::tests::semantic_selector_resolves_unique_cached_node_by_role_and_name ... ok
[INFO] [stdout] test server::tests::wheel_mousemove_uses_coordinate_separator_for_negative_values ... ok
[INFO] [stdout] test server::tests::ydotool_type_timeout_scales_with_text_length ... ok
[INFO] [stdout] test terminal::tests::leaves_terminal_context_empty_when_window_session_counts_do_not_match ... ok
[INFO] [stdout] test terminal::tests::assigns_terminal_sessions_by_window_and_pty_creation_order ... ok
[INFO] [stdout] test terminal::tests::parses_proc_stat_with_parenthesized_command ... ok
[INFO] [stdout] test windowing::backends::hyprland::tests::selects_newest_hyprland_instance_when_wayland_match_is_tied ... ok
[INFO] [stdout] test windowing::backends::hyprland::tests::selects_wayland_matching_hyprland_instance_before_newer_nonmatch ... ok
[INFO] [stdout] test windowing::tests::app_targets_can_use_app_level_focus_backend ... ok
[INFO] [stdout] test windowing::registry::tests::skips_empty_backend_results_so_later_backends_can_answer ... ok
[INFO] [stdout] test windowing::tests::extracts_known_window_properties ... ok
[INFO] [stdout] test windowing::tests::hyprland_backend_can_exact_focus_targets ... ok
[INFO] [stdout] test windowing::tests::kwin_backend_can_exact_focus_targets ... ok
[INFO] [stdout] test windowing::tests::cosmic_backend_can_exact_focus_targets ... ok
[INFO] [stdout] test windowing::tests::kwin_window_ids_are_stable_across_uuid_formats ... ok
[INFO] [stdout] test windowing::tests::exact_targets_require_extension_activation_backend ... ok
[INFO] [stdout] test windowing::tests::kwin_activation_script_focuses_window_directly ... ok
[INFO] [stdout] test windowing::tests::i3_backend_can_exact_focus_targets ... ok
[INFO] [stdout] test windowing::tests::parses_hyprland_clients_as_window_info ... ok
[INFO] [stdout] test server::tests::ydotool_socket_selection_accepts_datagram_socket ... ok
[INFO] [stdout] test windowing::tests::parses_i3_tree_as_window_info ... ok
[INFO] [stdout] test windowing::tests::parses_kwin_windows_as_window_info ... ok
[INFO] [stdout] test windowing::tests::pid_target_reports_ambiguous_matches ... ok
[INFO] [stdout] test windowing::tests::registry_keeps_stable_backend_order ... ok
[INFO] [stdout] test windowing::registry::tests::records_backend_failures_with_registry_labels ... ok
[INFO] [stdout] test windowing::tests::maps_access_denied_errors_to_permission_hint ... ok
[INFO] [stdout] test server::tests::ydotool_socket_selection_skips_unconnectable_candidates ... ok
[INFO] [stdout] test windowing::tests::parses_xprop_pid ... ok
[INFO] [stdout] test windowing::tests::registry_serves_backend_list_notes ... ok
[INFO] [stdout] test windowing::tests::resolves_terminal_target_by_cwd_suffix ... ok
[INFO] [stdout] test windowing::tests::resolves_terminal_target_by_tty ... ok
[INFO] [stdout] test windowing::tests::resolves_large_window_id_after_json_number_rounding ... ok
[INFO] [stdout] test windowing::tests::title_pid_and_window_id_targets_require_exact_focus ... ok
[INFO] [stdout] test windowing::tests::target_reports_when_any_selector_is_present ... ok
[INFO] [stdout] test windowing::tests::terminal_cwd_does_not_match_arbitrary_substrings ... ok
[INFO] [stdout] test windowing::tests::terminal_target_reports_ambiguous_matches ... ok
[INFO] [stdout] test windowing::tests::resolves_target_by_title_substring_case_insensitive ... ok
[INFO] [stdout] test windowing::tests::resolves_target_by_window_id_first ... ok
[INFO] [stdout] test windowing::tests::resolves_terminal_target_by_active_command ... ok
[INFO] [stdout] test windowing::tests::rounded_window_id_can_be_disambiguated_by_title ... ok
[INFO] [stdout] test server::tests::ydotool_wait_drains_output_before_exit ... ok
[INFO] [stdout] test server::tests::window_crop_happens_before_screenshot_payload_resize ... ok
[INFO] [stdout] test screenshot::tests::jpeg_format_compresses_when_requested ... ok
[INFO] [stdout] test screenshot::tests::byte_cap_downscales_until_payload_fits ... ok
[INFO] [stdout] test screenshot::tests::larger_bounded_request_can_keep_more_detail ... ok
[INFO] [stdout] test screenshot::tests::default_payload_downscales_long_edge ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 120 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.94s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codex_read_aloud_linux-977398788ce3673e)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::app_id_settings_path_rejects_unsafe_app_ids ... ok
[INFO] [stdout] test tests::clean_text_respects_limit ... ok
[INFO] [stdout] test tests::command_resolution_accepts_absolute_executable ... ok
[INFO] [stdout] test tests::non_empty_trims_values ... ok
[INFO] [stdout] test tests::native_fallback_can_be_disabled_explicitly ... ok
[INFO] [stdout] test tests::default_runner_falls_back_to_path_lookup ... ok
[INFO] [stdout] test tests::spd_say_args_do_not_force_voice_type_by_default ... ok
[INFO] [stdout] test tests::spd_say_args_honor_explicit_voice_type ... ok
[INFO] [stdout] test tests::audio_session_envs_preserves_existing_runtime_dir ... ok
[INFO] [stdout] test tests::native_fallback_defaults_to_enabled ... ok
[INFO] [stdout] test tests::app_id_settings_path_supports_side_by_side_apps ... ok
[INFO] [stdout] test tests::clean_text_skips_code_fences_and_directives ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/codex_update_manager-c319c58f80347b3b)
[INFO] [stdout] 
[INFO] [stdout] running 180 tests
[INFO] [stdout] test app::tests::generated_versions_ignore_package_release_suffixes ... ok
[INFO] [stdout] test app::tests::generated_versions_compare_by_timestamp_segments ... ok
[INFO] [stdout] test app::tests::generated_version_comparison_rejects_non_generated_versions ... ok
[INFO] [stdout] test app::tests::install_auth_retry_block_is_scoped_to_candidate ... ok
[INFO] [stdout] test app::tests::cli_missing_notification_marker_is_cleared_after_recovery ... ok
[INFO] [stdout] test app::tests::command_lookup_requires_executable_file ... ok
[INFO] [stdout] test app::tests::clear_install_auth_required_event_keeps_unrelated_notifications ... ok
[INFO] [stdout] test app::tests::check_lock_file_without_kernel_lock_does_not_block_acquire ... ok
[INFO] [stdout] test app::tests::manual_install_command_selects_package_kind_and_quotes_path ... ok
[INFO] [stdout] test app::tests::cli_missing_notifications_are_deduplicated ... ok
[INFO] [stdout] test app::tests::held_check_lock_blocks_second_acquire_until_drop ... ok
[INFO] [stdout] test app::tests::disabled_wrapper_tracking_clears_stale_candidate ... ok
[INFO] [stdout] test app::tests::in_progress_different_dmg_update_is_not_cleared ... ok
[INFO] [stdout] test app::tests::interrupted_install_becomes_installed_when_candidate_is_already_present ... ok
[INFO] [stdout] test app::tests::in_progress_same_dmg_update_is_cleared_as_current ... ok
[INFO] [stdout] test app::tests::installed_notifications_are_deduplicated_after_recovery ... ok
[INFO] [stdout] test app::tests::no_wrapper_update_clears_stale_candidate ... ok
[INFO] [stdout] test app::tests::notification_events_are_deduplicated ... ok
[INFO] [stdout] test app::tests::pending_dmg_update_still_clears_stale_wrapper_candidate ... ok
[INFO] [stdout] test app::tests::interrupted_install_returns_to_ready_when_package_still_exists ... ok
[INFO] [stdout] test app::tests::plain_status_reports_update_error ... ok
[INFO] [stdout] test app::tests::polkit_agent_process_matching_ignores_daemon_and_matches_agents ... ok
[INFO] [stdout] test app::tests::pkexec_authentication_failures_are_retryable ... ok
[INFO] [stdout] test app::tests::matching_pending_install_recovery_records_installed_notification_event ... ok
[INFO] [stdout] test app::tests::run_check_cycle_skips_when_update_is_already_pending ... ok
[INFO] [stdout] test app::tests::same_dmg_recovery_keeps_ready_wrapper_update_package ... ok
[INFO] [stdout] test app::tests::pending_install_becomes_installed_when_candidate_is_already_present ... ok
[INFO] [stdout] test app::tests::pending_install_is_cleared_when_installed_version_is_newer ... ok
[INFO] [stdout] test app::tests::std_file_try_lock_reports_would_block_for_second_holder ... ok
[INFO] [stdout] test app::tests::superseded_pending_install_recovery_skips_installed_notification_event ... ok
[INFO] [stdout] test app::tests::failed_state_with_existing_deb_stays_failed ... ok
[INFO] [stdout] test app::tests::upstream_check_freshness_respects_configured_interval ... ok
[INFO] [stdout] test app::tests::daemon_check_cycle_reloads_pending_state_written_by_another_process ... ok
[INFO] [stdout] test app::tests::unknown_wrapper_detection_clears_stale_candidate_but_records_installed_metadata ... ok
[INFO] [stdout] test app::tests::missing_pending_package_marks_state_failed ... ok
[INFO] [stdout] test app::tests::fresh_check_now_still_clears_stale_wrapper_candidate ... ok
[INFO] [stdout] test builder::tests::build_command_path_includes_system_dirs ... ok
[INFO] [stdout] test builder::tests::build_command_path_prefers_packaged_managed_node_runtime ... ok
[INFO] [stdout] test app::tests::install_ready_marks_missing_artifact_failed ... ok
[INFO] [stdout] test builder::tests::bundle_copy_skips_missing_optional_package_scripts ... ok
[INFO] [stdout] test builder::tests::collects_nvm_toolchain_bins_with_current_first ... ok
[INFO] [stdout] test builder::tests::finds_pacman_package_in_dist_dir ... ok
[INFO] [stdout] test builder::tests::returns_error_when_dist_has_no_native_package ... ok
[INFO] [stdout] test cache_cleanup::tests::active_workspace_dir_is_protected_only_while_build_or_failed ... ok
[INFO] [stdout] test cache_cleanup::tests::empty_workspace_is_removed_after_prune ... ok
[INFO] [stdout] test cache_cleanup::tests::normalize_state_clears_stale_workspace_dir_for_superseded_candidate ... ok
[INFO] [stdout] test cache_cleanup::tests::normalize_state_points_workspace_dir_at_rollback_package_when_available ... ok
[INFO] [stdout] test cache_cleanup::tests::referenced_package_workspace_is_not_pruned ... ok
[INFO] [stdout] test cache_cleanup::tests::rollback_workspace_is_not_pruned ... ok
[INFO] [stdout] test cache_cleanup::tests::unreferenced_workspace_prunes_heavy_artifacts_and_keeps_debug_files ... ok
[INFO] [stdout] test cache_cleanup::tests::workspace_dir_is_derived_from_retained_package_path ... ok
[INFO] [stdout] test cache_cleanup::tests::workspace_dir_is_not_derived_for_paths_outside_workspace_root ... ok
[INFO] [stdout] test changelog::tests::parses_sections_in_order ... ok
[INFO] [stdout] test changelog::tests::returns_none_for_unparseable_installed_version ... ok
[INFO] [stdout] test changelog::tests::returns_none_when_nothing_newer ... ok
[INFO] [stdout] test changelog::tests::selects_versions_newer_than_installed ... ok
[INFO] [stdout] test changelog::tests::semver_parsing_and_compare ... ok
[INFO] [stdout] test changelog::tests::unreleased_only_included_when_non_empty ... ok
[INFO] [stdout] test codex_cli::tests::does_not_skip_registry_lookup_when_cached_check_is_stale ... ok
[INFO] [stdout] test codex_cli::tests::does_not_skip_registry_lookup_when_cli_version_changed ... ok
[INFO] [stdout] test codex_cli::tests::does_not_skip_registry_lookup_without_cached_latest_version ... ok
[INFO] [stdout] test codex_cli::tests::extracts_plain_semver ... ok
[INFO] [stdout] test codex_cli::tests::extracts_prefixed_semver ... ok
[INFO] [stdout] test codex_cli::tests::ignores_non_version_text ... ok
[INFO] [stdout] test codex_cli::tests::installed_cli_version_satisfies_equal_or_newer_semver ... ok
[INFO] [stdout] test app::tests::daemon_reconcile_reloads_waiting_state_written_by_another_process ... ok
[INFO] [stdout] test codex_cli::tests::preflight_uses_cached_latest_for_fresh_explicit_cli_path ... ok
[INFO] [stdout] test app::tests::run_check_cycle_ignores_downloaded_dmg_already_installed ... ok
[INFO] [stdout] test builder::tests::builds_update_with_fake_bundle ... ok
[INFO] [stdout] test app::tests::install_ready_stays_open_when_no_polkit_agent_is_available ... ok
[INFO] [stdout] test codex_cli::tests::refresh_cached_status_uses_cached_installed_version_without_running_cli ... ok
[INFO] [stdout] test app::tests::install_ready_waits_when_app_is_running ... ok
[INFO] [stdout] test app::tests::prompt_install_cli_does_not_treat_non_executable_file_as_installed ... ok
[INFO] [stdout] test codex_cli::tests::skips_registry_lookup_when_previous_check_is_fresh_for_same_cli_version ... ok
[INFO] [stdout] test codex_cli::tests::refresh_status_uses_persisted_cli_path_and_cached_latest ... ok
[INFO] [stdout] test app::tests::reconcile_reloads_auto_install_setting_override ... ok
[INFO] [stdout] test config::tests::loads_default_when_config_is_missing ... ok
[INFO] [stdout] test config::tests::parses_runtime_config_from_disk ... ok
[INFO] [stdout] test app::tests::ready_update_waits_for_explicit_install_ready_when_auto_install_is_off ... ok
[INFO] [stdout] test app::tests::ready_update_auto_install_waits_for_app_exit_when_app_is_running ... ok
[INFO] [stdout] test app::tests::status_clears_superseded_ready_update ... ok
[INFO] [stdout] test app::tests::status_preserves_cli_reconciliation_failure ... ok
[INFO] [stdout] test app::tests::user_session_bus_for_polkit_allows_user_service_env_without_display ... ok
[INFO] [stdout] test feature_picker::tests::cancel_leaves_config_unchanged ... ok
[INFO] [stdout] test feature_picker::tests::candidate_sources_prefers_bundle_with_catalog_script ... ok
[INFO] [stdout] test app::tests::waiting_for_app_exit_manual_install_survives_auto_toggle_off ... ok
[INFO] [stdout] test builder::tests::build_command_path_includes_cargo_bin_from_home ... ok
[INFO] [stdout] test codex_cli::tests::preflight_accepts_user_prefix_cli_after_system_cli_upgrade ... ok
[INFO] [stdout] test feature_picker::tests::dont_ask_sentinel_writes_setting ... ok
[INFO] [stdout] test codex_cli::tests::reconcile_if_present_upgrades_outdated_cli ... ok
[INFO] [stdout] test codex_cli::tests::refresh_cached_status_invalidates_missing_cached_cli_path ... ok
[INFO] [stdout] test codex_cli::tests::refresh_status_marks_missing_cli_as_not_installed ... ok
[INFO] [stdout] test feature_picker::tests::skips_without_display ... ok
[INFO] [stdout] test install::tests::accepts_codex_package_name ... ok
[INFO] [stdout] test config::tests::effective_feature_config_prefers_saved_picker_config_then_builder_config ... ok
[INFO] [stdout] test install::tests::builds_local_apt_install_command ... ok
[INFO] [stdout] test install::tests::builds_local_dnf_install_command ... ok
[INFO] [stdout] test install::tests::builds_pkexec_command_for_privileged_deb_install ... ok
[INFO] [stdout] test install::tests::builds_local_zypper_install_command ... ok
[INFO] [stdout] test install::tests::builds_pkexec_command_for_privileged_pacman_install ... ok
[INFO] [stdout] test install::tests::builds_pkexec_command_for_privileged_rpm_install ... ok
[INFO] [stdout] test install::tests::compares_generated_package_versions_by_timestamp ... ok
[INFO] [stdout] test install::tests::detection_prefers_arch_os_release_even_if_rpm_command_exists ... ok
[INFO] [stdout] test install::tests::detection_prefers_fedora_os_release_even_if_deb_package_is_installed ... ok
[INFO] [stdout] test codex_cli::tests::xdg_nvm_install_is_discovered_without_shell_env ... ok
[INFO] [stdout] test install::tests::detection_uses_debian_os_release_before_rpm_command_presence ... ok
[INFO] [stdout] test install::tests::detection_uses_rpm_os_release_before_pacman_command_presence ... ok
[INFO] [stdout] test install::tests::direct_install_commands_stop_option_parsing ... ok
[INFO] [stdout] test install::tests::empty_installed_version_output_is_reported_as_unknown ... ok
[INFO] [stdout] test install::tests::generated_package_version_comparison_rejects_non_generated_versions ... ok
[INFO] [stdout] test install::tests::detection_uses_arch_os_release_when_nothing_is_installed ... ok
[INFO] [stdout] test config::tests::settings_override_absent_yields_none ... ok
[INFO] [stdout] test install::tests::install_commands_require_a_file_name ... ok
[INFO] [stdout] test install::tests::metadata_commands_stop_option_parsing_before_package_path ... ok
[INFO] [stdout] test install::tests::package_kind_from_path_detects_deb ... ok
[INFO] [stdout] test install::tests::package_kind_from_path_detects_pacman_xz ... ok
[INFO] [stdout] test install::tests::package_kind_from_path_detects_pacman_zst ... ok
[INFO] [stdout] test install::tests::parses_pacman_installed_version_output ... ok
[INFO] [stdout] test install::tests::package_kind_from_path_detects_rpm ... ok
[INFO] [stdout] test install::tests::parses_pacman_package_version_from_filename ... ok
[INFO] [stdout] test install::tests::matches_expected_os_release_tokens ... ok
[INFO] [stdout] test install::tests::compares_debian_versions_using_dpkg_rules ... ok
[INFO] [stdout] test install::tests::rejects_non_codex_pacman_package_filename ... ok
[INFO] [stdout] test install::tests::resolves_pacman_latest_symlink_to_versioned_package_identity ... ok
[INFO] [stdout] test install::tests::stable_file_name_uses_safe_names_for_deb_and_rpm ... ok
[INFO] [stdout] test install_rollback::tests::builds_local_apt_rollback_command ... ok
[INFO] [stdout] test install_rollback::tests::builds_local_dnf_rollback_command ... ok
[INFO] [stdout] test install_rollback::tests::builds_local_zypper_rollback_command ... ok
[INFO] [stdout] test install_rollback::tests::builds_pkexec_command_for_privileged_rollback ... ok
[INFO] [stdout] test install::tests::prefers_installed_updater_path_for_pkexec ... ok
[INFO] [stdout] test install::tests::trims_quoted_os_release_values ... ok
[INFO] [stdout] test liveness::tests::pid_file_is_located_under_xdg_state ... ok
[INFO] [stdout] test liveness::tests::current_process_is_not_mistaken_for_electron ... ok
[INFO] [stdout] test notify::tests::file_uri_escapes_spaces_and_non_ascii_bytes ... ok
[INFO] [stdout] test notify::tests::resolve_icon_path_returns_none_when_no_candidates_exist ... ok
[INFO] [stdout] test notify::tests::resolve_icon_path_prefers_first_existing_candidate ... ok
[INFO] [stdout] test rollback::tests::ignores_missing_current_package ... ok
[INFO] [stdout] test notify::tests::resolve_icon_path_skips_missing_candidates ... ok
[INFO] [stdout] test rollback::tests::ignores_pending_candidate_package ... ok
[INFO] [stdout] test rollback::tests::records_existing_current_package_as_known_good ... ok
[INFO] [stdout] test state::tests::creates_default_state_when_missing ... ok
[INFO] [stdout] test rollback::tests::successful_rollback_repoints_package_paths_to_installed_package ... ok
[INFO] [stdout] test state::tests::deserialises_legacy_building_deb_status ... ok
[INFO] [stdout] test state::tests::deserialises_legacy_deb_path_field ... ok
[INFO] [stdout] test state::tests::deserialises_not_installed_cli_status ... ok
[INFO] [stdout] test state::tests::loads_legacy_state_without_cli_fields ... ok
[INFO] [stdout] test state::tests::roundtrips_persisted_state ... ok
[INFO] [stdout] test state::tests::save_writes_state_atomically_without_temp_file_left_behind ... ok
[INFO] [stdout] test state::tests::serialises_not_installed_cli_status ... ok
[INFO] [stdout] test state::tests::serialises_package_path_as_deb_path ... ok
[INFO] [stdout] test install::tests::rejects_mismatched_package_name ... ok
[INFO] [stdout] test install_rollback::tests::direct_rollback_commands_stop_option_parsing ... ok
[INFO] [stdout] test upstream::tests::derive_candidate_version_rejects_short_hashes ... ok
[INFO] [stdout] test upstream::tests::fetches_remote_metadata_from_head ... ok
[INFO] [stdout] test upstream::tests::downloads_dmg_and_hashes_contents ... ok
[INFO] [stdout] test feature_picker::tests::selection_writes_feature_config_outside_wrapper_src ... ok
[INFO] [stdout] test config::tests::settings_override_reads_explicit_bool ... ok
[INFO] [stdout] test wrapper::tests::non_git_dir_reports_no_update ... ok
[INFO] [stdout] test app::tests::waiting_for_app_exit_auto_install_cancelled_when_setting_turns_off ... ok
[INFO] [stdout] test wrapper::tests::packaged_builder_without_git_uses_source_info_but_reports_no_update ... ok
[INFO] [stdout] test wrapper::tests::reads_installed_commit_and_version ... ok
[INFO] [stdout] test wrapper_apply::tests::dev_mode_candidate_is_a_noop_to_avoid_downgrade ... ok
[INFO] [stdout] test wrapper_apply::tests::local_feature_staging_does_not_duplicate_upstream_features ... ok
[INFO] [stdout] test wrapper_apply::tests::malformed_feature_config_does_not_block_local_feature_staging ... ok
[INFO] [stdout] test wrapper_apply::tests::stages_enabled_local_features_into_wrapper_source ... ok
[INFO] [stdout] test feature_picker::tests::candidate_sources_uses_recorded_candidate_checkout ... ok
[INFO] [stdout] test feature_picker::tests::dialog_launch_error_is_a_cancelled_picker ... ok
[INFO] [stdout] test feature_picker::tests::dialog_tool_requires_executable_file ... ok
[INFO] [stdout] test codex_cli::tests::reconcile_if_present_does_not_downgrade_newer_cli ... ok
[INFO] [stdout] test feature_picker::tests::enabled_reads_builder_feature_config_when_saved_picker_config_is_absent ... ok
[INFO] [stdout] test feature_picker::tests::selection_preserves_unknown_existing_feature_ids ... ok
[INFO] [stdout] test config::tests::settings_override_coerces_string_and_number ... ok
[INFO] [stdout] test wrapper::tests::installed_metadata_can_differ_from_builder_checkout_head ... ok
[INFO] [stdout] test config::tests::wrapper_settings_override_reads_explicit_bool ... ok
[INFO] [stdout] test feature_picker::tests::candidate_sources_do_not_fallback_when_recorded_candidate_cannot_be_prepared ... ok
[INFO] [stdout] test wrapper::tests::up_to_date_clone_reports_no_update ... ok
[INFO] [stdout] test wrapper::tests::completed_git_does_not_block_on_escaped_stdout_holder ... ok
[INFO] [stdout] test wrapper::tests::detects_newer_head_against_local_remote ... ok
[INFO] [stdout] test wrapper::tests::local_checkout_ahead_of_remote_is_not_an_update ... ok
[INFO] [stdout] test test_util::tests::env_restore_guard_restores_variables_after_panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 180 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db", kill_on_drop: false }`
[INFO] [stdout] b46efe317c5d6a2121fe8511012ed3154309c426bc1d526ef5ec120a2623e0db
