[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] dafe51fece7ab2ccc3f99a278453bd739ce3e9ed
[INFO] testing ractive/ff-rdp against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fractive%2Fff-rdp" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[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-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ractive/ff-rdp on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 09a7008092324c773b1cac9f12482f5190707559e630a138b7eb2f9ac675f42c
[INFO] running `Command { std: "docker" "start" "-a" "09a7008092324c773b1cac9f12482f5190707559e630a138b7eb2f9ac675f42c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09a7008092324c773b1cac9f12482f5190707559e630a138b7eb2f9ac675f42c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09a7008092324c773b1cac9f12482f5190707559e630a138b7eb2f9ac675f42c", kill_on_drop: false }`
[INFO] [stdout] 09a7008092324c773b1cac9f12482f5190707559e630a138b7eb2f9ac675f42c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8c6967bd5730b1ea74ea93ca294ffda9cdf5ebea795425d07fa90a2ef2c70ff2
[INFO] running `Command { std: "docker" "start" "-a" "8c6967bd5730b1ea74ea93ca294ffda9cdf5ebea795425d07fa90a2ef2c70ff2", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling jaq-core v3.0.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling regex-bites v0.1.6
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling jiff v0.2.24
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling ureq-proto v0.6.0
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling hifijson v0.5.0
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling jaq-std v3.0.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling jaq-json v2.0.0
[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 thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[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 ff-rdp-core v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-core)
[INFO] [stderr]    Compiling chrono v0.4.44
[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]    Compiling ff-rdp-cli v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "8c6967bd5730b1ea74ea93ca294ffda9cdf5ebea795425d07fa90a2ef2c70ff2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8c6967bd5730b1ea74ea93ca294ffda9cdf5ebea795425d07fa90a2ef2c70ff2", kill_on_drop: false }`
[INFO] [stdout] 8c6967bd5730b1ea74ea93ca294ffda9cdf5ebea795425d07fa90a2ef2c70ff2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b9968fc31e7ec68cce76e452139a846dfeeb7eb2c2acc68974772751ee6cf178
[INFO] running `Command { std: "docker" "start" "-a" "b9968fc31e7ec68cce76e452139a846dfeeb7eb2c2acc68974772751ee6cf178", kill_on_drop: false }`
[INFO] [stderr]    Compiling ff-rdp-cli v0.2.0 (/opt/rustwide/workdir/crates/ff-rdp-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.04s
[INFO] running `Command { std: "docker" "inspect" "b9968fc31e7ec68cce76e452139a846dfeeb7eb2c2acc68974772751ee6cf178", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b9968fc31e7ec68cce76e452139a846dfeeb7eb2c2acc68974772751ee6cf178", kill_on_drop: false }`
[INFO] [stdout] b9968fc31e7ec68cce76e452139a846dfeeb7eb2c2acc68974772751ee6cf178
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3a24c14e5f94db6da5f0ceddf5019841f30e4031e1f0e09f9b9834d09c599782
[INFO] running `Command { std: "docker" "start" "-a" "3a24c14e5f94db6da5f0ceddf5019841f30e4031e1f0e09f9b9834d09c599782", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ff_rdp-473e095d017022f9)
[INFO] [stdout] 
[INFO] [stdout] running 370 tests
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_has_role_map ... ok
[INFO] [stdout] test commands::a11y::tests::a11y_js_template_skips_hidden_elements ... 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_max_zero_produces_empty ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_nested_children_preorder ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_single_node ... ok
[INFO] [stdout] test commands::a11y::tests::parse_js_a11y_tree_empty_name_filtered ... 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::render_a11y_text_does_not_panic_with_empty_object ... ok
[INFO] [stdout] test commands::a11y::tests::flatten_tree_removes_children_from_entries ... 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_nested_tree ... 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_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::tests::render_a11y_text_does_not_panic_with_minimal_node ... 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_truncation_note ... ok
[INFO] [stdout] test commands::computed::tests::build_js_all_mode_dumps_everything ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_empty_sections_no_output ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_caps_element_count ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_landmarks ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_checks_direct_text_only ... ok
[INFO] [stdout] test commands::a11y_summary::tests::render_summary_text_headings ... ok
[INFO] [stdout] test commands::computed::tests::build_js_escapes_selector ... ok
[INFO] [stdout] test commands::computed::tests::build_js_object_mode_non_default_filters ... ok
[INFO] [stdout] test commands::doctor::tests::build_results_includes_hint_when_present ... ok
[INFO] [stdout] test commands::doctor::tests::probe_tabs_zero_is_fail ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_in_range_is_pass ... ok
[INFO] [stdout] test commands::computed::tests::build_js_prop_mode_references_property ... ok
[INFO] [stdout] test commands::a11y::tests::strip_actor_ids_removes_actor_field ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_template_has_sentinel ... ok
[INFO] [stdout] test commands::a11y_contrast::tests::contrast_js_computes_luminance ... 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::console::tests::accepts_reasonable_regex ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs_multi_uses_array_from ... ok
[INFO] [stdout] test commands::console::tests::rejects_oversized_regex ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_out_of_range_is_warn ... ok
[INFO] [stdout] test commands::doctor::tests::probe_version_unknown_is_warn ... ok
[INFO] [stdout] test commands::dom::tests::build_count_js ... 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::cookies::tests::cmp_selectors_are_valid_css ... ok
[INFO] [stdout] test commands::a11y_summary::tests::a11y_summary_js_uses_json_stringify ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs ... ok
[INFO] [stdout] test commands::dom::tests::build_js_text_attrs_single_uses_sentinel ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_does_not_panic_null ... ok
[INFO] [stdout] test commands::dom::tests::escape_selector_handles_special_chars ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_with_truncation ... ok
[INFO] [stdout] test commands::dom_tree::tests::render_dom_tree_text_element_with_children ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_handles_nested_arrays ... ok
[INFO] [stdout] test commands::eval::tests::build_script_isolate_and_stringify_combine ... 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::eval::tests::build_script_isolate_only_wraps_in_strict_eval_iife ... ok
[INFO] [stdout] test commands::eval::tests::build_script_isolate_preserves_single_expression ... ok
[INFO] [stdout] test commands::dom_tree::tests::strip_actor_ids_removes_actor_field ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_only_wraps_in_json_stringify ... ok
[INFO] [stdout] test commands::eval::tests::build_script_no_isolate_no_stringify_passthrough ... ok
[INFO] [stdout] test commands::eval::tests::load_script_no_source_errors ... ok
[INFO] [stdout] test commands::eval::tests::load_script_missing_file_is_user_error ... 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_escapes_special_chars_in_selectors ... 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_true_uses_true_literal ... 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_does_not_panic_with_empty_elements ... ok
[INFO] [stdout] test commands::geometry::tests::render_geometry_text_with_overlaps ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_string_passthrough ... ok
[INFO] [stdout] test commands::eval::tests::build_script_handles_special_chars ... ok
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_plain ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_inserts_selectors ... ok
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_escapes_single_quotes ... ok
[INFO] [stdout] test commands::js_helpers::tests::escape_selector_handles_special_chars ... ok
[INFO] [stdout] test commands::eval::tests::build_script_stringify_number_uses_json_stringify ... ok
[INFO] [stdout] test commands::eval::tests::load_script_from_file ... ok
[INFO] [stdout] test commands::js_helpers::tests::is_truthy_false_values ... ok
[INFO] [stdout] test commands::js_helpers::tests::is_truthy_true_values ... 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::navigate::tests::describe_wait_condition_selector ... ok
[INFO] [stdout] test commands::navigate::tests::describe_wait_condition_text ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_selector_has_condition ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_text_has_condition ... ok
[INFO] [stdout] test commands::navigate::tests::wait_after_nav_no_condition_returns_none ... ok
[INFO] [stdout] test commands::geometry::tests::build_js_visible_only_includes_filter_guard ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_counts_and_bytes ... 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_timeout_reached_adds_hint ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_total_transfer_bytes_not_negative_zero ... ok
[INFO] [stdout] test commands::launch::tests::build_command_headless_flag ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_no_timeout_no_hint ... ok
[INFO] [stdout] test commands::network::tests::build_network_summary_empty ... ok
[INFO] [stdout] test commands::network::tests::render_network_summary_text_does_not_panic_empty ... ok
[INFO] [stdout] test commands::network::tests::render_network_summary_text_does_not_panic_full ... 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::network_events::tests::map_perf_resource_xhr_initiator_type ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_fetch_initiator_type ... ok
[INFO] [stdout] test commands::perf::tests::cls_excludes_had_recent_input ... ok
[INFO] [stdout] test commands::network_events::tests::map_perf_resource_missing_size_fields_become_null ... ok
[INFO] [stdout] test commands::perf::tests::cls_gap_over_1s_creates_new_window ... ok
[INFO] [stdout] test commands::launch::tests::build_command_always_includes_no_remote ... ok
[INFO] [stdout] test commands::launch::tests::build_command_includes_debugger_server_port ... ok
[INFO] [stdout] test commands::launch::tests::build_command_no_headless_by_default ... ok
[INFO] [stdout] test commands::launch::tests::build_command_non_standard_port ... ok
[INFO] [stdout] test commands::launch::tests::build_command_no_profile_auto_creates_temp_profile ... ok
[INFO] [stdout] test commands::perf::tests::cls_same_window_accumulates ... ok
[INFO] [stdout] test commands::launch::tests::build_command_explicit_profile ... ok
[INFO] [stdout] test commands::perf::tests::cls_zero_for_empty ... ok
[INFO] [stdout] test commands::launch::tests::build_command_temp_profile_writes_user_js ... 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::launch::tests::build_command_temp_profile_creates_dir_and_sets_profile_arg ... ok
[INFO] [stdout] test commands::perf::tests::fcp_returns_none_when_absent ... ok
[INFO] [stdout] test commands::perf::tests::cls_window_over_5s_creates_new_window ... ok
[INFO] [stdout] test commands::perf::tests::fcp_finds_first_contentful_paint ... ok
[INFO] [stdout] test commands::perf::tests::fcp_empty_array ... 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::rate_cls_thresholds ... ok
[INFO] [stdout] test commands::perf::tests::rate_needs_improvement ... ok
[INFO] [stdout] test commands::perf::tests::rate_good_boundary ... ok
[INFO] [stdout] test commands::perf::tests::rate_poor_boundary ... ok
[INFO] [stdout] test commands::launch::tests::build_command_auto_consent_uses_auto_created_profile ... ok
[INFO] [stdout] test commands::perf::tests::render_summary_text_does_not_panic_with_empty_data ... ok
[INFO] [stdout] test commands::perf::tests::render_summary_text_does_not_panic_with_full_data ... ok
[INFO] [stdout] test commands::perf::tests::round2_two_decimals ... ok
[INFO] [stdout] test commands::perf::tests::tbt_counts_blocking_time_after_fcp ... ok
[INFO] [stdout] test commands::perf::tests::tbt_task_ending_before_fcp_excluded ... ok
[INFO] [stdout] test commands::perf::tests::tbt_empty_array ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_missing_activation_start_defaults_zero ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_falls_back_to_url_when_label_out_of_range ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_uses_provided_label ... ok
[INFO] [stdout] test commands::perf::tests::tbt_task_straddling_fcp_counts_only_portion_after ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_missing_response_start ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_no_labels_is_ok ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_matching_count_is_ok ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_too_few_labels_errors ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_basic ... ok
[INFO] [stdout] test commands::perf_compare::tests::validate_labels_too_many_labels_errors ... ok
[INFO] [stdout] test commands::perf::tests::tbt_ignores_tasks_shorter_than_50ms ... ok
[INFO] [stdout] test commands::perf::tests::ttfb_subtracts_activation_start ... ok
[INFO] [stdout] test commands::perf_compare::tests::label_for_uses_url_when_no_labels ... ok
[INFO] [stdout] test commands::responsive::tests::geometry_js_uses_offset_width_for_vw ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_full_data ... 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_inserts_selectors ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_visible_only_false_uses_false_literal ... ok
[INFO] [stdout] test commands::responsive::tests::build_geometry_js_visible_only_includes_filter_guard ... 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_substitutes_width ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_accepts_valid ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_rejects_empty ... ok
[INFO] [stdout] test commands::responsive::tests::restore_viewport_css_js_removes_all_properties ... ok
[INFO] [stdout] test commands::screenshot::tests::build_js_explicit_height_inlines_value ... ok
[INFO] [stdout] test commands::responsive::tests::build_set_viewport_js_uses_important ... 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_unrelated_actor_error ... ok
[INFO] [stdout] test commands::screenshot::tests::build_js_full_page_uses_scroll_height ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_no_breakpoints ... ok
[INFO] [stdout] test commands::responsive::tests::validate_widths_rejects_zero ... ok
[INFO] [stdout] test commands::responsive::tests::render_responsive_text_does_not_panic_with_missing_breakpoints_key ... ok
[INFO] [stdout] test commands::responsive::tests::wait_layout_stable_js_returns_promise ... ok
[INFO] [stdout] test commands::screenshot::tests::png_dimensions_too_short ... ok
[INFO] [stdout] test commands::screenshot::tests::build_js_default_uses_inner_height ... ok
[INFO] [stdout] test commands::screenshot::tests::resolve_output_path_auto_timestamped ... ok
[INFO] [stdout] test commands::screenshot::tests::is_actor_module_load_failure_rejects_timeout ... ok
[INFO] [stdout] test commands::screenshot::tests::strip_data_url_prefix ... ok
[INFO] [stdout] test commands::screenshot::tests::resolve_output_path_explicit ... ok
[INFO] [stdout] test commands::scroll::tests::js_string_literal_preserves_original_selector_with_quotes ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_negative_dy_produces_negative_js_expr ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_page_down_expr ... ok
[INFO] [stdout] test commands::scroll::tests::run_by_negative_dx_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_bottom_js_scrolls_to_scroll_height ... ok
[INFO] [stdout] test commands::screenshot::tests::strip_data_url_prefix_mismatch ... ok
[INFO] [stdout] test commands::scroll::tests::escape_selector_in_scroll_js ... ok
[INFO] [stdout] test commands::scroll::tests::js_string_literal_escapes_special_chars ... ok
[INFO] [stdout] test commands::screenshot::tests::png_dimensions_minimal_png ... 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::run_to_js_contains_sentinel_and_scroll_into_view ... ok
[INFO] [stdout] test commands::scroll::tests::run_top_js_scrolls_to_origin ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_container_to_end_js ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_block_maps_user_friendly_aliases_to_spec_values ... ok
[INFO] [stdout] test commands::scroll::tests::scroll_text_js_uses_tree_walker ... 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_with_role_and_truncated_does_not_panic ... ok
[INFO] [stdout] test commands::snapshot::tests::snapshot_js_contains_sentinel ... 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_not_available_message ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_unrecognized_packet_type ... ok
[INFO] [stdout] test commands::snapshot::tests::render_snapshot_null_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::render_snapshot_simple_element_does_not_panic ... ok
[INFO] [stdout] test commands::sources::tests::rejects_oversized_regex ... ok
[INFO] [stdout] test commands::sources::tests::sources_js_has_sentinel ... ok
[INFO] [stdout] test commands::sources::tests::should_use_js_fallback_undefined_message ... 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_collects_script_tags ... ok
[INFO] [stdout] test commands::sources::tests::sources_js_uses_performance_api ... ok
[INFO] [stdout] test commands::storage::tests::invalid_storage_type_is_user_error ... ok
[INFO] [stdout] test commands::storage::tests::key_json_encoding_escapes_quotes ... ok
[INFO] [stdout] test commands::screenshot::tests::clap_a11y_limit_and_format_text_parsed ... 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::storage::tests::storage_json_parses_correctly ... ok
[INFO] [stdout] test commands::styles::tests::computed_items_serialise_correctly ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_no_such_actor ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_unknown_actor ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_single_property ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_multiple_properties ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_about_blank ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_unknown_property_returns_empty ... ok
[INFO] [stdout] test commands::sources::tests::accepts_reasonable_regex ... ok
[INFO] [stdout] test commands::styles::tests::properties_filter_none_returns_all ... ok
[INFO] [stdout] test commands::styles::tests::map_style_error_other_errors_become_internal ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_about_newtab ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_bottom_parses ... ok
[INFO] [stdout] test commands::screenshot::tests::clap_screenshot_full_page_flag_parsed ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_by_negative_dy_parses ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_file ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_http ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_empty_scheme ... ok
[INFO] [stdout] test commands::url_validation::tests::allows_https ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_selector ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_javascript ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_no_scheme ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_vbscript ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_empty_string ... ok
[INFO] [stdout] test commands::url_validation::tests::scheme_comparison_is_case_insensitive ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_eval ... ok
[INFO] [stdout] test commands::wait::tests::build_wait_js_text ... ok
[INFO] [stdout] test daemon::buffer::tests::drain_clears_bucket ... ok
[INFO] [stdout] test daemon::buffer::tests::drain_unknown_type_returns_empty ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_leading_whitespace ... ok
[INFO] [stdout] test daemon::buffer::tests::is_empty_after_all_drained ... ok
[INFO] [stdout] test daemon::buffer::tests::new_buffer_is_empty ... 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::buffer::tests::sizes_only_includes_non_empty ... ok
[INFO] [stdout] test daemon::registry::tests::generate_auth_token_produces_64_hex_chars ... ok
[INFO] [stdout] test daemon::client::tests::no_daemon_flag_always_returns_direct ... ok
[INFO] [stdout] test daemon::buffer::tests::insert_and_drain_roundtrip ... ok
[INFO] [stdout] test connection_meta::tests::build_includes_firefox_version_when_known ... ok
[INFO] [stdout] test connection_meta::tests::build_includes_host_and_port ... ok
[INFO] [stdout] test connection_meta::tests::build_omits_firefox_version_when_unknown ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_port_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_firefox_port_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::generate_auth_token_is_not_all_zeros ... ok
[INFO] [stdout] test daemon::registry::tests::read_invalid_pid_zero_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::overwrite_updates_values ... ok
[INFO] [stdout] test daemon::server::tests::buffer_for_types_only_buffers_matching_types ... ok
[INFO] [stdout] test daemon::registry::tests::read_corrupt_json_returns_error ... ok
[INFO] [stdout] test daemon::registry::tests::read_legacy_registry_without_auth_token_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_ignores_missing_array_field ... ok
[INFO] [stdout] test daemon::registry::tests::read_nonexistent_returns_none ... ok
[INFO] [stdout] test daemon::registry::tests::remove_cleans_up ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_skips_malformed_sub_entries ... ok
[INFO] [stdout] test daemon::registry::tests::remove_nonexistent_is_ok ... ok
[INFO] [stdout] test commands::scroll::tests::clap_scroll_top_parses ... ok
[INFO] [stdout] test daemon::registry::tests::write_is_atomic_tmp_cleaned_up ... ok
[INFO] [stdout] test daemon::server::tests::buffer_watcher_event_stores_items_by_resource_type ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_buffers_when_no_subscribers ... 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::buffer_watcher_event_handles_empty_items_list ... ok
[INFO] [stdout] test daemon::registry::tests::registry_file_has_restricted_permissions ... ok
[INFO] [stdout] test daemon::registry::tests::write_then_read_roundtrip ... ok
[INFO] [stdout] test connection_meta::tests::merge_into_adds_connection_field ... ok
[INFO] [stdout] test daemon::server::tests::drain_unknown_resource_type_returns_empty ... ok
[INFO] [stdout] test daemon::server::tests::handle_client_accepts_correct_auth_token_and_sends_greeting ... ok
[INFO] [stdout] test daemon::server::tests::drain_missing_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_detects_console_api_call ... 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::should_stream_event_returns_true_for_streaming_type ... ok
[INFO] [stdout] test daemon::server::tests::status_returns_uptime_and_buffer_sizes ... ok
[INFO] [stdout] test daemon::server::tests::is_watcher_event_detects_resource_array_types ... ok
[INFO] [stdout] test daemon::server::tests::status_with_empty_buffer_omits_zero_sizes ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_rejects_watcher_events ... ok
[INFO] [stdout] test daemon::server::tests::stop_stream_missing_resource_type_returns_error ... ok
[INFO] [stdout] test daemon::server::tests::is_console_push_event_detects_page_error ... ok
[INFO] [stdout] test daemon::server::tests::stop_stream_returns_streaming_false ... ok
[INFO] [stdout] test hints::tests::dom_hints_include_selector ... ok
[INFO] [stdout] test hints::tests::generate_hints_never_exceeds_max ... ok
[INFO] [stdout] test daemon::server::tests::stream_clears_buffer_and_returns_streaming_ack ... ok
[INFO] [stdout] test daemon::server::tests::handle_client_rejects_wrong_auth_token ... ok
[INFO] [stdout] test hints::tests::inspect_hints_are_empty ... ok
[INFO] [stdout] test daemon::server::tests::stream_missing_resource_type_returns_error ... ok
[INFO] [stdout] test commands::url_validation::tests::rejects_data ... ok
[INFO] [stdout] test hints::tests::console_hints_differ_on_has_errors ... ok
[INFO] [stdout] test daemon::server::tests::unknown_message_type_returns_error ... ok
[INFO] [stdout] test hints::tests::a11y_contrast_fail_only_context_sensitive ... ok
[INFO] [stdout] test main_tests::rejects_no_subcommand ... ok
[INFO] [stdout] test hints::tests::navigate_hints_are_non_empty ... ok
[INFO] [stdout] test output::tests::envelope_structure ... ok
[INFO] [stdout] test hints::tests::storage_hints_context_sensitive ... ok
[INFO] [stdout] test output::tests::envelope_with_truncation_not_truncated ... 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::rejects_other_subcommand ... ok
[INFO] [stdout] test output::tests::envelope_with_truncation_truncated ... ok
[INFO] [stdout] test output_controls::tests::sort_missing_field_sorts_before_present ... 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::sort_numeric_asc ... ok
[INFO] [stdout] test output_controls::tests::fields_passthrough_non_object ... ok
[INFO] [stdout] test output_controls::tests::sort_numeric_desc ... 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::sort_noop_when_no_field ... ok
[INFO] [stdout] test output::tests::jq_invalid_filter ... ok
[INFO] [stdout] test output_controls::tests::limit_with_explicit_limit ... ok
[INFO] [stdout] test output::tests::jq_identity_filter ... ok
[INFO] [stdout] test output_pipeline::tests::text_flat_object_renders_kv ... ok
[INFO] [stdout] test output_pipeline::tests::from_cli_invalid_format_returns_error ... ok
[INFO] [stdout] test output_pipeline::tests::from_cli_text_with_jq_is_error ... ok
[INFO] [stdout] test output_pipeline::tests::text_renders_truncation_hint ... ok
[INFO] [stdout] test output_pipeline::tests::json_format_unchanged ... ok
[INFO] [stdout] test port_owner::tests::is_port_in_use_returns_false_for_closed_port ... ok
[INFO] [stdout] test port_owner::tests::is_port_in_use_returns_true_for_active_listener ... ok
[INFO] [stdout] test output_pipeline::tests::text_array_of_objects_renders_table ... ok
[INFO] [stdout] test port_owner::tests::parse_lsof_output_returns_none_when_no_pid ... ok
[INFO] [stdout] test tab_target::tests::default_falls_back_to_first_when_none_selected ... ok
[INFO] [stdout] test tab_target::tests::default_returns_selected_tab ... ok
[INFO] [stdout] test tab_target::tests::default_empty_tabs_returns_error ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_minutes ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_days ... ok
[INFO] [stdout] test tab_target::tests::tab_id_exact_match ... ok
[INFO] [stdout] test tab_target::tests::tab_id_takes_precedence_over_tab ... ok
[INFO] [stdout] test tab_target::tests::tab_id_not_found_returns_error ... ok
[INFO] [stdout] test tab_target::tests::tab_index_out_of_range ... ok
[INFO] [stdout] test tab_target::tests::format_uptime_short_handles_hours ... ok
[INFO] [stdout] test tab_target::tests::tab_index_zero_is_out_of_range ... 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 tab_target::tests::tab_index_first ... ok
[INFO] [stdout] test tab_target::tests::tab_url_substring_no_match_returns_error ... ok
[INFO] [stdout] test tab_target::tests::tab_index_last ... ok
[INFO] [stdout] test output::tests::jq_field_access ... ok
[INFO] [stdout] test output::tests::jq_array_iteration ... ok
[INFO] [stdout] test output_controls::tests::sort_string_asc ... ok
[INFO] [stdout] test daemon::buffer::tests::eviction_at_cap ... ok
[INFO] [stdout] test port_owner::tests::parse_lsof_output_extracts_pid_and_command ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_does_not_deliver_to_wrong_subscriber_type ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_forwards_page_error_to_error_message_subscriber ... ok
[INFO] [stdout] test daemon::server::tests::dispatch_console_push_forwards_console_api_call_to_console_message_subscriber ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 369 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e/main.rs (/opt/rustwide/target/debug/deps/e2e-c6849ac502a1b826)
[INFO] [stdout] 
[INFO] [stdout] running 219 tests
[INFO] [stdout] test a11y::a11y_outputs_json_with_accessibility_tree ... ok
[INFO] [stdout] test computed::computed_prop_and_all_conflict ... ok
[INFO] [stdout] test a11y::a11y_summary_text_format_renders_sections ... ok
[INFO] [stdout] test computed::computed_prop_mode_single_returns_scalar ... ok
[INFO] [stdout] test click::click_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test computed::computed_no_match_errors ... ok
[INFO] [stdout] test a11y::a11y_contrast_outputs_json_with_checks ... ok
[INFO] [stdout] test a11y::a11y_interactive_filters_to_interactive_elements ... ok
[INFO] [stdout] test a11y::a11y_summary_outputs_json_with_sections ... ok
[INFO] [stdout] test console::console_filter_by_level ... ok
[INFO] [stdout] test computed::computed_multi_match_returns_array ... ok
[INFO] [stdout] test a11y::a11y_contrast_fail_only_filters_passing_checks ... ok
[INFO] [stdout] test a11y::a11y_contrast_with_jq_extracts_total ... ok
[INFO] [stdout] test console::console_follow_streams_messages_as_ndjson ... ok
[INFO] [stdout] test computed::computed_single_match_returns_object ... ok
[INFO] [stdout] test a11y::a11y_summary_with_jq_extracts_headings ... ok
[INFO] [stdout] test a11y::a11y_with_jq_extracts_role ... ok
[INFO] [stdout] test console::console_no_match_returns_empty ... ok
[INFO] [stdout] test console::console_handles_page_error_messages ... ok
[INFO] [stdout] test console::console_follow_handles_direct_pageerror_notification ... ok
[INFO] [stdout] test console::console_follow_handles_direct_consoleapicall_notification ... ok
[INFO] [stdout] test console::console_shows_all_messages ... ok
[INFO] [stdout] test console::console_summary_present_in_output ... ok
[INFO] [stdout] test daemon::daemon_subcommand_is_recognised_and_fails_gracefully_without_firefox ... ok
[INFO] [stdout] test computed::computed_with_jq_filter ... ok
[INFO] [stdout] test console::console_level_and_pattern_combined ... ok
[INFO] [stdout] test console::console_limit_10_summary_reflects_true_total ... ok
[INFO] [stdout] test cookies::cookies_filter_by_name_returns_match ... ok
[INFO] [stdout] test console::console_with_jq_filter ... ok
[INFO] [stdout] test cookies::cookies_returns_parsed_array ... ok
[INFO] [stdout] test click::click_returns_confirmation_json ... ok
[INFO] [stdout] test daemon::registry_not_found_warning_visible_when_direct_fallback_also_fails ... ok
[INFO] [stdout] test daemon::no_daemon_flag_accepted_as_global_flag ... ok
[INFO] [stdout] test doctor::doctor_no_listener_fails_with_launch_hint ... ok
[INFO] [stdout] test console::console_filter_by_pattern ... ok
[INFO] [stdout] test daemon::no_daemon_flag_bypasses_daemon_and_connects_directly ... 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_limit_truncates_results ... ok
[INFO] [stdout] test daemon::registry_not_found_warning_silent_when_direct_fallback_succeeds ... ok
[INFO] [stdout] test dom::dom_limit_truncates_results ... ok
[INFO] [stdout] test console::console_follow_level_filter_applies_to_stream ... ok
[INFO] [stdout] test dom::dom_multiple_elements_text ... ok
[INFO] [stdout] test dom::dom_no_match_returns_null ... ok
[INFO] [stdout] test dom_tree::dom_tree_outputs_json ... ok
[INFO] [stdout] test dom_tree::dom_tree_strips_actor_ids ... ok
[INFO] [stdout] test dom::dom_single_element_text ... ok
[INFO] [stdout] test doctor::doctor_mock_server_passes_handshake_and_tabs ... FAILED
[INFO] [stdout] test dom::dom_single_element_outer_html ... ok
[INFO] [stdout] test doctor::doctor_zero_tabs_fails_tabs_probe ... FAILED
[INFO] [stdout] test eval::eval_conflicting_sources_errors ... ok
[INFO] [stdout] test eval::eval_missing_source_errors_cleanly ... ok
[INFO] [stdout] test dom::dom_single_element_text_attrs ... ok
[INFO] [stdout] test dom_tree::dom_tree_with_selector ... ok
[INFO] [stdout] test dom::dom_stats_returns_dom_statistics ... ok
[INFO] [stdout] test dom::dom_single_element_attrs ... ok
[INFO] [stdout] test eval::eval_from_file ... ok
[INFO] [stdout] test dom::dom_with_jq_filter ... ok
[INFO] [stdout] test eval::eval_number_result ... ok
[INFO] [stdout] test eval::eval_default_isolation_succeeds_with_const_declaration ... ok
[INFO] [stdout] test eval::eval_no_isolate_flag_is_accepted ... ok
[INFO] [stdout] test dom_tree::dom_tree_with_jq_filter ... ok
[INFO] [stdout] test eval::eval_string_result ... ok
[INFO] [stdout] test eval::eval_exception_exits_nonzero ... ok
[INFO] [stdout] test eval::eval_stringify_number_becomes_string ... ok
[INFO] [stdout] test exit_codes::exit_0_happy_path_tabs ... ok
[INFO] [stdout] test eval::eval_long_string_result ... ok
[INFO] [stdout] test exit_codes::exit_2_missing_subcommand ... ok
[INFO] [stdout] test eval::eval_from_stdin ... ok
[INFO] [stdout] test eval::eval_stringify_object_still_stringified ... ok
[INFO] [stdout] test exit_codes::exit_3_connection_refused_tabs ... ok
[INFO] [stdout] test eval::eval_stringify_returns_json_string ... ok
[INFO] [stdout] test exit_codes::exit_2_unknown_flag ... ok
[INFO] [stdout] test exit_codes::exit_3_connection_refused_eval ... ok
[INFO] [stdout] test eval::eval_with_jq_filter ... ok
[INFO] [stdout] test exit_codes::exit_1_wait_js_exception ... ok
[INFO] [stdout] test geometry::geometry_multiple_selectors ... ok
[INFO] [stdout] test geometry::geometry_include_hidden_includes_invisible_elements ... ok
[INFO] [stdout] test geometry::geometry_limit_truncates_elements ... ok
[INFO] [stdout] test eval::eval_undefined_result ... ok
[INFO] [stdout] test hints::json_output_has_hints_key ... ok
[INFO] [stdout] test hints::json_with_hints_flag_has_populated_hints ... ok
[INFO] [stdout] test geometry::geometry_overlap_detection ... ok
[INFO] [stdout] test eval::eval_stringify_string_no_double_encoding ... ok
[INFO] [stdout] test geometry::geometry_default_excludes_invisible_elements ... ok
[INFO] [stdout] test hints::jq_suppresses_hints ... ok
[INFO] [stdout] test geometry::geometry_single_selector ... ok
[INFO] [stdout] test inspect::inspect_shows_properties ... ok
[INFO] [stdout] test hints::text_output_includes_hint_lines ... ok
[INFO] [stdout] test launch::launch_help_exits_zero ... ok
[INFO] [stdout] test geometry::geometry_null_result ... ok
[INFO] [stdout] test nav_action::back_outputs_json_envelope ... ok
[INFO] [stdout] test hints::text_no_hints_suppresses_hints ... ok
[INFO] [stdout] test geometry::geometry_with_jq_filter ... ok
[INFO] [stdout] test nav_action::reload_outputs_json_envelope ... ok
[INFO] [stdout] test navigate::navigate_outputs_json_envelope ... ok
[INFO] [stdout] test nav_action::reload_wait_idle_no_traffic_returns_idle_quickly ... ok
[INFO] [stdout] test launch::help_mentions_doctor ... ok
[INFO] [stdout] test launch::launch_detects_port_collision ... ok
[INFO] [stdout] test navigate::navigate_with_jq_extracts_url ... ok
[INFO] [stdout] test nav_action::forward_outputs_json_envelope ... ok
[INFO] [stdout] test inspect::inspect_with_jq_filter ... ok
[INFO] [stdout] test navigate::navigate_wait_text_reresolves_console_actor_after_navigate ... ok
[INFO] [stdout] test nav_action::reload_wait_idle_observes_network_events ... 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 exit_codes::exit_124_wait_timeout ... ok
[INFO] [stdout] test navigate::navigate_with_network_respects_network_timeout_flag ... ok
[INFO] [stdout] test network::network_filter_by_method ... ok
[INFO] [stdout] test network::network_all_overrides_limit ... ok
[INFO] [stdout] test network::network_detail_shows_requests ... ok
[INFO] [stdout] test network::network_filter_by_url ... ok
[INFO] [stdout] test network::network_prints_hint_when_both_sources_empty ... ok
[INFO] [stdout] test network::network_falls_back_to_performance_api_when_watcher_empty ... ok
[INFO] [stdout] test page_text::page_text_returns_visible_text ... ok
[INFO] [stdout] test network::network_limit_shows_detail_with_truncation ... ok
[INFO] [stdout] test page_text::page_text_long_string_is_fetched ... ok
[INFO] [stdout] test perf::perf_audit_returns_structured_report ... ok
[INFO] [stdout] test page_text::page_text_with_jq_filter ... 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_lcp_alias ... ok
[INFO] [stdout] test perf::perf_longtask_type ... ok
[INFO] [stdout] test perf::perf_jq_array_iteration_works ... ok
[INFO] [stdout] test perf::perf_navigation_type ... ok
[INFO] [stdout] test perf::perf_paint_type ... ok
[INFO] [stdout] test perf_compare::perf_compare_label_mismatch_error ... ok
[INFO] [stdout] test perf::perf_shows_resources ... ok
[INFO] [stdout] test perf::perf_resource_explicit_type_flag ... ok
[INFO] [stdout] test perf::perf_vitals_computes_cwv ... ok
[INFO] [stdout] test perf_compare::perf_compare_single_url_error ... ok
[INFO] [stdout] test perf::perf_with_jq_filter ... ok
[INFO] [stdout] test network::network_shows_summary_by_default ... ok
[INFO] [stdout] test perf_compare::perf_compare_with_jq_filter ... ok
[INFO] [stdout] test perf_compare::perf_compare_with_labels ... ok
[INFO] [stdout] test responsive::responsive_multiple_widths ... ok
[INFO] [stdout] test responsive::responsive_zero_width_rejected ... ok
[INFO] [stdout] test perf_compare::perf_compare_two_urls ... ok
[INFO] [stdout] test responsive::responsive_single_width ... ok
[INFO] [stdout] test screenshot::screenshot_auto_names_file_when_no_output_given ... ok
[INFO] [stdout] test screenshot::screenshot_base64_handles_longstring_data_url ... ok
[INFO] [stdout] test responsive::responsive_default_widths ... ok
[INFO] [stdout] test screenshot::screenshot_full_page_and_viewport_height_conflict ... ok
[INFO] [stdout] test screenshot::screenshot_falls_back_to_screenshot_content_actor_when_draw_window_unavailable ... ok
[INFO] [stdout] test screenshot::screenshot_falls_back_to_two_step_protocol_on_firefox_149 ... ok
[INFO] [stdout] test responsive::responsive_with_jq_filter ... ok
[INFO] [stdout] test screenshot::screenshot_module_load_failure_surfaces_clean_version_mismatch_message ... ok
[INFO] [stdout] test network::network_empty_when_no_events ... ok
[INFO] [stdout] test screenshot::screenshot_saves_png_to_explicit_output_path ... ok
[INFO] [stdout] test network::network_summary_falls_back_to_performance_api ... ok
[INFO] [stdout] test screenshot::screenshot_viewport_height_flag_accepted ... ok
[INFO] [stdout] test network::network_with_jq_filter ... ok
[INFO] [stdout] test scroll::scroll_bottom_returns_scrolled_json_at_end ... ok
[INFO] [stdout] test screenshot::screenshot_with_jq_filter_extracts_path ... ok
[INFO] [stdout] test scroll::scroll_by_dy_pixels ... ok
[INFO] [stdout] test scroll::scroll_by_page_down_and_dy_rejected_by_clap ... ok
[INFO] [stdout] test scroll::scroll_by_page_down_returns_viewport_coords ... ok
[INFO] [stdout] test screenshot::screenshot_base64_returns_png_data_without_writing_file ... ok
[INFO] [stdout] test screenshot::screenshot_handles_longstring_data_url ... ok
[INFO] [stdout] test scroll::scroll_container_returns_before_after_at_end ... ok
[INFO] [stdout] test scroll::scroll_text_not_found_exits_nonzero ... ok
[INFO] [stdout] test scroll::scroll_text_returns_target ... ok
[INFO] [stdout] test screenshot::screenshot_module_load_failure_in_two_step_protocol_surfaces_clean_message ... ok
[INFO] [stdout] test scroll::scroll_to_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test snapshot::snapshot_returns_dom_tree ... ok
[INFO] [stdout] test scroll::scroll_to_returns_scrolled_json ... ok
[INFO] [stdout] test snapshot::snapshot_with_depth_shows_truncation ... ok
[INFO] [stdout] test sources::sources_fallback_emits_debug_with_verbose ... ok
[INFO] [stdout] test sources::sources_filter_by_substring ... ok
[INFO] [stdout] test sources::sources_filter_by_pattern ... ok
[INFO] [stdout] test snapshot::snapshot_with_jq_filter ... ok
[INFO] [stdout] test sources::sources_lists_all_scripts ... ok
[INFO] [stdout] test sources::sources_handles_null_entries_in_response ... ok
[INFO] [stdout] test snapshot::snapshot_null_result ... ok
[INFO] [stdout] test sources::sources_with_jq_filter ... ok
[INFO] [stdout] test screenshot::screenshot_full_page_flag_accepted ... ok
[INFO] [stdout] test sources::sources_fallback_is_silent_by_default ... ok
[INFO] [stdout] test scroll::scroll_until_returns_found_and_elapsed_ms ... ok
[INFO] [stdout] test storage::storage_invalid_type_exits_nonzero_without_connecting ... ok
[INFO] [stdout] test styles::styles_layout_outputs_json ... ok
[INFO] [stdout] test storage::storage_specific_key_returns_value ... ok
[INFO] [stdout] test styles::styles_properties_filter_returns_only_requested ... ok
[INFO] [stdout] test storage::storage_all_keys_returns_parsed_object ... ok
[INFO] [stdout] test tabs::tabs_outputs_json_envelope ... ok
[INFO] [stdout] test styles::styles_applied_outputs_json ... ok
[INFO] [stdout] test scroll::scroll_top_returns_scrolled_json_at_origin ... ok
[INFO] [stdout] test styles::styles_computed_outputs_json ... ok
[INFO] [stdout] test styles::styles_with_jq_filter ... ok
[INFO] [stdout] test tabs::tabs_connection_refused_shows_helpful_error ... ok
[INFO] [stdout] test type_text::type_text_conflict_positional_and_flag_text_errors ... ok
[INFO] [stdout] test type_text::type_text_js_uses_native_prototype_setter ... ok
[INFO] [stdout] test storage::storage_session_type_accepted ... ok
[INFO] [stdout] test type_text::type_text_conflict_positional_and_flag_selector_errors ... ok
[INFO] [stdout] test type_text::type_text_element_not_found_exits_nonzero ... ok
[INFO] [stdout] test type_text::type_text_unknown_flag_emits_tailored_hint ... ok
[INFO] [stdout] test type_text::type_text_named_flags_work ... ok
[INFO] [stdout] test storage::storage_missing_key_returns_null_value_and_total_zero ... ok
[INFO] [stdout] test tabs::tabs_with_jq_filter_extracts_url ... 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_exception_exits_nonzero ... ok
[INFO] [stdout] test tabs::tabs_with_jq_total ... ok
[INFO] [stdout] test type_text::type_text_named_with_clear_works ... ok
[INFO] [stdout] test wait::wait_selector_succeeds_immediately ... ok
[INFO] [stdout] test wait::wait_text_succeeds_immediately ... ok
[INFO] [stdout] test tabs::tabs_timeout_flag_is_respected ... ok
[INFO] [stdout] test wait::wait_eval_succeeds_immediately ... ok
[INFO] [stdout] test wait::wait_timeout_exits_nonzero ... ok
[INFO] [stdout] test cookies::cookies_returns_empty_array_when_no_cookies ... ok
[INFO] [stdout] test cookies::cookies_filter_by_name_no_match_returns_empty ... ok
[INFO] [stdout] test eval::eval_object_result ... ok
[INFO] [stdout] test screenshot::screenshot_null_result_exits_nonzero_with_helpful_message ... ok
[INFO] [stdout] test daemon_parity::daemon_navigate_with_network_captures_requests ... ok
[INFO] [stdout] test navigate::navigate_with_network_empty_when_no_events ... ok
[INFO] [stdout] test daemon_parity::daemon_network_shows_summary ... ok
[INFO] [stdout] test navigate::navigate_with_network_captures_requests ... 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' (539) 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"]
[INFO] [stdout] STDERR: 
[INFO] [stdout] STDOUT: {
[INFO] [stdout]   "meta": {
[INFO] [stdout]     "connection": {
[INFO] [stdout]       "host": "127.0.0.1",
[INFO] [stdout]       "port": 44075
[INFO] [stdout]     },
[INFO] [stdout]     "host": "127.0.0.1",
[INFO] [stdout]     "port": 44075
[INFO] [stdout]   },
[INFO] [stdout]   "results": [
[INFO] [stdout]     {
[INFO] [stdout]       "detail": "no daemon running (commands will connect directly)",
[INFO] [stdout]       "glyph": "✓",
[INFO] [stdout]       "name": "daemon",
[INFO] [stdout]       "status": "pass"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "detail": "port 44075 is in use but the owner could not be identified",
[INFO] [stdout]       "glyph": "⚠",
[INFO] [stdout]       "hint": "install `lsof` (Unix) so doctor can identify the listener process",
[INFO] [stdout]       "name": "port_owner",
[INFO] [stdout]       "status": "warn"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "detail": "RDP handshake failed: recv failed: Connection reset by peer (os error 104)",
[INFO] [stdout]       "glyph": "✗",
[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]       "name": "rdp_handshake",
[INFO] [stdout]       "status": "fail"
[INFO] [stdout]     },
[INFO] [stdout]     {
[INFO] [stdout]       "detail": "Firefox version not advertised in the RDP greeting",
[INFO] [stdout]       "glyph": "⚠",
[INFO] [stdout]       "name": "firefox_version",
[INFO] [stdout]       "status": "warn"
[INFO] [stdout]     }
[INFO] [stdout]   ],
[INFO] [stdout]   "total": 4
[INFO] [stdout] }
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ebef0eb0b1a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ebef0ec7e0a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ebef0ec7e0a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5ebef0eb5af2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5ebef0eb5af2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5ebef0e8ca0f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ebef0e8ca0f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ebef0ea7ae9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ebef0df594c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5ebef0df594c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5ebef0ea7ca2 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5ebef0ea7ca2 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5ebef0e8cac8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5ebef0e840f9 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ebef0e8d99d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5ebef0ec859c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ebef0cf85f7 - e2e[a2f6ec1be25b5fce]::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:     0x5ebef0cf1ce7 - e2e[a2f6ec1be25b5fce]::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:     0x5ebef0da5ab6 - <e2e[a2f6ec1be25b5fce]::doctor::doctor_mock_server_passes_handshake_and_tabs::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5ebef0de8c2b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5ebef0de8c2b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   24:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   25:     0x5ebef0df641b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   26:     0x5ebef0df641b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   27:     0x5ebef0df641b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   28:     0x5ebef0df641b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   29:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   30:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   31:     0x5ebef0df0df4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   32:     0x5ebef0df0df4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   33:     0x5ebef0df9022 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   34:     0x5ebef0df9022 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5ebef0df9022 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x5ebef0df9022 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5ebef0df9022 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5ebef0df9022 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   39:     0x5ebef0df9022 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   40:     0x5ebef0eaf8cf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   41:     0x5ebef0eaf8cf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   42:     0x758bef65baa4 - <unknown>
[INFO] [stdout]   43:     0x758bef6e8a64 - 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' (544) panicked at crates/ff-rdp-cli/tests/e2e/doctor.rs:145:10:
[INFO] [stdout] tabs probe
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::backtrace_rs::backtrace::trace_unsynchronized::<std[ec419fa8110287d5]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5ebef0eb0b1a - std[ec419fa8110287d5]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5ebef0eb0b1a - <<std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[35159d6ffb30e017]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5ebef0ec7e0a - <core[35159d6ffb30e017]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5ebef0ec7e0a - core[35159d6ffb30e017]::fmt::write
[INFO] [stdout]    6:     0x5ebef0eb5af2 - std[ec419fa8110287d5]::io::default_write_fmt::<alloc[a8a7aba520129d98]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x5ebef0eb5af2 - <alloc[a8a7aba520129d98]::vec::Vec<u8> as std[ec419fa8110287d5]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x5ebef0e8ca0f - <std[ec419fa8110287d5]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5ebef0e8ca0f - std[ec419fa8110287d5]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5ebef0ea7ae9 - std[ec419fa8110287d5]::panicking::default_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5ebef0df594c - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   12:     0x5ebef0df594c - test[a8007afcd3effadc]::test_main_inner::<test[a8007afcd3effadc]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5ebef0ea7ca2 - <alloc[a8a7aba520129d98]::boxed::Box<dyn for<'a, 'b> core[35159d6ffb30e017]::ops::function::Fn<(&'a std[ec419fa8110287d5]::panic::PanicHookInfo<'b>,), Output = ()> + core[35159d6ffb30e017]::marker::Sync + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::Fn<(&std[ec419fa8110287d5]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2285:9
[INFO] [stdout]   14:     0x5ebef0ea7ca2 - std[ec419fa8110287d5]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5ebef0e8cac8 - std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5ebef0e840f9 - std[ec419fa8110287d5]::sys::backtrace::__rust_end_short_backtrace::<std[ec419fa8110287d5]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5ebef0e8d99d - __rustc[cfb3622dd870db93]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5ebef0ec859c - core[35159d6ffb30e017]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5ebef0ec8294 - core[35159d6ffb30e017]::panicking::panic_display::<&str>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5ebef0ec8294 - core[35159d6ffb30e017]::option::expect_failed
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:2260:5
[INFO] [stdout]   21:     0x5ebef0d10f20 - <core[35159d6ffb30e017]::option::Option<&serde_json[7eb511966cef72cc]::value::Value>>::expect
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/option.rs:971:21
[INFO] [stdout]   22:     0x5ebef0cf715c - e2e[a2f6ec1be25b5fce]::doctor::doctor_zero_tabs_fails_tabs_probe
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:145:10
[INFO] [stdout]   23:     0x5ebef0cf1c87 - e2e[a2f6ec1be25b5fce]::doctor::doctor_zero_tabs_fails_tabs_probe::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/crates/ff-rdp-cli/tests/e2e/doctor.rs:116:39
[INFO] [stdout]   24:     0x5ebef0da5a36 - <e2e[a2f6ec1be25b5fce]::doctor::doctor_zero_tabs_fails_tabs_probe::{closure#0} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5ebef0de8c2b - <fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5ebef0de8c2b - test[a8007afcd3effadc]::__rust_begin_short_backtrace::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, fn() -> core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:724:18
[INFO] [stdout]   27:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:74
[INFO] [stdout]   28:     0x5ebef0df641b - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x5ebef0df641b - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   30:     0x5ebef0df641b - std[ec419fa8110287d5]::panicking::catch_unwind::<core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>, core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   31:     0x5ebef0df641b - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<test[a8007afcd3effadc]::run_test_in_process::{closure#0}>, core[35159d6ffb30e017]::result::Result<(), alloc[a8a7aba520129d98]::string::String>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test_in_process
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:747:27
[INFO] [stdout]   33:     0x5ebef0df641b - test[a8007afcd3effadc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:668:43
[INFO] [stdout]   34:     0x5ebef0df0df4 - test[a8007afcd3effadc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/test/src/lib.rs:698:41
[INFO] [stdout]   35:     0x5ebef0df0df4 - std[ec419fa8110287d5]::sys::backtrace::__rust_begin_short_backtrace::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5ebef0df9022 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x5ebef0df9022 - <core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x5ebef0df9022 - std[ec419fa8110287d5]::panicking::catch_unwind::do_call::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:581:40
[INFO] [stdout]   39:     0x5ebef0df9022 - std[ec419fa8110287d5]::panicking::catch_unwind::<(), core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panicking.rs:544:19
[INFO] [stdout]   40:     0x5ebef0df9022 - std[ec419fa8110287d5]::panic::catch_unwind::<core[35159d6ffb30e017]::panic::unwind_safe::AssertUnwindSafe<std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5ebef0df9022 - std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked::<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x5ebef0df9022 - <std[ec419fa8110287d5]::thread::lifecycle::spawn_unchecked<test[a8007afcd3effadc]::run_test::{closure#1}, ()>::{closure#1} as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5ebef0eaf8cf - <alloc[a8a7aba520129d98]::boxed::Box<dyn core[35159d6ffb30e017]::ops::function::FnOnce<(), Output = ()> + core[35159d6ffb30e017]::marker::Send> as core[35159d6ffb30e017]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/alloc/src/boxed.rs:2271:9
[INFO] [stdout]   44:     0x5ebef0eaf8cf - <std[ec419fa8110287d5]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/33835004928d3bf65db4d4712e1330766263b0bd/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   45:     0x758bef65baa4 - <unknown>
[INFO] [stdout]   46:     0x758bef6e8a64 - 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_zero_tabs_fails_tabs_probe
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 217 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.65s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test e2e`
[INFO] running `Command { std: "docker" "inspect" "3a24c14e5f94db6da5f0ceddf5019841f30e4031e1f0e09f9b9834d09c599782", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a24c14e5f94db6da5f0ceddf5019841f30e4031e1f0e09f9b9834d09c599782", kill_on_drop: false }`
[INFO] [stdout] 3a24c14e5f94db6da5f0ceddf5019841f30e4031e1f0e09f9b9834d09c599782
