[INFO] cloning repository https://github.com/ractive/ff-rdp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ractive/ff-rdp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fractive%2Fff-rdp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fractive%2Fff-rdp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] df8793c50a5e6e4ca1dfde747f84166ca1422373
[INFO] testing ractive/ff-rdp against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fractive%2Fff-rdp" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/ractive/ff-rdp
[INFO] finished tweaking git repo https://github.com/ractive/ff-rdp
[INFO] tweaked toml for git repo https://github.com/ractive/ff-rdp written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ractive/ff-rdp on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ractive/ff-rdp 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded outref v0.5.2
[INFO] [stderr]   Downloaded uuid-simd v0.8.0
[INFO] [stderr]   Downloaded include_dir_macros v0.7.4
[INFO] [stderr]   Downloaded jsonschema v0.27.1
[INFO] [stderr]   Downloaded borrow-or-share v0.2.4
[INFO] [stderr]   Downloaded include_dir v0.7.4
[INFO] [stderr]   Downloaded unsafe-libyaml-norway v0.2.15
[INFO] [stderr]   Downloaded email_address v0.2.9
[INFO] [stderr]   Downloaded num-cmp v0.1.0
[INFO] [stderr]   Downloaded jaq-std v3.0.0
[INFO] [stderr]   Downloaded jaq-json v2.0.0
[INFO] [stderr]   Downloaded hifijson v0.5.0
[INFO] [stderr]   Downloaded serde_norway v0.9.42
[INFO] [stderr]   Downloaded jaq-core v3.0.0
[INFO] [stderr]   Downloaded referencing v0.27.1
[INFO] [stderr]   Downloaded fluent-uri v0.3.2
[INFO] [stderr]   Downloaded fancy-regex v0.14.0
[INFO] [stderr]   Downloaded fraction v0.15.4
[INFO] [stderr]   Downloaded regex-bites v0.1.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d
[INFO] running `Command { std: "docker" "start" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", 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" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", 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" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling jiff v0.2.24
[INFO] [stderr]    Compiling jaq-core v3.0.0
[INFO] [stderr]    Compiling regex-bites v0.1.6
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling include_dir_macros v0.7.4
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling ff-rdp-cli v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-cli)
[INFO] [stderr]    Compiling unsafe-libyaml-norway v0.2.15
[INFO] [stderr]    Compiling hifijson v0.5.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling include_dir v0.7.4
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling jaq-std v3.0.0
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling jaq-json v2.0.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling ff-rdp-core v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-core)
[INFO] [stderr]    Compiling serde_norway v0.9.42
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] running `Command { std: "docker" "inspect" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", 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" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling dashmap v6.2.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling ff-rdp-core v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-core)
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling referencing v0.27.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling ureq v3.3.0
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.15.4
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.10
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling jaq-std v3.0.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jaq-json v2.0.0
[INFO] [stderr]    Compiling ff-rdp-cli v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-cli)
[INFO] [stderr]    Compiling jsonschema v0.27.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 16s
[INFO] running `Command { std: "docker" "inspect" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", 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" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ff_rdp-66533639e653b5dd)
[INFO] [stdout] 
[INFO] [stdout] running 691 tests
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_has_role_map ... ok
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_has_sentinel ... ok
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_substitution ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_early_exit_with_max ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_removes_children_from_entries ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_nested_children_preorder ... ok
[INFO] [stdout] test commands::a11y::tests::parse_js_a11y_tree_empty_name_filtered ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_single_node ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_max_zero_produces_empty ... ok
[INFO] [stdout] test commands::a11y::tests::parse_js_a11y_tree_minimal ... ok
[INFO] [stdout] test commands::a11y::tests::parse_js_a11y_tree_missing_role_returns_none ... ok
[INFO] [stdout] test commands::a11y::tests::parse_js_a11y_tree_with_children ... ok
[INFO] [stdout] test commands::a11y::tests::render_a11y_text_does_not_panic_with_empty_object ... ok
[INFO] [stdout] test commands::a11y::tests::render_a11y_text_does_not_panic_with_minimal_node ... ok
[INFO] [stdout] test commands::a11y::tests::render_a11y_text_does_not_panic_with_nested_tree ... ok
[INFO] [stdout] test commands::a11y::tests::strip_actor_ids_removes_actor_field ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_caps_element_count ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_checks_text_nodes ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_computes_luminance ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_has_wcag_thresholds ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_template_has_selector_placeholder ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_template_has_sentinel ... ok
[INFO] [stdout] test commands::a11y_summary::tests::a11y_summary_js_collects_all_sections ... ok
[INFO] [stdout] test commands::a11y_summary::tests::a11y_summary_js_has_sentinel ... ok
[INFO] [stdout] test commands::a11y_summary::tests::a11y_summary_js_uses_json_stringify ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_empty_sections_no_output ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_headings ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_interactive_all_roles ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_landmarks ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_truncation_note ... ok
[INFO] [stdout] test commands::auto_consent::tests::vendored_xpi_is_a_zip ... ok
[INFO] [stdout] test commands::auto_consent::tests::vendored_xpi_provenance_file_is_in_sync ... ok
[INFO] [stdout] test commands::auto_consent::tests::install_writes_xpi_into_profile_extensions_dir ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_classifies_origins ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_custom_property_is_case_sensitive ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_from_recorded_fixture_shape ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_important_overrides_specificity ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_marks_winner_on_higher_specificity ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_pick_selector_handles_commas_in_functional_pseudos ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_inline_important_keeps_author_tier ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_document_order_breaks_specificity_ties ... ok
[INFO] [stdout] test commands::auto_consent::tests::install_is_idempotent ... ok
[INFO] [stdout] test commands::auto_consent::tests::vendored_xpi_matches_pinned_sha256 ... ok
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_skips_hidden_elements ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_computed_field_matches_computed_command_table_driven ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_returns_null_computed_when_no_declarations ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_uses_matched_selector_for_specificity ... ok
[INFO] [stdout] test commands::cascade::tests::declared_properties_dedupes_and_sorts ... ok
[INFO] [stdout] test commands::cascade::tests::unit_build_media_probe_js_shape ... ok
[INFO] [stdout] test commands::cascade::tests::pre_fix_repro_cascade_prop_populates_computed_when_standalone_computed_does ... ok
[INFO] [stdout] test commands::cascade::tests::pre_fix_repro_cascade_winner_ignores_media_context ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_inactive_media_rule_does_not_win ... ok
[INFO] [stdout] test commands::cascade::tests::cascade_property_match_is_case_insensitive ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_null_rule_actor_id_serializes_as_null ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_winner_disagreement_flagged ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_entries_carry_distinct_rule_actor_id ... ok
[INFO] [stdout] test commands::cascade::tests::unit_distinct_media_conditions_dedupes_in_order ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_note_only_when_prop_set_and_computed_non_null ... ok
[INFO] [stdout] test commands::cascade::tests::unit_cascade_winner_verified_absent_without_computed ... ok
[INFO] [stdout] test commands::cascade::tests::unit_media_active_for_resolves_and_chains ... ok
[INFO] [stdout] test commands::click::tests::click_only_dispatch_js_uses_dot_click ... ok
[INFO] [stdout] test commands::computed::tests::build_js_all_mode_dumps_everything ... ok
[INFO] [stdout] test commands::click::tests::legacy_dispatch_js_uses_mouse_events_only ... ok
[INFO] [stdout] test commands::click::tests::pointer_dispatch_js_contains_full_event_sequence ... ok
[INFO] [stdout] test commands::click::tests::pointer_dispatch_js_includes_button_buttons_opts ... ok
[INFO] [stdout] test commands::computed::tests::build_js_custom_property_single_prop ... ok
[INFO] [stdout] test commands::computed::tests::build_js_multi_prop_uses_computed_key ... ok
[INFO] [stdout] test commands::computed::tests::build_js_escapes_selector ... ok
[INFO] [stdout] test commands::computed::tests::build_js_prop_mode_references_property ... ok
[INFO] [stdout] test commands::computed::tests::build_js_zero_props_returns_computed_object ... ok
[INFO] [stdout] test commands::computed::tests::build_js_multi_prop_uses_props_array ... ok
[INFO] [stdout] test commands::computed::tests::build_js_object_mode_non_default_filters ... ok
[INFO] [stdout] test commands::computed::tests::build_js_single_prop_uses_computed_key ... ok
[INFO] [stdout] test commands::cookies::tests::fetch_document_cookies_empty_string_returns_empty ... ok
[INFO] [stdout] test commands::cookies::tests::fetch_document_cookies_parses_name_value_pairs ... ok
[INFO] [stdout] test commands::cookies::tests::cmp_selectors_are_valid_css ... ok
[INFO] [stdout] test commands::doctor::tests::build_results_includes_hint_when_present ... ok
[INFO] [stdout] test commands::doctor::tests::pre_fix_repro_doctor_warns_when_installed_sha_differs_from_head ... ok
[INFO] [stdout] test commands::doctor::tests::probe_tabs_zero_is_fail ... ok
[INFO] [stdout] test commands::cascade::tests::unit_build_batch_computed_js_shape ... ok
[INFO] [stdout] test commands::console::tests::rejects_oversized_regex ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_in_range_is_pass ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_unknown_is_warn ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_check_empty_embedded_sha ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_check_short_circuits_without_git ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_check_strips_dirty_suffix ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_skipped_outside_ff_rdp_checkout ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_check_matching_sha_is_pass ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_binary_staleness_check_short_circuits_outside_repo ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_profile_disk_usage_pass_below_threshold ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_profile_disk_usage_pass_when_root_missing ... ok
[INFO] [stdout] test commands::dom::tests::aria_tree_js_template_includes_shadow_root_hints ... ok
[INFO] [stdout] test commands::dom::tests::build_count_js ... ok
[INFO] [stdout] test commands::dom::tests::aria_tree_js_template_has_ref_placeholder ... ok
[INFO] [stdout] test commands::dom::tests::build_js_aria_tree_contains_selector ... ok
[INFO] [stdout] test commands::dom::tests::build_js_aria_tree_includes_role_extraction ... ok
[INFO] [stdout] test commands::dom::tests::build_js_aria_tree_restricts_attrs ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_out_of_range_is_pass ... ok
[INFO] [stdout] test commands::dom::tests::build_js_aria_tree_uses_sentinel ... ok
[INFO] [stdout] test commands::dom::tests::build_js_attrs ... ok
[INFO] [stdout] test commands::dom::tests::build_js_escapes_selector ... ok
[INFO] [stdout] test commands::dom::tests::build_js_inner_html ... ok
[INFO] [stdout] test commands::dom::tests::build_js_multi_uses_sentinel ... ok
[INFO] [stdout] test commands::dom::tests::build_js_outer_html ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs_multi_uses_array_from ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs_single_uses_sentinel ... ok
[INFO] [stdout] test commands::dom::tests::escape_selector_handles_special_chars ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_does_not_panic_null ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_element_with_children ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_with_truncation ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_handles_nested_arrays ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_handles_no_actor_field ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_leaves_other_fields_intact ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_cache_off_disables_cache ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_removes_actor_field ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_dppx ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_touch_maps_to_enum ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_maps_color_scheme_wire_name ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_user_agent ... ok
[INFO] [stdout] test commands::emulate::tests::no_fields_set_detects_empty ... ok
[INFO] [stdout] test commands::emulate::tests::no_fields_set_false_when_any_flag ... ok
[INFO] [stdout] test commands::emulate::tests::onoff_is_on ... ok
[INFO] [stdout] test commands::emulate::tests::build_applied_js_and_offline ... ok
[INFO] [stdout] test commands::emulate::tests::print_on_maps_to_true ... ok
[INFO] [stdout] test commands::eval::tests::build_script_handles_special_chars ... ok
[INFO] [stdout] test commands::emulate::tests::color_scheme_wire_values ... ok
[INFO] [stdout] test commands::cascade::tests::unit_css_values_agree_lenient ... ok
[INFO] [stdout] test commands::computed::tests::build_js_custom_property_multi_prop ... ok
[INFO] [stdout] test commands::console::tests::accepts_reasonable_regex ... ok
[INFO] [stdout] test commands::eval::tests::build_script_isolate_flag_is_noop_passthrough ... ok
[INFO] [stdout] test commands::eval::tests::build_script_never_emits_eval_for_any_combination ... ok
[INFO] [stdout] test commands::eval::tests::build_script_no_isolate_no_stringify_passthrough ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_number_uses_json_stringify ... ok
[INFO] [stdout] test commands::eval::tests::build_script_isolate_and_stringify_combine ... ok
[INFO] [stdout] test commands::doctor::tests::unit_doctor_profile_disk_usage_warns_above_threshold ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_only_wraps_in_json_stringify ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_string_passthrough ... ok
[INFO] [stdout] test commands::eval::tests::eval_unwrap_leaves_primitive_string_unchanged ... ok
[INFO] [stdout] test commands::eval::tests::eval_unwrap_leaves_plain_string_unchanged ... ok
[INFO] [stdout] test commands::eval::tests::eval_unwrap_parses_json_string ... ok
[INFO] [stdout] test commands::eval::tests::eval_unwrap_skips_non_string_values ... ok
[INFO] [stdout] test commands::eval::tests::load_script_no_source_errors ... ok
[INFO] [stdout] test commands::eval::tests::load_script_positional_passthrough ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_contains_overlap_detection ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_contains_sentinel ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_inserts_selectors ... ok
[INFO] [stdout] test commands::eval::tests::load_script_missing_file_is_user_error ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_escapes_special_chars_in_selectors ... ok
[INFO] [stdout] test commands::eval::tests::load_script_from_file ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_visible_only_false_uses_false_literal ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_visible_only_includes_filter_guard ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_visible_only_true_uses_true_literal ... ok
[INFO] [stdout] test commands::geometry::tests::render_geometry_text_does_not_panic_with_empty_elements ... ok
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_escapes_single_quotes ... ok
[INFO] [stdout] test commands::geometry::tests::render_geometry_text_does_not_panic_with_full_data ... ok
[INFO] [stdout] test commands::geometry::tests::render_geometry_text_with_overlaps ... ok
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_plain ... ok
[INFO] [stdout] test commands::launch::tests::build_command_auto_consent_with_temp_profile_installs_extension ... ignored, may perform a real network download depending on cache state
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_handles_special_chars ... ok
[INFO] [stdout] test commands::js_helpers::tests::is_truthy_false_values ... ok
[INFO] [stdout] test commands::eval::tests::eval_unwrap_parses_json_array_string ... ok
[INFO] [stdout] test commands::manifest::tests::no_manifest_result_is_structured_not_error ... ok
[INFO] [stdout] test commands::launch::tests::unit_owner_pid_marker_written_only_for_managed_profiles ... ok
[INFO] [stdout] test commands::launch::tests::build_command_explicit_profile ... ok
[INFO] [stdout] test commands::nav_action::tests::conn_closed_kinds_are_treated_as_teardown ... ok
[INFO] [stdout] test commands::launch::tests::build_command_temp_profile_creates_dir_and_sets_profile_arg ... ok
[INFO] [stdout] test commands::launch::tests::build_command_no_headless_by_default ... ok
[INFO] [stdout] test commands::nav_action::tests::real_io_errors_are_not_teardown ... ok
[INFO] [stdout] test commands::nav_action::tests::send_reload_tolerant_swallows_teardown_but_propagates_real_errors ... ok
[INFO] [stdout] test commands::launch::tests::build_command_auto_consent_uses_auto_created_profile ... ok
[INFO] [stdout] test commands::navigate::tests::classify_neterror_connection_failure ... ok
[INFO] [stdout] test commands::navigate::tests::classify_neterror_dns_not_found ... ok
[INFO] [stdout] test commands::navigate::tests::classify_neterror_returns_none_for_non_neterror ... ok
[INFO] [stdout] test commands::navigate::tests::classify_neterror_unknown_code_passthrough ... ok
[INFO] [stdout] test commands::launch::tests::build_command_includes_debugger_server_port ... ok
[INFO] [stdout] test commands::navigate::tests::describe_wait_condition_selector ... ok
[INFO] [stdout] test commands::launch::tests::build_command_headless_flag ... ok
[INFO] [stdout] test commands::navigate::tests::describe_wait_condition_text ... ok
[INFO] [stdout] test commands::launch::tests::build_command_always_includes_no_remote ... ok
[INFO] [stdout] test commands::navigate::tests::is_neterror_url_detects_about_neterror ... ok
[INFO] [stdout] test commands::navigate::tests::navigate_both_strategy_reserves_readystate_budget ... ok
[INFO] [stdout] test commands::navigate::tests::urls_match_scheme_host_path_identical ... ok
[INFO] [stdout] test commands::launch::tests::build_command_no_profile_auto_creates_temp_profile ... ok
[INFO] [stdout] test commands::navigate::tests::urls_match_scheme_host_path_strips_hash ... ok
[INFO] [stdout] test commands::navigate::tests::no_wait_field_skips_commit_wait ... ok
[INFO] [stdout] test commands::navigate::tests::split_wait_budget_exact_values ... ok
[INFO] [stdout] test commands::launch::tests::build_command_temp_profile_writes_user_js ... ok
[INFO] [stdout] test commands::navigate::tests::urls_do_not_match_different_paths_scheme_host_path ... ok
[INFO] [stdout] test commands::launch::tests::build_command_non_standard_port ... ok
[INFO] [stdout] test commands::navigate::tests::navigate_subscribes_before_navigateto ... ok
[INFO] [stdout] test commands::js_helpers::tests::is_truthy_true_values ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_no_condition_returns_none ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_selector_has_condition ... ok
[INFO] [stdout] test commands::navigate::tests::unit_navigate_rejects_stale_ready_state ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_text_has_condition ... ok
[INFO] [stdout] test commands::navigate::tests::wait_strategy_default_is_both ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_null_cause_type_uses_empty_sentinel ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_null_transfer_sizes_give_zero_not_negative_zero ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_total_transfer_bytes_not_negative_zero ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_empty ... ok
[INFO] [stdout] test commands::network::tests::pre_fix_repro_network_text_suppresses_null_cause_type_section ... ok
[INFO] [stdout] === Network Summary ===
[INFO] [stdout]   Total requests:    3
[INFO] [stdout]   Total transferred: 1600 bytes
[INFO] [stdout] test commands::network::tests::build_network_summary_no_timeout_no_hint ... 
[INFO] [stdout] === Requests by Cause Type ===
[INFO] [stdout] ok
[INFO] [stdout]   script     2
[INFO] [stdout]   img        1
[INFO] [stdout] 
[INFO] [stdout] === Slowest Requests ===
[INFO] [stdout]   1. https://example.com/big.js  (200ms, 200, 1000b)
[INFO] [stdout] === Network Summary ===
[INFO] [stdout]   Total requests:    0
[INFO] [stdout]   Total transferred: 0 bytes
[INFO] [stdout] test commands::navigate::tests::urls_match_scheme_host_path_strips_trailing_slash ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_counts_and_bytes ... ok
[INFO] [stdout] test commands::network_events::tests::build_network_entries_with_ids_includes_resource_id ... ok
[INFO] [stdout] test commands::network::tests::unit_network_text_null_keyed_row_renders_unknown ... ok
[INFO] [stdout] test commands::network::tests::render_network_summary_text_does_not_panic_full ... ok
[INFO] [stdout] test commands::navigate::tests::wait_for_empty_slice_is_none ... ok
[INFO] [stdout] test commands::network_events::tests::build_network_entries_without_ids_excludes_resource_id ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_timeout_reached_adds_hint ... ok
[INFO] [stdout] test commands::network::tests::render_network_summary_text_does_not_panic_empty ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_script_initiator_type_not_xhr ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_zero_sizes_become_null ... ok
[INFO] [stdout] test commands::perf::tests::cls_gap_over_1s_creates_new_window ... ok
[INFO] [stdout] test commands::navigate::tests::urls_match_scheme_host_path_strips_query ... ok
[INFO] [stdout] test commands::perf::tests::cls_same_window_accumulates ... ok
[INFO] [stdout] test commands::perf::tests::cls_zero_for_empty ... ok
[INFO] [stdout] test commands::perf::tests::cls_window_over_5s_creates_new_window ... ok
[INFO] [stdout] test commands::perf::tests::eval_result_promise_grip_error_message_names_promise ... ok
[INFO] [stdout] test commands::perf::tests::extract_domain_basic ... ok
[INFO] [stdout] test commands::perf::tests::fcp_empty_array ... ok
[INFO] [stdout] test commands::perf::tests::fcp_returns_none_when_absent ... ok
[INFO] [stdout] test commands::perf::tests::fcp_finds_first_contentful_paint ... ok
[INFO] [stdout] test commands::perf::tests::lcp_empty_array ... ok
[INFO] [stdout] test commands::perf::tests::lcp_picks_last_entry ... ok
[INFO] [stdout] test commands::perf::tests::lcp_single_entry ... ok
[INFO] [stdout] test commands::perf::tests::perf_vitals_emits_unavailable_when_lcp_approximate ... ok
[INFO] [stdout] test commands::perf::tests::rate_cls_thresholds ... ok
[INFO] [stdout] test commands::perf::tests::rate_good_boundary ... ok
[INFO] [stdout] test commands::perf::tests::rate_needs_improvement ... ok
[INFO] [stdout] test commands::perf::tests::rate_poor_boundary ... ok
[INFO] [stdout] test commands::perf::tests::render_summary_text_does_not_panic_with_full_data ... ok
[INFO] [stdout] test commands::perf::tests::tbt_empty_array ... ok
[INFO] [stdout] test commands::perf::tests::tbt_ignores_tasks_shorter_than_50ms ... ok
[INFO] [stdout] test commands::perf::tests::tbt_task_ending_before_fcp_excluded ... ok
[INFO] [stdout] test commands::perf::tests::tbt_task_straddling_fcp_counts_only_portion_after ... ok
[INFO] [stdout] test commands::perf::tests::test_perf_vitals_emits_unavailable_when_lcp_missing ... ok
[INFO] [stdout] test commands::perf::tests::render_summary_text_does_not_panic_with_empty_data ... ok
[INFO] [stdout] test commands::perf::tests::tbt_counts_blocking_time_after_fcp ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_fetch_initiator_type ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_basic ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_method_and_status_are_null_not_hardcoded ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_missing_activation_start_defaults_zero ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_missing_size_fields_become_null ... ok
[INFO] [stdout] test commands::perf::tests::unit_render_blocking_js_excludes_non_blocking_rels ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_missing_response_start ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_uses_url_when_no_labels ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_xhr_initiator_type ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_subtracts_activation_start ... ok
[INFO] [stdout] test commands::perf::tests::unit_render_blocking_predicate_rust_layer_extracts_array ... ok
[INFO] [stdout] test commands::network_events::tests::serialize_buffer_update_round_trips_through_parser ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_falls_back_to_url_when_label_out_of_range ... ok
[INFO] [stdout] test commands::navigate::tests::navigate_clap_default_wait_strategy_is_both ... ok
[INFO] [stdout] test commands::perf::tests::round2_two_decimals ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_uses_provided_label ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_matching_count_is_ok ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_no_labels_is_ok ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_too_few_labels_errors ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_too_many_labels_errors ... ok
[INFO] [stdout] test commands::profiles::tests::pre_fix_repro_profiles_subcommand_prune_dry_run_lists_orphans ... ok
[INFO] [stdout] test commands::profiles::tests::unit_aggregate_profiles_capped_stops_early_but_counts_all ... ok
[INFO] [stdout] test commands::profiles::tests::unit_parse_older_than_accepts_days_hours_minutes_seconds_and_bare_number ... ok
[INFO] [stdout] test commands::profiles::tests::unit_parse_older_than_rejects_garbage ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_list_empty_root_reports_zero ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_prune_all_ignores_age ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_list_missing_root_does_not_panic ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_prune_real_run_removes_selected_and_leaves_others ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_prune_age_gated_skips_profile_with_fresh_inner_file ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_contains_responsive_properties ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_contains_sentinel ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_escapes_special_chars ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_visible_only_includes_filter_guard ... ok
[INFO] [stdout] test commands::perf::tests::cls_excludes_had_recent_input ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_inserts_selectors ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_list_ignores_unmanaged_directories ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_list_aggregates_size_and_count_correctly ... ok
[INFO] [stdout] test commands::profiles::tests::unit_profiles_prune_never_touches_unmanaged_directories ... ok
[INFO] [stdout] test commands::profiles::tests::unit_prune_age_gated_skips_live_owner ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_visible_only_false_uses_false_literal ... ok
[INFO] [stdout] test commands::profiles::tests::unit_prune_all_reports_live_owner_dirs ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_visible_only_true_uses_true_literal ... ok
[INFO] [stdout] test commands::responsive::tests::build_set_viewport_js_uses_important ... ok
[INFO] [stdout] test commands::responsive::tests::build_media_query_check_js_substitutes_width_and_probes_matchmedia ... ok
[INFO] [stdout] test commands::responsive::tests::media_query_check_to_json_defaults_are_null ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_missing_breakpoints_key ... ok
[INFO] [stdout] test commands::responsive::tests::media_query_check_to_json_shape ... ok
[INFO] [stdout] test commands::responsive::tests::restore_viewport_css_js_removes_all_properties ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_accepts_valid ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_no_breakpoints ... ok
[INFO] [stdout] test commands::responsive::tests::geometry_js_uses_offset_width_for_vw ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_rejects_zero ... ok
[INFO] [stdout] test commands::responsive::tests::wait_layout_stable_js_returns_promise ... ok
[INFO] [stdout] test commands::responsive::tests::build_set_viewport_js_substitutes_width ... ok
[INFO] [stdout] test commands::screenshot::tests::is_actor_module_load_failure_matches_real_firefox_message ... ok
[INFO] [stdout] test commands::screenshot::tests::is_actor_module_load_failure_rejects_timeout ... ok
[INFO] [stdout] test commands::screenshot::tests::png_dimensions_minimal_png ... ok
[INFO] [stdout] test commands::screenshot::tests::png_dimensions_too_short ... ok
[INFO] [stdout] test commands::screenshot::tests::resolve_output_path_auto_timestamped ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_rejects_empty ... ok
[INFO] [stdout] test commands::screenshot::tests::is_actor_module_load_failure_rejects_unrelated_actor_error ... ok
[INFO] [stdout] test commands::screenshot::tests::strip_data_url_prefix ... ok
[INFO] [stdout] test commands::scroll::tests::js_string_literal_escapes_special_chars ... ok
[INFO] [stdout] test commands::scroll::tests::escape_selector_in_scroll_js ... ok
[INFO] [stdout] test commands::screenshot::tests::strip_data_url_prefix_mismatch ... ok
[INFO] [stdout] test commands::scroll::tests::js_string_literal_preserves_original_selector_with_quotes ... ok
[INFO] [stdout] test commands::screenshot::tests::resolve_output_path_explicit ... ok
[INFO] [stdout] test commands::scroll::tests::run_bottom_js_scrolls_to_scroll_height ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_negative_dx_produces_negative_js_expr ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_negative_dy_produces_negative_js_expr ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_rejects_page_down_with_dy ... ok
[INFO] [stdout] test commands::scroll::tests::run_top_js_scrolls_to_origin ... ok
[INFO] [stdout] test commands::scroll::tests::run_to_js_contains_sentinel_and_scroll_into_view ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_block_maps_user_friendly_aliases_to_spec_values ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_page_down_expr ... ok
[INFO] [stdout] test commands::screenshot::tests::clap_a11y_limit_and_format_text_parsed ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_text_js_uses_tree_walker ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_null_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_long_attr_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_long_text_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_simple_element_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_text_truncated_flag_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::snapshot_js_contains_sentinel ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_full_data ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_page_up_expr ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_rejects_page_down_with_page_up ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_container_to_end_js ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_with_role_and_truncated_does_not_panic ... ok
[INFO] [stdout] test commands::screenshot::tests::clap_screenshot_full_page_flag_parsed ... ok
[INFO] [stdout] test commands::snapshot::tests::snapshot_js_handles_interactive_elements ... ok
[INFO] [stdout] test commands::snapshot::tests::snapshot_js_skips_script_style ... ok
[INFO] [stdout] test commands::snapshot::tests::snapshot_js_template_substitution ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_false_for_network_error ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_false_for_unrelated_actor_error ... ok
[INFO] [stdout] test commands::sources::tests::sources_js_has_sentinel ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_not_available_message ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_top_parses ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_undefined_message ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_unrecognized_packet_type ... ok
[INFO] [stdout] test commands::sources::tests::sources_js_collects_script_tags ... ok
[INFO] [stdout] test commands::storage::tests::invalid_storage_type_is_user_error ... ok
[INFO] [stdout] test cli::args::help_stack_tests::pre_fix_repro_cookies_help_stack_depth ... ok
[INFO] [stdout] test commands::storage::tests::key_json_encoding_escapes_quotes ... ok
[INFO] [stdout] test commands::sources::tests::sources_js_uses_performance_api ... ok
[INFO] [stdout] test commands::storage::tests::local_alias_accepted ... ok
[INFO] [stdout] test commands::storage::tests::session_alias_accepted ... ok
[INFO] [stdout] test commands::sources::tests::rejects_oversized_regex ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_no_such_actor ... ok
[INFO] [stdout] test commands::storage::tests::storage_json_parses_correctly ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_invalid_packet_becomes_rdp_shape ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_multiple_properties ... ok
[INFO] [stdout] test commands::styles::tests::styles_applied_keeps_non_ua_empty_rules ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_none_returns_all ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_unknown_property_returns_empty ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_single_property ... ok
[INFO] [stdout] test commands::styles::tests::computed_items_serialise_correctly ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_unknown_actor ... ok
[INFO] [stdout] test commands::styles::tests::test_styles_applied_dedupes_empty_ua_stubs ... ok
[INFO] [stdout] test commands::throttle::tests::resolve_block_urls_clears_for_single_empty_pattern ... ok
[INFO] [stdout] test commands::tabs::tests::fields_filter_applied_to_tab_entries ... ok
[INFO] [stdout] test commands::tabs::tests::fields_noop_when_none ... ok
[INFO] [stdout] test commands::throttle::tests::resolve_block_urls_clears_for_unblock ... ok
[INFO] [stdout] test commands::throttle::tests::run_requires_at_least_one_action ... ok
[INFO] [stdout] test commands::throttle::tests::to_core_profile_maps_tiers ... ok
[INFO] [stdout] test commands::throttle::tests::wants_block_change_true_for_patterns ... ok
[INFO] [stdout] test commands::throttle::tests::wants_block_change_true_for_unblock ... ok
[INFO] [stdout] test commands::url_validation::tests::allow_file_urls_does_not_widen_javascript ... ok
[INFO] [stdout] test commands::url_validation::tests::allow_unsafe_urls_does_not_widen_file_scheme ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_about_newtab ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_data_when_unsafe_urls_set ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_http ... ok
[INFO] [stdout] test commands::throttle::tests::wants_block_change_false_when_no_block_flags ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_file_when_opted_in ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_about_blank ... ok
[INFO] [stdout] test commands::throttle::tests::resolve_block_urls_keeps_nonempty_patterns ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_https ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_javascript_when_unsafe_urls_set ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_data ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_no_scheme ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_leading_whitespace ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_vbscript ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_bottom_parses ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_empty_scheme ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_empty_string ... ok
[INFO] [stdout] test commands::wait::tests::timeout_alias_deprecation_message_contains_deprecat ... ok
[INFO] [stdout] test commands::url_validation::tests::scheme_comparison_is_case_insensitive ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_javascript ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_file_by_default ... ok
[INFO] [stdout] test commands::wait::tests::selector_not_found_message_names_selector_and_tab ... ok
[INFO] [stdout] test commands::wait::tests::tab_unresponsive_message_names_tab_and_suggests_tabs_command ... ok
[INFO] [stdout] test commands::url_validation::tests::vbscript_always_rejected_even_with_both_flags ... ok
[INFO] [stdout] test commands::sources::tests::accepts_reasonable_regex ... ok
[INFO] [stdout] test connection_meta::tests::is_meta_empty_returns_true_for_null ... ok
[INFO] [stdout] test connection_meta::tests::merge_into_if_verbose_omits_connection_when_false ... ok
[INFO] [stdout] test daemon::buffer::tests::append_and_drain ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_by_negative_dy_parses ... ok
[INFO] [stdout] test daemon::buffer::tests::destroyed_prunes_all_matching_entries ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_eval ... ok
[INFO] [stdout] test daemon::buffer::tests::drain_since_filters_by_nav_boundary ... ok
[INFO] [stdout] test daemon::buffer::tests::drain_since_correct_after_destroyed_removals ... ok
[INFO] [stdout] test daemon::buffer::tests::drain_since_zero_returns_all ... ok
[INFO] [stdout] test daemon::buffer::tests::insert_raw_back_compat ... ok
[INFO] [stdout] test daemon::buffer::tests::purge_destroyed_target_clears_entries_keeps_boundaries ... ok
[INFO] [stdout] test daemon::buffer::tests::record_boundary_and_insert_scoped_out_by_next_nav ... ok
[INFO] [stdout] test daemon::buffer::tests::record_boundary_and_insert_visible_under_since_minus_one ... ok
[INFO] [stdout] test connection_meta::tests::is_meta_empty_returns_true_for_empty_object ... ok
[INFO] [stdout] test connection_meta::tests::is_meta_empty_returns_false_for_non_empty_object ... ok
[INFO] [stdout] test daemon::buffer::tests::test_nav_boundary_url_truncated ... ok
[INFO] [stdout] test daemon::client::tests::no_daemon_flag_always_returns_direct ... ok
[INFO] [stdout] test daemon::client::tests::pre_fix_repro_daemon_stop_kills_process_group_on_port_retention ... ignored, requires Unix process-group semantics — run with FF_RDP_LIVE_TESTS=1
[INFO] [stdout] test daemon::client::tests::unit_autostart_failure_surfaces_warning ... ok
[INFO] [stdout] test daemon::client::tests::unit_daemon_stop_message_reports_actual_bound ... ok
[INFO] [stdout] test connection_meta::tests::build_includes_host_and_port ... ok
[INFO] [stdout] test connection_meta::tests::build_includes_firefox_version_when_known ... ok
[INFO] [stdout] test connection_meta::tests::build_omits_firefox_version_when_unknown ... ok
[INFO] [stdout] test connection_meta::tests::merge_into_if_verbose_adds_connection_when_true ... ok
[INFO] [stdout] test daemon::client::tests::autostart_warning_serializes_into_envelope_shape ... ok
[INFO] [stdout] test daemon::registry::tests::generate_auth_token_produces_64_hex_chars ... ok
[INFO] [stdout] test daemon::process::tests::current_process_is_alive ... ok
[INFO] [stdout] test daemon::process::tests::very_large_pid_is_dead ... ok
[INFO] [stdout] test daemon::registry::tests::generate_auth_token_is_not_all_zeros ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_firefox_port_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_corrupt_json_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_port_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_pid_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_nonexistent_returns_none ... ok
[INFO] [stdout] test daemon::registry::tests::overwrite_updates_values ... ok
[INFO] [stdout] test daemon::registry::tests::read_legacy_registry_without_auth_token_returns_error ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_selector ... ok
[INFO] [stdout] test daemon::registry::tests::registry_file_has_restricted_permissions ... ok
[INFO] [stdout] test connection_meta::tests::merge_into_adds_connection_field ... ok
[INFO] [stdout] test daemon::registry::tests::write_is_atomic_tmp_cleaned_up ... ok
[INFO] [stdout] test daemon::server::tests::alloc_refs_returns_start_and_nav_generation ... ok
[INFO] [stdout] test daemon::server::tests::alloc_refs_missing_count_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::remove_nonexistent_is_ok ... ok
[INFO] [stdout] test daemon::registry::tests::remove_cleans_up ... ok
[INFO] [stdout] test daemon::server::tests::alloc_refs_zero_count_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_handles_empty_items_list ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_ignores_missing_array_field ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_skips_malformed_sub_entries ... ok
[INFO] [stdout] test daemon::registry::tests::spawn_lock_released_on_drop_allows_reacquire ... ok
[INFO] [stdout] test daemon::registry::tests::write_then_read_roundtrip ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_text ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_stores_items_by_resource_type ... ok
[INFO] [stdout] test daemon::server::tests::cleanup_guard_leaves_other_clients_rpc_writer ... ok
[INFO] [stdout] test daemon::server::tests::drain_empty_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::drain_returns_buffered_events_and_clears ... ok
[INFO] [stdout] test daemon::server::tests::drain_missing_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::drain_unknown_resource_type_returns_empty ... ok
[INFO] [stdout] test daemon::server::tests::handle_client_rejects_wrong_auth_token ... ok
[INFO] [stdout] test daemon::server::tests::handle_client_accepts_correct_auth_token_and_sends_greeting ... ok
[INFO] [stdout] test daemon::server::tests::handle_target_available_registers_actor_in_registry ... ok
[INFO] [stdout] test daemon::server::tests::handle_target_destroyed_invalidates_actor_in_registry ... ok
[INFO] [stdout] test daemon::server::tests::handle_target_destroyed_cascades_to_owned_fronts ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_detects_page_error ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_rejects_watcher_events ... ok
[INFO] [stdout] test daemon::server::tests::is_watcher_event_detects_resource_array_types ... ok
[INFO] [stdout] test daemon::server::tests::is_watcher_event_rejects_events_from_other_watchers ... ok
[INFO] [stdout] test daemon::server::tests::is_watcher_event_rejects_non_resource_types ... ok
[INFO] [stdout] test daemon::server::tests::missing_type_field_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::navigation_event_clears_refs_and_increments_generation ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_detects_console_api_call ... ok
[INFO] [stdout] test daemon::server::tests::ref_store_alloc_increments_counter ... ok
[INFO] [stdout] test daemon::server::tests::ref_store_clear_removes_all_refs_and_resets_counter ... ok
[INFO] [stdout] test daemon::server::tests::ref_store_register_and_resolve ... ok
[INFO] [stdout] test daemon::server::tests::register_refs_and_resolve_ref_round_trip ... ok
[INFO] [stdout] test daemon::server::tests::refuse_client_sends_shutdown_error_frame ... ok
[INFO] [stdout] test daemon::server::tests::register_refs_stale_nav_generation_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::rpc_slot_reclaim_by_owner_is_idempotent ... ok
[INFO] [stdout] test daemon::server::tests::status_returns_uptime_and_buffer_sizes ... ok
[INFO] [stdout] test daemon::server::tests::resolve_ref_unknown_id_returns_not_found_error ... ok
[INFO] [stdout] test daemon::server::tests::stop_stream_missing_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::stop_stream_returns_streaming_false ... ok
[INFO] [stdout] test daemon::server::tests::stream_clears_buffer_and_returns_streaming_ack ... ok
[INFO] [stdout] test daemon::server::tests::stream_dispatch_does_not_buffer_when_no_subscribers ... ok
[INFO] [stdout] test daemon::server::tests::stream_missing_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::supervised_worker_early_return_sets_shutdown ... ok
[INFO] [stdout] test daemon::server::tests::status_with_empty_buffer_omits_zero_sizes ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_does_not_deliver_to_wrong_subscriber_type ... ok
[INFO] [stdout] test daemon::server::tests::test_terminal_escape_sanitized_e2e ... ok
[INFO] [stdout] test daemon::server::tests::test_token_comparison_constant_time ... ok
[INFO] [stdout] test daemon::server::tests::top_level_switch_purges_buffer ... ok
[INFO] [stdout] test daemon::server::tests::unit_client_identity_survives_fd_reuse ... ok
[INFO] [stdout] test daemon::server::tests::unit_concurrent_clients_no_cross_delivery ... ok
[INFO] [stdout] test daemon::server::tests::unit_handle_client_cleanup_on_write_error ... ok
[INFO] [stdout] test daemon::server::tests::unit_idle_timeout_fires ... ok
[INFO] [stdout] test daemon::server::tests::unit_idle_timeout_ignores_failed_clients ... ok
[INFO] [stdout] test daemon::registry::tests::spawn_lock_serializes_two_acquirers ... ok
[INFO] [stdout] test daemon::server::tests::unknown_message_type_returns_error ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_atomic_write_no_tmp_left_behind ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_overwrite_replaces ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_read_absent_returns_none ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_remove_idempotent ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_round_trip ... ok
[INFO] [stdout] test daemon_record::tests::unit_daemon_record_stale_pid_returns_none_and_removes_file ... ok
[INFO] [stdout] test daemon_status::tests::duplicate_warnings_are_deduped ... ok
[INFO] [stdout] test daemon_status::tests::record_then_take_roundtrips ... ok
[INFO] [stdout] test daemon_status::tests::take_json_is_none_when_empty ... ok
[INFO] [stdout] test daemon_status::tests::take_json_shapes_type_and_reason ... ok
[INFO] [stdout] test error::tests::daemon_version_mismatch_display_contains_versions ... ok
[INFO] [stdout] test error::tests::daemon_version_mismatch_error_type ... ok
[INFO] [stdout] test error::tests::daemon_version_mismatch_json_has_correct_error_type ... ok
[INFO] [stdout] test error::tests::rdp_actor_destroyed_display_contains_actor_id ... ok
[INFO] [stdout] test error::tests::rdp_actor_destroyed_error_type ... ok
[INFO] [stdout] test error::tests::rdp_actor_destroyed_json_has_correct_error_type_and_actor ... ok
[INFO] [stdout] test error::tests::rdp_error_actor_destroyed_converts_to_app_error_rdp_actor_destroyed ... ok
[INFO] [stdout] test daemon::server::tests::daemon_poisoned_mutex_recovery ... ok
[INFO] [stdout] test daemon::server::tests::test_lock_or_recover_continues_on_poison ... ok
[INFO] [stdout] test error::tests::unit_protocol_error_roundtrip_preserves_kind ... ok
[INFO] [stdout] test hints::tests::a11y_contrast_fail_only_context_sensitive ... ok
[INFO] [stdout] test hints::tests::console_hints_differ_on_has_errors ... ok
[INFO] [stdout] test hints::tests::generate_hints_never_exceeds_max ... ok
[INFO] [stdout] test hints::tests::inspect_hints_are_empty ... ok
[INFO] [stdout] test hints::tests::navigate_hints_are_non_empty ... ok
[INFO] [stdout] test hints::tests::storage_hints_context_sensitive ... ok
[INFO] [stdout] test hints::tests::styles_hints_include_selector ... ok
[INFO] [stdout] test main_tests::detects_type_after_boolean_global_flag ... ok
[INFO] [stdout] test main_tests::detects_type_after_global_flags ... ok
[INFO] [stdout] test main_tests::detects_type_after_mixed_globals ... ok
[INFO] [stdout] test main_tests::detects_type_subcommand ... ok
[INFO] [stdout] test main_tests::detects_type_with_eq_global_flag ... ok
[INFO] [stdout] test main_tests::rdp_actor_destroyed_exit_code ... ok
[INFO] [stdout] test main_tests::rejects_no_subcommand ... ok
[INFO] [stdout] test main_tests::rejects_other_subcommand ... ok
[INFO] [stdout] test error::tests::unit_exit_code_and_error_type_frozen ... ok
[INFO] [stdout] test output::tests::envelope_omits_meta_when_empty ... ok
[INFO] [stdout] test daemon::server::tests::unit_reader_panic_sets_shutdown ... ok
[INFO] [stdout] test output::tests::envelope_includes_meta_when_non_empty ... ok
[INFO] [stdout] test hints::tests::dom_hints_include_selector ... ok
[INFO] [stdout] test output::tests::envelope_structure ... ok
[INFO] [stdout] test output::tests::envelope_with_truncation_truncated ... ok
[INFO] [stdout] test output::tests::envelope_with_truncation_not_truncated ... ok
[INFO] [stdout] test output::tests::jq_invalid_filter ... ok
[INFO] [stdout] test output::tests::jq_field_access ... ok
[INFO] [stdout] test output_controls::tests::fields_filters_object_keys ... ok
[INFO] [stdout] test output_controls::tests::fields_noop_when_not_set ... ok
[INFO] [stdout] test output_controls::tests::fields_passthrough_non_object ... ok
[INFO] [stdout] test output_controls::tests::limit_all_overrides_default ... ok
[INFO] [stdout] test output_controls::tests::limit_not_triggered_when_under_limit ... ok
[INFO] [stdout] test output_controls::tests::limit_with_default_limit ... ok
[INFO] [stdout] test output_controls::tests::limit_with_explicit_limit ... ok
[INFO] [stdout] test output_controls::tests::sort_noop_when_no_field ... ok
[INFO] [stdout] test output_controls::tests::sort_missing_field_sorts_before_present ... ok
[INFO] [stdout] test output_controls::tests::sort_numeric_desc ... ok
[INFO] [stdout] test output_controls::tests::sort_numeric_asc ... ok
[INFO] [stdout] test output_controls::tests::sort_string_asc ... ok
[INFO] [stdout] test output_pipeline::tests::doctor_style_row_orders_glyph_first_and_detail_after_status ... ok
[INFO] [stdout] test output_pipeline::tests::doctor_style_row_without_hint_still_orders_detail_last ... ok
[INFO] [stdout] test output_pipeline::tests::from_cli_invalid_format_html_variant_accepted ... ok
[INFO] [stdout] test output::tests::jq_identity_filter ... ok
[INFO] [stdout] test output_pipeline::tests::from_cli_invalid_format_returns_error ... ok
[INFO] [stdout] test output_pipeline::tests::json_format_unchanged ... ok
[INFO] [stdout] test output_pipeline::tests::text_array_of_objects_renders_table ... ok
[INFO] [stdout] test output_pipeline::tests::text_flat_object_renders_kv ... ok
[INFO] [stdout] test output_pipeline::tests::text_renders_truncation_hint ... ok
[INFO] [stdout] test output_pipeline::tests::jq_with_text_format_renders_text ... ok
[INFO] [stdout] test output_pipeline::tests::unit_jq_filter_silent_omit_missing_path_produces_no_output ... ok
[INFO] [stdout] test output_pipeline::tests::value_to_cell_strips_ansi_escapes_from_strings ... ok
[INFO] [stdout] test output_pipeline::tests::value_to_cell_strips_ansi_from_nested_objects ... ok
[INFO] [stdout] test page_map::tests::test_deny_unknown_fields_rejects_stray_key ... ok
[INFO] [stdout] test page_map::tests::test_drift_detection_added_page ... ok
[INFO] [stdout] test page_map::tests::test_drift_detection_empty_when_maps_equal ... ok
[INFO] [stdout] test daemon::server::tests::test_refstore_capped ... ok
[INFO] [stdout] test page_map::tests::test_drift_detection_finds_mutated_selector ... ok
[INFO] [stdout] test output_pipeline::tests::unit_jq_filter_silent_omit_filters_null ... ok
[INFO] [stdout] test output_pipeline::tests::unit_jq_filter_present_path_passes_through ... ok
[INFO] [stdout] test page_map::tests::test_drift_detection_missing_page ... ok
[INFO] [stdout] test page_map::tests::test_form_extraction_js_template_shape ... ok
[INFO] [stdout] test page_map::tests::test_handwritten_page_map_validates_yaml ... ok
[INFO] [stdout] test page_map::tests::test_handwritten_page_map_validates_json ... ok
[INFO] [stdout] test page_map::tests::test_page_map_flow_missing_errors ... ok
[INFO] [stdout] test page_map::tests::test_resolve_api_route_found ... ok
[INFO] [stdout] test page_map::tests::test_landmark_extraction_js_template_shape ... ok
[INFO] [stdout] test page_map::tests::test_page_map_version_check_rejects_v2 ... ok
[INFO] [stdout] test page_map::tests::test_page_map_flow_resolves ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_field_selector_email ... ok
[INFO] [stdout] test page_map::tests::test_resolve_api_route_missing_errors ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_field_selector_password ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_submit_selector ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_form_selector ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_unknown_field_errors ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_unrecognised_path_errors ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_unknown_page_errors ... ok
[INFO] [stdout] test page_map::tests::test_resolve_target_unknown_form_errors ... ok
[INFO] [stdout] test output::tests::jq_array_iteration ... ok
[INFO] [stdout] test port_owner::tests::is_port_in_use_returns_true_for_active_listener ... ok
[INFO] [stdout] test render_blocking::tests::pre_fix_repro_dom_stats_and_perf_audit_render_blocking_agree ... ok
[INFO] [stdout] test port_owner::tests::parse_lsof_output_returns_none_when_no_pid ... ok
[INFO] [stdout] test render_blocking::tests::unit_classify_render_blocking_table_driven ... ok
[INFO] [stdout] test port_owner::tests::is_port_in_use_returns_false_for_closed_port ... ok
[INFO] [stdout] test script::format::tests::assert_network_api_route_and_url_contains_are_mutually_exclusive ... ok
[INFO] [stdout] test script::format::tests::assert_text_rejects_both_contains_and_equals ... ok
[INFO] [stdout] test script::format::tests::assert_text_requires_contains_or_equals ... ok
[INFO] [stdout] test script::format::tests::deny_unknown_fields_script_top_level ... ok
[INFO] [stdout] test script::format::tests::deny_unknown_fields_navigate ... ok
[INFO] [stdout] test script::format::tests::element_target_rejects_no_fields ... ok
[INFO] [stdout] test script::format::tests::format_detection_json ... ok
[INFO] [stdout] test script::format::tests::format_detection_unknown_defaults_to_json ... ok
[INFO] [stdout] test script::format::tests::format_detection_yaml ... ok
[INFO] [stdout] test script::format::tests::element_target_rejects_multiple_fields ... ok
[INFO] [stdout] test script::format::tests::deny_unknown_fields_click ... ok
[INFO] [stdout] test script::format::tests::page_map_and_field_accepted_in_schema_but_deferred ... ok
[INFO] [stdout] test script::format::tests::parse_minimal_json_script ... ok
[INFO] [stdout] test script::format::tests::rejects_unsupported_version ... ok
[INFO] [stdout] test script::format::tests::parse_minimal_yaml_script ... ok
[INFO] [stdout] test script::recorder::tests::b2_password_selector_heuristics ... ok
[INFO] [stdout] test script::recorder::tests::b1_click_step_records_wait_for_text ... ok
[INFO] [stdout] test script::recorder::tests::b2_password_selector_auto_secret ... ok
[INFO] [stdout] test script::recorder::tests::b1_wait_step_records_timeout ... ok
[INFO] [stdout] test script::recorder::tests::b3_recorded_output_is_pretty_printed ... ok
[INFO] [stdout] test script::recorder::tests::c1_two_step_recording_ends_with_correct_closing_sequence ... ok
[INFO] [stdout] test script::runner::tests::e6_diagnostics_display_shows_message ... ok
[INFO] [stdout] test script::runner::tests::cycle_detection_catches_self_reference ... ok
[INFO] [stdout] test script::recorder::tests::file_recorder_empty_script_is_valid_json ... ok
[INFO] [stdout] test script::recorder::tests::file_recorder_produces_valid_json ... ok
[INFO] [stdout] test script::runner::tests::e6_extract_diagnostics_returns_none_for_user_error ... ok
[INFO] [stdout] test script::runner::tests::is_secret_field_selector_detects_password_inputs ... ok
[INFO] [stdout] test script::runner::tests::e6_extract_diagnostics_returns_payload_for_diagnostics_variant ... ok
[INFO] [stdout] test script::runner::tests::page_map_target_errors_without_loaded_map ... ok
[INFO] [stdout] test script::runner::tests::run_path_containment_accepts_relative_within_top ... ok
[INFO] [stdout] test script::runner::tests::run_path_containment_rejects_parent_traversal ... ok
[INFO] [stdout] test script::runner::tests::selector_target_passes_through_without_map ... ok
[INFO] [stdout] test script::runner::tests::run_depth_capped ... ok
[INFO] [stdout] test script::vars::tests::check_undefined_vars_passes_when_defined ... ok
[INFO] [stdout] test script::vars::tests::check_undefined_vars_catches_missing ... ok
[INFO] [stdout] test script::vars::tests::env_substitution_allowlist_works ... ok
[INFO] [stdout] test script::vars::tests::env_substitution_allows_safe_defaults ... ok
[INFO] [stdout] test script::vars::tests::env_substitution_refuses_secret_names ... ok
[INFO] [stdout] test script::vars::tests::env_substitution_rejects_unallowed ... ok
[INFO] [stdout] test script::vars::tests::missing_var_errors ... ok
[INFO] [stdout] test script::vars::tests::no_placeholders_passes_through ... ok
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"script parse error: parsing script '/etc/passwd': JSON parse error: expected value at line 1 column 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] test script::vars::tests::redacts_secret_fields ... ok
[INFO] [stdout] test script::runner::tests::run_path_containment_rejects_absolute ... ok
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"run nesting depth 17 exceeds MAX_RUN_DEPTH=16","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":0}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":0}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":1}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":1}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":2}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":2}
[INFO] [stdout] {"step":1,"verb":"run","ok":false,"error":"exit with code 1","elapsed_ms":2}
[INFO] [stdout] {"summary":true,"ok":false,"total":1,"executed":1,"succeeded":0,"failed":1,"skipped":0,"total_elapsed_ms":2}
[INFO] [stdout] test script::vars::tests::show_secrets_bypasses_redaction ... ok
[INFO] [stdout] test commands::navigate::tests::navigate_bus_lock_released_during_wait ... ok
[INFO] [stdout] test script::vars::tests::step_result_reference ... ok
[INFO] [stdout] test port_owner::tests::parse_lsof_output_extracts_pid_and_command ... ok
[INFO] [stdout] test script::vars::tests::secret_detection ... ok
[INFO] [stdout] test tab_target::tests::default_empty_tabs_returns_error ... ok
[INFO] [stdout] test script::vars::tests::step_zero_index_errors ... ok
[INFO] [stdout] test tab_target::tests::default_falls_back_to_first_when_none_selected ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_hours ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_days ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_minutes ... ok
[INFO] [stdout] test tab_target::tests::tab_id_exact_match ... ok
[INFO] [stdout] test tab_target::tests::tab_id_not_found_returns_error ... ok
[INFO] [stdout] test script::vars::tests::substitutes_vars ... ok
[INFO] [stdout] test script::runner::tests::run_depth_chain_eventually_fails ... ok
[INFO] [stdout] test tab_target::tests::tab_id_takes_precedence_over_tab ... ok
[INFO] [stdout] test tab_target::tests::tab_index_first ... ok
[INFO] [stdout] test tab_target::tests::tab_index_out_of_range ... ok
[INFO] [stdout] test tab_target::tests::tab_index_last ... ok
[INFO] [stdout] test tab_target::tests::tab_index_zero_is_out_of_range ... ok
[INFO] [stdout] test tab_target::tests::default_returns_selected_tab ... ok
[INFO] [stdout] test tab_target::tests::tab_url_substring_no_match_returns_error ... ok
[INFO] [stdout] test tab_target::tests::tab_url_substring_match ... ok
[INFO] [stdout] test tab_target::tests::tab_url_substring_case_insensitive ... ok
[INFO] [stdout] test util::profile_dir::tests::secure_profile_root_mode_0700 ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_cleanup_profile_dir_refuses_basename_mismatch_even_under_root ... ok
[INFO] [stdout] test util::profile_dir::tests::pre_fix_repro_prune_deletes_profile_with_live_owner_pid ... ok
[INFO] [stdout] test util::profile_dir::tests::pre_fix_repro_launch_prunes_stale_orphan_profiles ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_cleanup_profile_dir_refuses_path_outside_profile_root ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_cleanup_profile_dir_removes_managed_path_under_root ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_pid_is_ff_rdp_spawned_ignores_marker_in_unmanaged_dir ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_pid_is_ff_rdp_spawned_rejects_garbage_marker ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_prune_no_marker_falls_back_to_mtime_heuristic ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_pid_is_ff_rdp_spawned_true_only_for_marked_managed_profile ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_owner_pid_marker_roundtrip ... ok
[INFO] [stdout] test util::safe_io::tests::ensure_within_root_accepts_child ... ok
[INFO] [stdout] test util::safe_io::tests::ensure_within_root_accepts_missing_parent ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_prune_orphan_profiles_respects_age_threshold ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_prune_orphan_profiles_skips_profile_with_fresh_inner_file ... ok
[INFO] [stdout] test util::safe_io::tests::safe_create_succeeds_on_fresh_path ... ok
[INFO] [stdout] test util::safe_io::tests::safe_create_rejects_existing ... ok
[INFO] [stdout] test util::safe_io::tests::ensure_within_root_rejects_traversal_with_missing_parent ... ok
[INFO] [stdout] test util::safe_io::tests::safe_write_rejects_symlink ... ok
[INFO] [stdout] test util::safe_io::tests::ensure_within_root_rejects_traversal ... ok
[INFO] [stdout] test util::safe_io::tests::safe_write_succeeds_on_regular_file ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_prune_orphan_profiles_bounded_by_max ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_forwards_console_api_call_to_console_message_subscriber ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_forwards_page_error_to_error_message_subscriber ... ok
[INFO] [stdout] test util::profile_dir::tests::unit_prune_skips_live_owner_but_reclaims_dead_owner ... ok
[INFO] [stdout] test daemon::server::tests::daemon_dispatcher_calls_gc ... ok
[INFO] [stdout] test commands::js_helpers::tests::poll_js_condition_recv_timeout_surfaces_descriptive_message ... ok
[INFO] [stdout] test commands::navigate::tests::deadline_fires_within_timeout_plus_one_poll_interval ... ok
[INFO] [stdout] test daemon::client::tests::unit_daemon_stop_uses_killpg_when_kill_pid_fails ... ok
[INFO] [stdout] test cli::args::help_stack_tests::unit_all_subcommand_helps_render_in_small_stack ... ok
[INFO] [stdout] test daemon::buffer::tests::single_type_can_fill_buffer ... ok
[INFO] [stdout] test daemon::client::tests::pre_fix_repro_daemon_stop_waits_past_3s_for_slow_shutdown ... ok
[INFO] [stdout] test daemon::buffer::tests::unit_buffer_eviction_per_type ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 689 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 26.43s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_cookies_help.rs (/opt/rustwide/target/debug/deps/cli_cookies_help-e9680b553c3620d6)
[INFO] [stdout] running 9 tests
[INFO] [stdout] test common::color_tests::hex_matches_rgb_both_directions ... ok
[INFO] [stdout] test common::color_tests::assert_colors_equal_passes_for_equivalent_forms ... ok
[INFO] [stdout] test common::color_tests::eight_digit_hex_matches_rgba ... ok
[INFO] [stdout] test common::color_tests::keyword_matches_hex_both_directions ... ok
[INFO] [stdout] test common::color_tests::keyword_matches_rgb_both_directions ... ok
[INFO] [stdout] test common::color_tests::rgba_alpha_channel_parses ... ok
[INFO] [stdout] test common::color_tests::unrecognized_input_returns_none ... ok
[INFO] [stdout] test cookies_help_no_fields_paragraph_leak ... ok
[INFO] [stdout] test common::color_tests::assert_colors_equal_panics_for_different_colors - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_help_groups.rs (/opt/rustwide/target/debug/deps/cli_help_groups-189c70d290a70cd4)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cli_help_groups_commands_by_role ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_version.rs (/opt/rustwide/target/debug/deps/cli_version-7e265d240ca79bf2)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test common::color_tests::unrecognized_input_returns_none ... ok
[INFO] [stdout] test common::color_tests::keyword_matches_rgb_both_directions ... ok
[INFO] [stdout] test common::color_tests::rgba_alpha_channel_parses ... ok
[INFO] [stdout] test common::color_tests::assert_colors_equal_passes_for_equivalent_forms ... ok
[INFO] [stdout] test common::color_tests::eight_digit_hex_matches_rgba ... ok
[INFO] [stdout] test common::color_tests::hex_matches_rgb_both_directions ... ok
[INFO] [stdout] test common::color_tests::keyword_matches_hex_both_directions ... ok
[INFO] [stdout] test test_version_omits_git_sha_when_built_from_tarball ... ok
[INFO] [stdout] test common::color_tests::assert_colors_equal_panics_for_different_colors - should panic ... ok
[INFO] [stdout] test test_version_includes_git_sha_when_built_from_git ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dom_help_mentions_styles.rs (/opt/rustwide/target/debug/deps/dom_help_mentions_styles-a35954ef34916736)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test dom_help_mentions_styles_and_computed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e/main.rs (/opt/rustwide/target/debug/deps/e2e-1a1923f78ec98a1d)
[INFO] [stdout] 
[INFO] [stdout] running 274 tests
[INFO] [stdout] test a11y::a11y_interactive_filters_to_interactive_elements ... ok
[INFO] [stdout] test click::click_both_positional_and_selector_flag_errors ... ok
[INFO] [stdout] test a11y::a11y_with_jq_extracts_role ... ok
[INFO] [stdout] test a11y::a11y_outputs_json_with_accessibility_tree ... ok
[INFO] [stdout] test a11y::a11y_contrast_fail_only_filters_passing_checks ... ok
[INFO] [stdout] test a11y::a11y_contrast_outputs_json_with_checks ... ok
[INFO] [stdout] test computed::computed_no_match_errors ... ok
[INFO] [stdout] test a11y::a11y_summary_outputs_json_with_sections ... ok
[INFO] [stdout] test computed::computed_multi_match_returns_array ... ok
[INFO] [stdout] test console::console_filter_by_level ... ok
[INFO] [stdout] test a11y::a11y_summary_text_format_renders_sections ... ok
[INFO] [stdout] test a11y::a11y_summary_with_jq_extracts_headings ... ok
[INFO] [stdout] test console::console_filter_by_pattern ... ok
[INFO] [stdout] test computed::computed_single_match_returns_object ... ok
[INFO] [stdout] test console::console_handles_page_error_messages ... ok
[INFO] [stdout] test click::click_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test console::console_limit_truncates_results ... ok
[INFO] [stdout] test console::console_shows_all_messages ... ok
[INFO] [stdout] test computed::computed_prop_and_all_conflict ... ok
[INFO] [stdout] test console::console_no_match_returns_empty ... ok
[INFO] [stdout] test computed::computed_prop_mode_single_returns_scalar ... ok
[INFO] [stdout] test console::console_summary_present_in_output ... ok
[INFO] [stdout] test computed::computed_with_jq_filter ... ok
[INFO] [stdout] test daemon::daemon_subcommand_is_recognised_and_fails_gracefully_without_firefox ... ok
[INFO] [stdout] test a11y::a11y_contrast_with_jq_extracts_total ... ok
[INFO] [stdout] test console::console_summary_matched_reflects_filter_count ... ok
[INFO] [stdout] test daemon::help_shows_daemon_flags ... ok
[INFO] [stdout] test console::console_level_and_pattern_combined ... ok
[INFO] [stdout] test daemon::no_daemon_flag_bypasses_daemon_and_connects_directly ... ok
[INFO] [stdout] test click::click_returns_confirmation_json ... ok
[INFO] [stdout] test daemon::no_daemon_flag_accepted_as_global_flag ... ok
[INFO] [stdout] test console::console_with_jq_filter ... ok
[INFO] [stdout] test console::console_limit_10_summary_reflects_true_total ... ok
[INFO] [stdout] test daemon::registry_not_found_warning_silent_when_direct_fallback_succeeds ... ok
[INFO] [stdout] test daemon::registry_not_found_warning_visible_when_direct_fallback_also_fails ... ok
[INFO] [stdout] test console::console_follow_level_filter_applies_to_stream ... ok
[INFO] [stdout] test click::click_selector_flag_is_interchangeable_with_positional ... ok
[INFO] [stdout] test console::console_follow_handles_direct_consoleapicall_notification ... ok
[INFO] [stdout] test doctor::doctor_no_listener_fails_with_launch_hint ... ok
[INFO] [stdout] test dom::dom_first_conflicts_with_count ... ok
[INFO] [stdout] test console::console_follow_streams_messages_as_ndjson ... ok
[INFO] [stdout] test console::console_follow_handles_direct_pageerror_notification ... ok
[INFO] [stdout] test dom::dom_first_single_match_returns_scalar ... ok
[INFO] [stdout] test dom::dom_first_no_match_returns_null ... ok
[INFO] [stdout] test dom::dom_format_html_returns_raw_html_string ... ok
[INFO] [stdout] test doctor::pre_fix_repro_doctor_staleness_uses_foreign_repo_head ... ok
[INFO] [stdout] test dom::dom_jq_with_format_text_renders_text ... ok
[INFO] [stdout] test dom::dom_limit_truncates_results ... ok
[INFO] [stdout] test dom::dom_multiple_elements_text ... ok
[INFO] [stdout] test dom::dom_single_element_outer_html ... ok
[INFO] [stdout] test dom::dom_no_match_returns_empty_array ... ok
[INFO] [stdout] test dom::dom_single_element_text ... ok
[INFO] [stdout] test dom::dom_stats_returns_dom_statistics ... ok
[INFO] [stdout] test dom_tree::dom_tree_strips_actor_ids ... ok
[INFO] [stdout] test dom_tree::dom_tree_outputs_json ... ok
[INFO] [stdout] test dom::dom_with_jq_filter ... ok
[INFO] [stdout] test dom::dom_single_element_text_attrs ... ok
[INFO] [stdout] test dom_tree::dom_tree_with_selector ... ok
[INFO] [stdout] test emulate::help_documents_flags_and_lifetime ... ok
[INFO] [stdout] test emulate::invalid_color_scheme_is_usage_error ... ok
[INFO] [stdout] test emulate::non_positive_dppx_is_rejected ... ok
[INFO] [stdout] test emulate::no_flags_is_rejected ... ok
[INFO] [stdout] test dom_tree::dom_tree_with_jq_filter ... ok
[INFO] [stdout] test eval::eval_conflicting_sources_errors ... ok
[INFO] [stdout] test emulate::reset_with_field_flag_is_rejected ... ok
[INFO] [stdout] test doctor::doctor_mock_server_passes_handshake_and_tabs ... FAILED
[INFO] [stdout] test doctor::doctor_version_fallback_via_device_actor ... FAILED
[INFO] [stdout] test doctor::doctor_zero_tabs_fails_tabs_probe ... FAILED
[INFO] [stdout] test eval::eval_default_isolation_succeeds_with_const_declaration ... ok
[INFO] [stdout] test eval::eval_from_file ... ok
[INFO] [stdout] test eval::eval_from_stdin ... ok
[INFO] [stdout] test eval::eval_missing_source_errors_cleanly ... ok
[INFO] [stdout] test eval::eval_meta_eval_path_page_await ... ok
[INFO] [stdout] test eval::eval_exception_exits_nonzero ... ok
[INFO] [stdout] test eval::eval_number_result ... ok
[INFO] [stdout] test eval::eval_no_isolate_flag_is_accepted ... ok
[INFO] [stdout] test eval::eval_stringify_object_parsed_to_json_value ... ok
[INFO] [stdout] test eval::eval_stringify_number_parsed_to_json_number ... ok
[INFO] [stdout] test dom::dom_single_element_attrs ... ok
[INFO] [stdout] test eval::eval_string_result ... ok
[INFO] [stdout] test exit_codes::exit_0_happy_path_tabs ... ok
[INFO] [stdout] test eval::eval_stringify_returns_parsed_json_array ... ok
[INFO] [stdout] test eval::eval_stringify_string_no_double_encoding ... ok
[INFO] [stdout] test eval::eval_undefined_result ... ok
[INFO] [stdout] test exit_codes::exit_1_wait_js_exception ... ok
[INFO] [stdout] test eval::eval_stringify_text_suppresses_hints ... ok
[INFO] [stdout] test eval::eval_with_jq_filter ... ok
[INFO] [stdout] test exit_codes::exit_2_missing_subcommand ... ok
[INFO] [stdout] test exit_codes::pre_fix_repro_error_emitted_twice ... ok
[INFO] [stdout] test exit_codes::exit_3_connection_refused_eval ... ok
[INFO] [stdout] test exit_codes::exit_2_unknown_flag ... ok
[INFO] [stdout] test exit_codes::exit_3_connection_refused_tabs ... ok
[INFO] [stdout] test geometry::geometry_default_excludes_invisible_elements ... ok
[INFO] [stdout] test geometry::geometry_limit_truncates_elements ... ok
[INFO] [stdout] test geometry::geometry_multiple_selectors ... ok
[INFO] [stdout] test geometry::geometry_overlap_detection ... ok
[INFO] [stdout] test geometry::geometry_include_hidden_includes_invisible_elements ... ok
[INFO] [stdout] test geometry::geometry_null_result ... ok
[INFO] [stdout] test hints::json_output_has_hints_key ... ok
[INFO] [stdout] test geometry::geometry_single_selector ... ok
[INFO] [stdout] test exit_codes::exit_124_wait_timeout ... ok
[INFO] [stdout] test hints::text_no_hints_suppresses_hints ... ok
[INFO] [stdout] test hints::text_output_includes_hint_lines ... ok
[INFO] [stdout] test hints::json_with_hints_flag_has_populated_hints ... ok
[INFO] [stdout] test install_skill::dry_run_user_lists_files_no_writes ... ok
[INFO] [stdout] test geometry::geometry_with_jq_filter ... ok
[INFO] [stdout] test install_skill::from_dir_installs_custom_content ... ok
[INFO] [stdout] test inspect::inspect_with_jq_filter ... ok
[INFO] [stdout] test hints::jq_suppresses_hints ... ok
[INFO] [stdout] test install_skill::install_writes_files_and_reinst_is_noop ... ok
[INFO] [stdout] test inspect::inspect_shows_properties ... ok
[INFO] [stdout] test install_skill::project_outside_git_repo_errors ... ok
[INFO] [stdout] test launch::help_mentions_doctor ... ok
[INFO] [stdout] test install_skill::force_overwrites_unmanaged_file ... ok
[INFO] [stdout] test install_skill::missing_claude_flag_errors ... ok
[INFO] [stdout] test launch::launch_detects_port_collision ... ok
[INFO] [stdout] test launch::launch_help_exits_zero ... ok
[INFO] [stdout] test nav_action::back_outputs_json_envelope ... ok
[INFO] [stdout] test manifest::manifest_unknown_tab_produces_error_envelope ... ok
[INFO] [stdout] test nav_action::reload_outputs_json_envelope ... ok
[INFO] [stdout] test nav_action::forward_outputs_json_envelope ... ok
[INFO] [stdout] test nav_action::reload_wait_idle_no_traffic_returns_idle_quickly ... ok
[INFO] [stdout] test nav_action::reload_wait_idle_observes_network_events ... ok
[INFO] [stdout] test manifest::manifest_help_documents_command ... ok
[INFO] [stdout] test install_skill::project_inside_git_repo_installs_correctly ... ok
[INFO] [stdout] test install_skill::list_shows_installed_status ... ok
[INFO] [stdout] test navigate::navigate_outputs_json_envelope ... ok
[INFO] [stdout] test network::e2e_network_since_no_daemon_explicit ... ok
[INFO] [stdout] test navigate::navigate_wait_text_reresolves_console_actor_after_navigate ... ok
[INFO] [stdout] test navigate::navigate_with_jq_extracts_url ... ok
[INFO] [stdout] test navigate::navigate_with_network_respects_network_timeout_flag ... ok
[INFO] [stdout] test network::network_all_overrides_limit ... ok
[INFO] [stdout] test network::network_detail_headers_on_perf_fallback_emits_note ... ok
[INFO] [stdout] test network::network_detail_shows_requests ... ok
[INFO] [stdout] test network::network_falls_back_to_performance_api_when_watcher_empty ... ok
[INFO] [stdout] test network::network_filter_by_method ... ok
[INFO] [stdout] test network::network_filter_by_url ... ok
[INFO] [stdout] test network::network_follow_filter_suppresses_non_matching_requests ... ok
[INFO] [stdout] test network::network_follow_streams_request_and_response_events ... ok
[INFO] [stdout] test network::network_empty_when_no_events ... ok
[INFO] [stdout] test network::network_limit_shows_detail_with_truncation ... ok
[INFO] [stdout] test network::network_meta_source_watcher_when_watcher_has_entries ... ok
[INFO] [stdout] test network::network_prints_hint_when_both_sources_empty ... ok
[INFO] [stdout] test network::network_shows_summary_by_default ... ok
[INFO] [stdout] test page_text::page_text_long_string_is_fetched ... ok
[INFO] [stdout] test page_text::page_text_returns_visible_text ... ok
[INFO] [stdout] test page_text::page_text_with_jq_filter ... ok
[INFO] [stdout] test perf::perf_audit_returns_structured_report ... ok
[INFO] [stdout] test perf::perf_cls_alias ... ok
[INFO] [stdout] test perf::perf_exception_exits_nonzero ... ok
[INFO] [stdout] test perf::perf_filter_by_url ... ok
[INFO] [stdout] test perf::perf_handles_long_string ... ok
[INFO] [stdout] test perf::perf_jq_array_iteration_works ... ok
[INFO] [stdout] test perf::perf_lcp_alias ... ok
[INFO] [stdout] test perf::perf_longtask_type ... ok
[INFO] [stdout] test perf::perf_paint_type ... ok
[INFO] [stdout] test perf::perf_navigation_type ... ok
[INFO] [stdout] test perf::perf_resource_explicit_type_flag ... ok
[INFO] [stdout] test perf::perf_shows_resources ... ok
[INFO] [stdout] test perf::perf_with_jq_filter ... ok
[INFO] [stdout] test perf_compare::perf_compare_label_mismatch_error ... ok
[INFO] [stdout] test perf_compare::perf_compare_single_url_error ... ok
[INFO] [stdout] test perf::perf_vitals_computes_cwv ... ok
[INFO] [stdout] test network::network_summary_falls_back_to_performance_api ... ok
[INFO] [stdout] test network::network_with_jq_filter ... ok
[INFO] [stdout] test recorder::recorder_captures_nondefault_timeout_for_eval_wait ... ok
[INFO] [stdout] test recorder::recorder_captures_nondefault_timeout_for_text_wait ... ok
[INFO] [stdout] test perf_compare::perf_compare_two_urls ... ok
[INFO] [stdout] test perf_compare::perf_compare_with_jq_filter ... ok
[INFO] [stdout] test recorder::recorder_elides_explicit_default_wait_timeout ... ok
[INFO] [stdout] test recorder::recorder_omits_default_timeout ... ok
[INFO] [stdout] test recorder::recorder_captures_nondefault_wait_timeout ... ok
[INFO] [stdout] test recorder::recorder_two_step_file_ends_with_correct_closing ... ok
[INFO] [stdout] test perf_compare::perf_compare_with_labels ... ok
[INFO] [stdout] test responsive::responsive_single_width ... ok
[INFO] [stdout] test responsive::responsive_zero_width_rejected ... ok
[INFO] [stdout] test screenshot::screenshot_auto_names_file_when_no_output_given ... ok
[INFO] [stdout] test responsive::responsive_with_jq_filter ... ok
[INFO] [stdout] test screenshot::screenshot_full_page_and_viewport_height_conflict ... ok
[INFO] [stdout] test screenshot::screenshot_base64_returns_png_data_without_writing_file ... ok
[INFO] [stdout] test screenshot::screenshot_module_load_failure_in_two_step_protocol_surfaces_clean_message ... ok
[INFO] [stdout] test screenshot::screenshot_module_load_failure_surfaces_clean_version_mismatch_message ... ok
[INFO] [stdout] test screenshot::screenshot_saves_png_to_explicit_output_path ... ok
[INFO] [stdout] test screenshot::screenshot_viewport_height_flag_returns_error ... ok
[INFO] [stdout] test script_runner::default_timeout_ms_accepted_at_parse_time ... ok
[INFO] [stdout] test screenshot::screenshot_with_jq_filter_extracts_path ... ok
[INFO] [stdout] test script_runner::dry_run_minimal_json_script ... ok
[INFO] [stdout] test script_runner::dry_run_json_and_yaml_parse_equivalently ... ok
[INFO] [stdout] test script_runner::dry_run_minimal_yaml_script ... ok
[INFO] [stdout] test script_runner::dry_run_missing_var_exits_nonzero ... ok
[INFO] [stdout] test script_runner::dry_run_page_map_target_is_valid_format ... ok
[INFO] [stdout] test script_runner::dry_run_with_defined_vars ... ok
[INFO] [stdout] test script_runner::dry_run_with_vars_flag ... ok
[INFO] [stdout] test script_runner::dry_run_stdout_is_pure_ndjson ... ok
[INFO] [stdout] test script_runner::env_file_deprecated_alias_warns ... ok
[INFO] [stdout] test responsive::responsive_multiple_widths ... ok
[INFO] [stdout] test script_runner::record_status_when_not_recording ... ok
[INFO] [stdout] test script_runner::record_start_twice_errors ... ok
[INFO] [stdout] test script_runner::rejects_script_with_multiple_targets ... ok
[INFO] [stdout] test script_runner::rejects_unsupported_version ... ok
[INFO] [stdout] test script_runner::record_start_creates_state_and_stop_finalises ... ok
[INFO] [stdout] test script_runner::record_stop_on_nonempty_recording_produces_valid_json ... ok
[INFO] [stdout] test responsive::responsive_default_widths ... ok
[INFO] [stdout] test script_runner::script_format_flag_overrides_extension_detection ... ok
[INFO] [stdout] test script_runner::self_referencing_run_step_parses_and_dry_runs_cleanly ... ok
[INFO] [stdout] test script_runner::typo_field_rejected_at_parse_time ... ok
[INFO] [stdout] test script_runner::vars_file_populates_vars ... ok
[INFO] [stdout] test script_runner::script_format_invalid_value_exits_nonzero ... ok
[INFO] [stdout] test scroll::scroll_by_page_down_and_dy_rejected_by_clap ... ok
[INFO] [stdout] test scroll::scroll_bottom_returns_scrolled_json_at_end ... ok
[INFO] [stdout] test scroll::scroll_by_page_down_returns_viewport_coords ... ok
[INFO] [stdout] test scroll::scroll_container_returns_before_after_at_end ... ok
[INFO] [stdout] test scroll::scroll_by_dy_pixels ... ok
[INFO] [stdout] test scroll::scroll_text_not_found_exits_nonzero ... ok
[INFO] [stdout] test scroll::scroll_text_returns_target ... ok
[INFO] [stdout] test scroll::scroll_to_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test scroll::scroll_top_returns_scrolled_json_at_origin ... ok
[INFO] [stdout] test scroll::scroll_to_returns_scrolled_json ... ok
[INFO] [stdout] test scroll::scroll_until_returns_found_and_elapsed_ms ... ok
[INFO] [stdout] test snapshot::snapshot_null_result ... ok
[INFO] [stdout] test snapshot::snapshot_returns_dom_tree ... ok
[INFO] [stdout] test snapshot::snapshot_with_jq_filter ... ok
[INFO] [stdout] test snapshot::snapshot_with_depth_shows_truncation ... ok
[INFO] [stdout] test sources::sources_filter_by_pattern ... ok
[INFO] [stdout] test sources::sources_filter_by_substring ... ok
[INFO] [stdout] test sources::sources_handles_null_entries_in_response ... ok
[INFO] [stdout] test sources::sources_fallback_emits_debug_with_verbose ... ok
[INFO] [stdout] test sources::sources_lists_all_scripts ... ok
[INFO] [stdout] test sources::sources_fallback_is_silent_by_default ... ok
[INFO] [stdout] test sources::sources_with_jq_filter ... ok
[INFO] [stdout] test storage::storage_invalid_type_exits_nonzero_without_connecting ... ok
[INFO] [stdout] test storage::storage_all_keys_returns_parsed_object ... ok
[INFO] [stdout] test storage::storage_missing_key_returns_null_value_and_total_zero ... ok
[INFO] [stdout] test styles::styles_applied_outputs_json ... ok
[INFO] [stdout] test storage::storage_specific_key_returns_value ... ok
[INFO] [stdout] test styles::styles_computed_outputs_json ... ok
[INFO] [stdout] test storage::storage_session_type_accepted ... ok
[INFO] [stdout] test styles::styles_properties_filter_returns_only_requested ... ok
[INFO] [stdout] test tabs::tabs_connection_refused_shows_helpful_error ... ok
[INFO] [stdout] test styles::styles_with_jq_filter ... ok
[INFO] [stdout] test tabs::tabs_outputs_json_envelope ... ok
[INFO] [stdout] test tabs::tabs_verbose_restores_connection_meta ... ok
[INFO] [stdout] test styles::styles_layout_outputs_json ... ok
[INFO] [stdout] test tabs::tabs_with_jq_filter_extracts_url ... ok
[INFO] [stdout] test tabs::tabs_with_jq_total ... ok
[INFO] [stdout] test type_text::type_text_conflict_positional_and_flag_text_errors ... ok
[INFO] [stdout] test type_text::type_text_conflict_positional_and_flag_selector_errors ... ok
[INFO] [stdout] test type_text::type_text_js_uses_native_prototype_setter ... ok
[INFO] [stdout] test type_text::type_text_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test tabs::tabs_timeout_flag_is_respected ... ok
[INFO] [stdout] test type_text::type_text_named_flags_work ... ok
[INFO] [stdout] test type_text::type_text_unknown_flag_emits_tailored_hint ... ok
[INFO] [stdout] test type_text::type_text_named_with_clear_works ... ok
[INFO] [stdout] test script_runner::schema_examples_valid ... ok
[INFO] [stdout] test wait::wait_eval_succeeds_immediately ... ok
[INFO] [stdout] test type_text::type_text_returns_confirmation_json ... ok
[INFO] [stdout] test wait::wait_no_condition_exits_nonzero ... ok
[INFO] [stdout] test type_text::type_text_with_clear_flag ... ok
[INFO] [stdout] test wait::wait_selector_succeeds_immediately ... ok
[INFO] [stdout] test wait::wait_text_succeeds_immediately ... ok
[INFO] [stdout] test wait::wait_exception_exits_nonzero ... ok
[INFO] [stdout] test wait::wait_timeout_exits_nonzero ... ok
[INFO] [stdout] test daemon_parity::daemon_navigate_with_network_captures_requests ... ok
[INFO] [stdout] test cookies::cookies_returns_parsed_array ... ok
[INFO] [stdout] test cookies::cookies_filter_by_name_returns_match ... ok
[INFO] [stdout] test daemon_parity::daemon_network_shows_summary ... ok
[INFO] [stdout] test daemon_parity::e2e_error_shape_parity_daemon ... ok
[INFO] [stdout] test eval::eval_long_string_result ... ok
[INFO] [stdout] test daemon_parity::e2e_error_shape_parity_daemon_extended ... ok
[INFO] [stdout] test navigate::navigate_with_network_empty_when_no_events ... ok
[INFO] [stdout] test navigate::navigate_with_network_captures_requests ... ok
[INFO] [stdout] test cookies::cookies_filter_by_name_no_match_returns_empty ... ok
[INFO] [stdout] test cookies::cookies_returns_empty_array_when_no_cookies ... ok
[INFO] [stdout] test eval::eval_object_result ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- doctor::doctor_mock_server_passes_handshake_and_tabs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'doctor::doctor_mock_server_passes_handshake_and_tabs' (3723) panicked at crates/ff-rdp-cli/tests/e2e/doctor.rs:98:5:
[INFO] [stdout] tabs probe must be present; got names: ["daemon", "port_owner", "rdp_handshake", "firefox_version", "binary_staleness", "profile_disk_usage"]
[INFO] [stdout] STDERR: 
[INFO] [stdout] STDOUT: {
[INFO] [stdout]   "results": [
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "✓",
[INFO] [stdout]       "name": "daemon",
[INFO] [stdout]       "status": "pass",
[INFO] [stdout]       "detail": "no daemon running (commands will connect directly)"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "⚠",
[INFO] [stdout]       "name": "port_owner",
[INFO] [stdout]       "status": "warn",
[INFO] [stdout]       "hint": "install `lsof` (Unix) so doctor can identify the listener process",
[INFO] [stdout]       "detail": "port 40905 is in use but the owner could not be identified"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "✗",
[INFO] [stdout]       "name": "rdp_handshake",
[INFO] [stdout]       "status": "fail",
[INFO] [stdout]       "hint": "the listener accepted TCP but did not return a Firefox greeting — check that --start-debugger-server matches --port and that the listener is Firefox",
[INFO] [stdout]       "detail": "RDP handshake failed: recv failed: Connection reset by peer (os error 104)"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "⚠",
[INFO] [stdout]       "name": "firefox_version",
[INFO] [stdout]       "status": "warn",
[INFO] [stdout]       "detail": "Firefox version not advertised in the RDP greeting"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "✓",
[INFO] [stdout]       "name": "binary_staleness",
[INFO] [stdout]       "status": "pass",
[INFO] [stdout]       "detail": "installed binary matches HEAD (df8793c50a5e)"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "glyph": "✓",
[INFO] [stdout]       "name": "profile_disk_usage",
[INFO] [stdout]       "status": "pass",
[INFO] [stdout]       "detail": "4 managed profile dir(s), 6160 bytes under /root/.local/state/ff-rdp/profiles"
[INFO] [stdout]     }
[INFO] [stdout]   ],
[INFO] [stdout]   "total": 6,
[INFO] [stdout]   "meta": {
[INFO] [stdout]     "host": "127.0.0.1",
[INFO] [stdout]     "port": 40905,
[INFO] [stdout]     "version_long": "0.2.0 (df8793c50a5e+dirty 2026-07-10)",
[INFO] [stdout]     "connection": {
[INFO] [stdout]       "host": "127.0.0.1",
[INFO] [stdout]       "port": 40905
[INFO] [stdout]     }
[INFO] [stdout]   }
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x575b22bca268 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x575b22bca268 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x575b22be29da - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x575b22be29da - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x575b22bcf6d2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x575b22bcf6d2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x575b22ba50d6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x575b22ba50d6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x575b22bc0e59 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x575b22ac107c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x575b22ac107c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x575b22bc10d2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x575b22bc10d2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x575b22ba5192 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x575b22b99fe9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x575b22ba606d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x575b22be324c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x575b222a55b0 - e2e[ad0359b6d35080f6]::doctor::doctor_mock_server_passes_handshake_and_tabs
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:98:5
[INFO] [stdout]   20:     0x575b2229c987 - e2e[ad0359b6d35080f6]::doctor::doctor_mock_server_passes_handshake_and_tabs::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:69:50
[INFO] [stdout]   21:     0x575b2233e046 - <e2e[ad0359b6d35080f6]::doctor::doctor_mock_server_passes_handshake_and_tabs::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x575b22ab415b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x575b22ab415b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x575b22ac19d5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x575b22ac19d5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x575b22abb2e4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x575b22abb2e4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x575b22ac4a52 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x575b22ac4a52 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x575b22bc905f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   41:     0x575b22bc905f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x774b1c640aa4 - <unknown>
[INFO] [stdout]   43:     0x774b1c6cda64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- doctor::doctor_version_fallback_via_device_actor stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'doctor::doctor_version_fallback_via_device_actor' (3729) panicked at crates/ff-rdp-cli/tests/e2e/doctor.rs:181:5:
[INFO] [stdout] firefox_version probe detail should contain version 137 from device actor; got: Firefox version not advertised in the RDP greeting
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x575b22bca268 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x575b22bca268 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x575b22be29da - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x575b22be29da - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x575b22bcf6d2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x575b22bcf6d2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x575b22ba50d6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x575b22ba50d6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x575b22bc0e59 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x575b22ac107c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x575b22ac107c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x575b22bc10d2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x575b22bc10d2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x575b22ba5192 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x575b22b99fe9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x575b22ba606d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x575b22be324c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x575b222a40f6 - e2e[ad0359b6d35080f6]::doctor::doctor_version_fallback_via_device_actor
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:181:5
[INFO] [stdout]   20:     0x575b2229c927 - e2e[ad0359b6d35080f6]::doctor::doctor_version_fallback_via_device_actor::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:117:46
[INFO] [stdout]   21:     0x575b2233dfc6 - <e2e[ad0359b6d35080f6]::doctor::doctor_version_fallback_via_device_actor::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x575b22ab415b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x575b22ab415b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x575b22ac19d5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x575b22ac19d5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x575b22abb2e4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x575b22abb2e4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x575b22ac4a52 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x575b22ac4a52 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x575b22bc905f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   41:     0x575b22bc905f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x774b1c640aa4 - <unknown>
[INFO] [stdout]   43:     0x774b1c6cda64 - clone
[INFO] [stdout]   44:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- doctor::doctor_zero_tabs_fails_tabs_probe stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'doctor::doctor_zero_tabs_fails_tabs_probe' (3743) panicked at crates/ff-rdp-cli/tests/e2e/doctor.rs:223:10:
[INFO] [stdout] tabs probe
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x575b22bca268 - std[10d71ac2c42b111e]::backtrace_rs::backtrace::trace_unsynchronized::<std[10d71ac2c42b111e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x575b22bca268 - std[10d71ac2c42b111e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x575b22bca268 - <<std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8fb95b77d25ab6c8]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x575b22be29da - <core[8fb95b77d25ab6c8]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x575b22be29da - core[8fb95b77d25ab6c8]::fmt::write
[INFO] [stdout]    6:     0x575b22bcf6d2 - std[10d71ac2c42b111e]::io::default_write_fmt::<alloc[a7ee25936407c584]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:622:11
[INFO] [stdout]    7:     0x575b22bcf6d2 - <alloc[a7ee25936407c584]::vec::Vec<u8> as std[10d71ac2c42b111e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/io/mod.rs:1977:13
[INFO] [stdout]    8:     0x575b22ba50d6 - <std[10d71ac2c42b111e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x575b22ba50d6 - std[10d71ac2c42b111e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x575b22bc0e59 - std[10d71ac2c42b111e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x575b22ac107c - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   12:     0x575b22ac107c - test[213991da798b1c03]::test_main_inner::<test[213991da798b1c03]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x575b22bc10d2 - <alloc[a7ee25936407c584]::boxed::Box<dyn for<'a, 'b> core[8fb95b77d25ab6c8]::ops::function::Fn<(&'a std[10d71ac2c42b111e]::panic::PanicHookInfo<'b>,), Output = ()> + core[8fb95b77d25ab6c8]::marker::Sync + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::Fn<(&std[10d71ac2c42b111e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2289:9
[INFO] [stdout]   14:     0x575b22bc10d2 - std[10d71ac2c42b111e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x575b22ba5192 - std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x575b22b99fe9 - std[10d71ac2c42b111e]::sys::backtrace::__rust_end_short_backtrace::<std[10d71ac2c42b111e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x575b22ba606d - __rustc[3be9ba60078d4c86]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x575b22be324c - core[8fb95b77d25ab6c8]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x575b22be2f14 - core[8fb95b77d25ab6c8]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x575b22be2f14 - core[8fb95b77d25ab6c8]::option::expect_failed
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/option.rs:2257:5
[INFO] [stdout]   21:     0x575b22489f10 - <core[8fb95b77d25ab6c8]::option::Option<&serde_json[7913c65f0b4fc3f9]::value::Value>>::expect
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/option.rs:968:21
[INFO] [stdout]   22:     0x575b222a1c14 - e2e[ad0359b6d35080f6]::doctor::doctor_zero_tabs_fails_tabs_probe
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:223:10
[INFO] [stdout]   23:     0x575b2229c8f7 - e2e[ad0359b6d35080f6]::doctor::doctor_zero_tabs_fails_tabs_probe::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:194:39
[INFO] [stdout]   24:     0x575b2233df86 - <e2e[ad0359b6d35080f6]::doctor::doctor_zero_tabs_fails_tabs_probe::{closure#0} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x575b22ab415b - <fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x575b22ab415b - test[213991da798b1c03]::__rust_begin_short_backtrace::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, fn() -> core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x575b22ac19d5 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panicking::catch_unwind::<core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>, core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x575b22ac19d5 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<test[213991da798b1c03]::run_test_in_process::{closure#0}>, core[8fb95b77d25ab6c8]::result::Result<(), alloc[a7ee25936407c584]::string::String>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x575b22ac19d5 - test[213991da798b1c03]::run_test_in_process
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x575b22ac19d5 - test[213991da798b1c03]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x575b22abb2e4 - test[213991da798b1c03]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x575b22abb2e4 - std[10d71ac2c42b111e]::sys::backtrace::__rust_begin_short_backtrace::<test[213991da798b1c03]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x575b22ac4a52 - <core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::do_call::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panicking::catch_unwind::<(), core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x575b22ac4a52 - std[10d71ac2c42b111e]::panic::catch_unwind::<core[8fb95b77d25ab6c8]::panic::unwind_safe::AssertUnwindSafe<std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x575b22ac4a52 - std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked::<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x575b22ac4a52 - <std[10d71ac2c42b111e]::thread::lifecycle::spawn_unchecked<test[213991da798b1c03]::run_test::{closure#1}, ()>::{closure#1} as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x575b22bc905f - <alloc[a7ee25936407c584]::boxed::Box<dyn core[8fb95b77d25ab6c8]::ops::function::FnOnce<(), Output = ()> + core[8fb95b77d25ab6c8]::marker::Send> as core[8fb95b77d25ab6c8]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/alloc/src/boxed.rs:2275:9
[INFO] [stdout]   44:     0x575b22bc905f - <std[10d71ac2c42b111e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/b2282dd5646a57d570fc86fbe8df0e8826665ef6/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x774b1c640aa4 - <unknown>
[INFO] [stdout]   46:     0x774b1c6cda64 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     doctor::doctor_mock_server_passes_handshake_and_tabs
[INFO] [stdout]     doctor::doctor_version_fallback_via_device_actor
[INFO] [stdout]     doctor::doctor_zero_tabs_fails_tabs_probe
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 271 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.36s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e`
[INFO] running `Command { std: "docker" "inspect" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d", kill_on_drop: false }`
[INFO] [stdout] ea58d2aff5631c3e00e82c0eb86acb13e55f450b56d94e0bcf1ca6c4c80aca3d
