[INFO] cloning repository https://github.com/fedro86/ferrispad [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/fedro86/ferrispad" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedro86%2Fferrispad", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedro86%2Fferrispad'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 084a58cc2966f058269178a642aeb935a77edc55 [INFO] testing fedro86/ferrispad against master#562dee4820c458d823175268e41601d4c060588a for pr-154210 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffedro86%2Fferrispad" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/fedro86/ferrispad [INFO] finished tweaking git repo https://github.com/fedro86/ferrispad [INFO] tweaked toml for git repo https://github.com/fedro86/ferrispad written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/fedro86/ferrispad on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/fedro86/ferrispad 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded find-msvc-tools v0.1.2 [INFO] [stderr] Downloaded winres v0.1.12 [INFO] [stderr] Downloaded tikv-jemallocator v0.6.1 [INFO] [stderr] Downloaded is-wsl v0.4.0 [INFO] [stderr] Downloaded cmk v0.1.2 [INFO] [stderr] Downloaded tikv-jemalloc-ctl v0.6.1 [INFO] [stderr] Downloaded mlua-sys v0.6.8 [INFO] [stderr] Downloaded minreq v2.14.1 [INFO] [stderr] Downloaded serial2 v0.2.34 [INFO] [stderr] Downloaded portable-pty v0.9.0 [INFO] [stderr] Downloaded regex-lite v0.1.9 [INFO] [stderr] Downloaded fltk v1.5.14 [INFO] [stderr] Downloaded cc v1.2.38 [INFO] [stderr] Downloaded vte v0.13.1 [INFO] [stderr] Downloaded mlua v0.10.5 [INFO] [stderr] Downloaded which v7.0.3 [INFO] [stderr] Downloaded open v5.3.2 [INFO] [stderr] Downloaded pulldown-cmark v0.12.2 [INFO] [stderr] Downloaded onig v6.5.1 [INFO] [stderr] Downloaded shell-words v1.1.1 [INFO] [stderr] Downloaded is-docker v0.2.0 [INFO] [stderr] Downloaded filedescriptor v0.8.3 [INFO] [stderr] Downloaded pulldown-cmark-escape v0.11.0 [INFO] [stderr] Downloaded onig_sys v69.9.1 [INFO] [stderr] Downloaded tikv-jemalloc-sys v0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 [INFO] [stderr] Downloaded syntect v5.3.0 [INFO] [stderr] Downloaded lua-src v547.0.0 [INFO] [stderr] Downloaded luajit-src v210.5.12+a4f56a4 [INFO] [stderr] Downloaded getopts v0.2.24 [INFO] [stderr] Downloaded fltk-sys v1.5.14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3d69b766afcff1d939369b85869889bae2663cab3969e0e0d896532dcdd9243e [INFO] running `Command { std: "docker" "start" "-a" "3d69b766afcff1d939369b85869889bae2663cab3969e0e0d896532dcdd9243e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3d69b766afcff1d939369b85869889bae2663cab3969e0e0d896532dcdd9243e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3d69b766afcff1d939369b85869889bae2663cab3969e0e0d896532dcdd9243e", kill_on_drop: false }` [INFO] [stdout] 3d69b766afcff1d939369b85869889bae2663cab3969e0e0d896532dcdd9243e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c2531f020213b4349f3d00c00be4c6df88595c923a88405ca5a161989ea364eb [INFO] running `Command { std: "docker" "start" "-a" "c2531f020213b4349f3d00c00be4c6df88595c923a88405ca5a161989ea364eb", kill_on_drop: false }` [INFO] [stderr] Compiling find-msvc-tools v0.1.2 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling env_home v0.1.0 [INFO] [stderr] Compiling semver v1.0.27 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling cc v1.2.38 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling deranged v0.5.6 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling rustversion v1.0.22 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling is-docker v0.2.0 [INFO] [stderr] Compiling lua-src v547.0.0 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling toml v0.5.11 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling linked-hash-map v0.5.6 [INFO] [stderr] Compiling zeroize v1.8.2 [INFO] [stderr] Compiling signature v2.2.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling ed25519 v2.2.3 [INFO] [stderr] Compiling yaml-rust v0.4.5 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling is-wsl v0.4.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling onig_sys v69.9.1 [INFO] [stderr] Compiling tikv-jemalloc-sys v0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7 [INFO] [stderr] Compiling fltk-sys v1.5.14 [INFO] [stderr] Compiling winres v0.1.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling serial2 v0.2.34 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling luajit-src v210.5.12+a4f56a4 [INFO] [stderr] Compiling FerrisPad v0.9.4-rc.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling webpki-roots v0.25.4 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling ttf-parser v0.25.1 [INFO] [stderr] Compiling rustc-hash v2.1.1 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling vte v0.13.1 [INFO] [stderr] Compiling open v5.3.2 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling mlua-sys v0.6.8 [INFO] [stderr] Compiling memmap2 v0.9.10 [INFO] [stderr] Compiling hex v0.4.3 [INFO] [stderr] Compiling regex-lite v0.1.9 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling filedescriptor v0.8.3 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling ed25519-dalek v2.2.0 [INFO] [stderr] Compiling rustls-webpki v0.101.7 [INFO] [stderr] Compiling sct v0.7.1 [INFO] [stderr] Compiling onig v6.5.1 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling plist v1.8.0 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling minreq v2.14.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling mlua v0.10.5 [INFO] [stderr] Compiling fltk v1.5.14 [INFO] [stderr] Compiling tikv-jemalloc-ctl v0.6.1 [INFO] [stderr] Compiling tikv-jemallocator v0.6.1 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 50s [INFO] running `Command { std: "docker" "inspect" "c2531f020213b4349f3d00c00be4c6df88595c923a88405ca5a161989ea364eb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2531f020213b4349f3d00c00be4c6df88595c923a88405ca5a161989ea364eb", kill_on_drop: false }` [INFO] [stdout] c2531f020213b4349f3d00c00be4c6df88595c923a88405ca5a161989ea364eb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 18fe65a1a805810f01c383af3d8555d3334019820f67d0cec3ea719995dd77c8 [INFO] running `Command { std: "docker" "start" "-a" "18fe65a1a805810f01c383af3d8555d3334019820f67d0cec3ea719995dd77c8", kill_on_drop: false }` [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Compiling onig v6.5.1 [INFO] [stderr] Compiling fltk v1.5.14 [INFO] [stderr] Compiling pulldown-cmark v0.12.2 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling portable-pty v0.9.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling which v7.0.3 [INFO] [stderr] Compiling luajit-src v210.5.12+a4f56a4 [INFO] [stderr] Compiling mlua-sys v0.6.8 [INFO] [stderr] Compiling mlua v0.10.5 [INFO] [stderr] Compiling FerrisPad v0.9.4-rc.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 15s [INFO] running `Command { std: "docker" "inspect" "18fe65a1a805810f01c383af3d8555d3334019820f67d0cec3ea719995dd77c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "18fe65a1a805810f01c383af3d8555d3334019820f67d0cec3ea719995dd77c8", kill_on_drop: false }` [INFO] [stdout] 18fe65a1a805810f01c383af3d8555d3334019820f67d0cec3ea719995dd77c8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 670e7e39e2a4bbb222de7acb0cdcbc1836c7f110484612bc5fbb5c11748288f2 [INFO] running `Command { std: "docker" "start" "-a" "670e7e39e2a4bbb222de7acb0cdcbc1836c7f110484612bc5fbb5c11748288f2", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ferris_pad-e51d99b2c66e369c) [INFO] [stdout] [INFO] [stdout] running 259 tests [INFO] [stdout] test app::controllers::preview::tests::test_is_markdown_file ... ok [INFO] [stdout] test app::controllers::preview::tests::test_is_safe_url ... ok [INFO] [stdout] test app::controllers::preview::tests::test_csp_header_present ... ok [INFO] [stdout] test app::controllers::preview::tests::test_blocks_ms_msdt_protocol ... ok [INFO] [stdout] test app::controllers::preview::tests::test_blocks_smb_links ... ok [INFO] [stdout] test app::controllers::preview::tests::test_allows_mailto_links ... ok [INFO] [stdout] test app::controllers::preview::tests::test_allows_data_uri_in_img_src ... ok [INFO] [stdout] test app::controllers::preview::tests::test_blocks_javascript_protocol ... ok [INFO] [stdout] test app::controllers::preview::tests::test_blocks_search_ms_protocol ... ok [INFO] [stdout] test app::controllers::preview::tests::test_allows_fragment_links ... ok [INFO] [stdout] test app::controllers::preview::tests::test_blocks_data_uri_in_href ... ok [INFO] [stdout] test app::domain::settings::tests::test_partial_config ... ok [INFO] [stdout] test app::domain::settings::tests::test_font_choice_serialization ... ok [INFO] [stdout] test app::controllers::tabs::tests::test_group_color_to_rgb_dark ... ok [INFO] [stdout] test app::controllers::preview::tests::test_resolve_relative_paths ... ok [INFO] [stdout] test app::domain::settings::tests::test_backward_compatibility ... ok [INFO] [stdout] test app::controllers::preview::tests::test_render_markdown ... ok [INFO] [stdout] test app::controllers::preview::tests::test_wrap_html_light ... ok [INFO] [stdout] test app::domain::settings::tests::test_default_settings ... ok [INFO] [stdout] test app::domain::settings::tests::test_serialize_deserialize ... ok [INFO] [stdout] test app::controllers::preview::tests::test_resolve_keeps_absolute_paths ... ok [INFO] [stdout] test app::domain::settings::tests::test_theme_mode_serialization ... ok [INFO] [stdout] test app::controllers::preview::tests::test_wrap_html_dark ... ok [INFO] [stdout] test app::infrastructure::error::tests::test_io_error_conversion ... ok [INFO] [stdout] test app::domain::settings::tests::test_update_settings_serialization ... ok [INFO] [stdout] test app::infrastructure::error::tests::test_error_display ... ok [INFO] [stdout] test app::plugins::annotations::tests::test_inline_highlight_creation ... ok [INFO] [stdout] test app::plugins::api::tests::test_editor_api_default ... ok [INFO] [stdout] test app::controllers::tabs::tests::test_group_color_to_rgb ... ok [INFO] [stdout] test app::plugins::annotations::tests::test_line_annotation_creation ... ok [INFO] [stdout] test app::plugins::annotations::tests::test_gutter_mark_creation ... ok [INFO] [stdout] test app::plugins::annotations::tests::test_annotation_color_from_str ... ok [INFO] [stdout] test app::plugins::api::tests::test_editor_api_with_content ... ok [INFO] [stdout] test app::plugins::api::tests::test_file_exists_no_project_root_returns_false ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_read_file_no_project_root ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_remove_dir_recursive ... ok [INFO] [stdout] test app::plugins::api::tests::test_editor_api_with_path ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_list_dir ... ok [INFO] [stdout] test app::plugins::api::tests::test_resolve_and_validate_traversal_nonexistent_parent_blocked ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_read_file_success ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_create_file_and_remove ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_blocked_outside_root ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_is_file ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_git_status_outside_root_blocked ... ok [INFO] [stdout] test app::plugins::api::tests::test_is_file_no_project_root_returns_false ... ok [INFO] [stdout] test app::plugins::api::tests::test_resolve_and_validate_notfound_absolute_outside_blocked ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_create_dir_and_rename ... ok [INFO] [stdout] test app::plugins::api::tests::test_resolve_and_validate_inside ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_read_file_outside_root_blocked ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_git_status_no_project_root_returns_nil ... ok [INFO] [stdout] test app::plugins::api::tests::test_resolve_and_validate_outside_blocked ... ok [INFO] [stdout] test app::plugins::api::tests::test_resolve_and_validate_notfound_inside_allowed ... ok [INFO] [stdout] test app::plugins::api::tests::test_lua_scan_dir ... ok [INFO] [stdout] test app::plugins::diff::tests::test_empty_inputs ... ok [INFO] [stdout] test app::plugins::diff::tests::test_identical ... ok [INFO] [stdout] test app::plugins::diff::tests::test_old_empty_new_has_content ... ok [INFO] [stdout] test app::plugins::diff::tests::test_utf8_content ... ok [INFO] [stdout] test app::plugins::diff::tests::test_mixed_changes ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_diagnostic_level_from_str ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_plugin_hook_lua_names ... ok [INFO] [stdout] test app::plugins::loader::tests::test_get_plugin_dir ... ok [INFO] [stdout] test app::plugins::loader::tests::test_discover_plugins_nonexistent ... ok [INFO] [stdout] test app::plugins::diff::tests::test_old_has_content_new_empty ... ok [INFO] [stdout] test app::plugins::api::tests::test_scan_dir_recursive_depth ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_hook_result_combine_propagates_had_lint_results ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_diagnostic_level_ordering ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_hook_result_combine_without_propagation_is_wrong ... ok [INFO] [stdout] test app::plugins::diff::tests::test_pure_insertion ... ok [INFO] [stdout] test app::plugins::diff::tests::test_replacement_with_intraline ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_disabled_instruction_limit ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_call_hook_nonexistent ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_instruction_limit_allows_normal_code ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_basic_lua_execution ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_memory_limit_aborts_excessive_allocation ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_instruction_count_resets_between_calls ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_instruction_limit_aborts_infinite_loop ... ok [INFO] [stdout] test app::plugins::loader::tests::test_parse_plugin_toml_content_invalid ... ok [INFO] [stdout] test app::plugins::loader::tests::test_menu_item_label_sanitization ... ok [INFO] [stdout] test app::plugins::loader::tests::test_load_plugin_toml_with_menu_items ... ok [INFO] [stdout] test app::plugins::api::tests::test_scan_dir_recursive_full ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_memory_limit_allows_normal_operations ... ok [INFO] [stdout] test app::plugins::hooks::tests::test_hook_result_default ... ok [INFO] [stdout] test app::plugins::diff::tests::test_pure_deletion ... ok [INFO] [stdout] test app::plugins::loader::tests::test_parse_plugin_toml_content_directly ... ok [INFO] [stdout] test app::plugins::loader::tests::test_load_plugin_toml_without_menu_items ... ok [INFO] [stdout] test app::plugins::security::tests::test_validate_command_arg_safe ... ok [INFO] [stdout] test app::plugins::security::tests::test_validate_path_absolute_outside ... ok [INFO] [stdout] test app::plugins::tests::test_call_hook_no_plugins ... ok [INFO] [stdout] test app::plugins::tests::test_enabled_plugin_manager ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_sandbox_keeps_safe_functions ... ok [INFO] [stdout] test app::plugins::tests::test_clear_plugins_triggers_gc ... ok [INFO] [stdout] test app::plugins::security::tests::test_validate_path_traversal_blocked ... ok [INFO] [stdout] test app::plugins::security::tests::test_find_project_root_no_marker ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_sandbox_removes_dangerous_functions ... ok [INFO] [stdout] test app::plugins::security::tests::test_validate_command_arg_injection ... ok [INFO] [stdout] test app::plugins::tests::test_lua_memory_usage ... ok [INFO] [stdout] test app::plugins::widgets::tree_view::tests::test_tree_node_count ... ok [INFO] [stdout] test app::plugins::widgets::tree_view::tests::test_tree_node_new ... ok [INFO] [stdout] test app::plugins::widgets::tree_view::tests::test_tree_node_with_children ... ok [INFO] [stdout] test app::plugins::widgets::split_view::tests::test_highlight_color_from_str ... ok [INFO] [stdout] test app::plugins::widgets::split_view::tests::test_split_pane_default ... ok [INFO] [stdout] test app::plugins::widgets::tree_view::tests::test_tree_view_request_validity ... ok [INFO] [stdout] test app::plugins::widgets::split_view::tests::test_split_view_request_validity ... ok [INFO] [stdout] test app::services::file_size::tests::test_format_size_kb ... ok [INFO] [stdout] test app::plugins::widgets::terminal_view::tests::test_terminal_view_request_default ... ok [INFO] [stdout] test app::plugins::widgets::terminal_view::tests::test_terminal_view_request_valid ... ok [INFO] [stdout] test app::plugins::widgets::tests::test_clear_plugin_sessions ... ok [INFO] [stdout] test app::plugins::widgets::tests::test_session_id_generation ... ok [INFO] [stdout] test app::plugins::widgets::tests::test_widget_manager ... ok [INFO] [stdout] test app::services::file_size::tests::test_format_size_mb ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_chunk_beyond_file ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_tail_basic ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_chunk_invalid_range ... ok [INFO] [stdout] test app::services::file_size::tests::test_thresholds_default ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_tail_empty_file ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_chunk_from_start ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_chunk_basic ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_used_memory_tracking ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_enforce_size_limit_exceeded ... ok [INFO] [stdout] test app::services::file_size::tests::test_format_size_gb ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_enforce_size_limit_ok ... ok [INFO] [stdout] test app::services::file_size::tests::test_thresholds_custom ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_is_update_available ... ok [INFO] [stdout] test app::services::file_size::tests::test_read_tail_more_than_file ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_is_update_available_partial_versions ... ok [INFO] [stdout] test app::plugins::runtime::tests::test_disabled_memory_limit ... ok [INFO] [stdout] test app::services::file_size::tests::test_format_size_bytes ... ok [INFO] [stdout] test app::plugins::tests::test_disabled_plugin_manager ... ok [INFO] [stdout] test app::plugins::security::tests::test_find_project_root_git ... ok [INFO] [stdout] test app::services::file_size::tests::test_thresholds_warning_equals_max ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_parse_github_url_basic ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_parse_github_url_git_suffix ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_parse_github_url_trailing_slash ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_plugin_tier_from_str ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_plugin_tier_serde_lowercase ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_today_date_string_format ... ok [INFO] [stdout] test app::services::plugin_update_checker::tests::test_current_timestamp ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_build_signed_message ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_compute_checksum ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_parse_github_url_invalid ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_compute_checksum_consistency ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_detects_text_change_hook_false ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_plugin_source_roundtrip ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_debug ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_direct_g_access ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_g_read ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_load_call ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_loadstring ... ok [INFO] [stdout] test app::services::plugin_registry::tests::test_plugin_tier_display ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_comment_lines_ignored ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_clean ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_warning_urls ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_rawset_global ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_ffi ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_checksum_failure ... ok [INFO] [stdout] test app::plugins::security::tests::test_validate_path_within_project ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_warning_long_lines ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_checksum_success ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_plugin_checksum_mismatch ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_plugin_no_checksums ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_signature_invalid_base64 ... ok [INFO] [stdout] test app::services::session::tests::test_group_session_serialization ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verify_signature_wrong_length ... ok [INFO] [stdout] test app::services::session::tests::test_session_dir_returns_path ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_conflict_detection ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_disabled_override_returns_default ... ok [INFO] [stdout] test app::services::session::tests::test_load_session_off_returns_none ... ok [INFO] [stdout] test app::services::session::tests::test_session_data_missing_version_uses_default ... ok [INFO] [stdout] test app::services::session::tests::test_document_session_serialization ... ok [INFO] [stdout] test app::services::plugin_update_checker::tests::test_should_check_plugin_updates_first_time ... ok [INFO] [stdout] test app::services::plugin_update_checker::tests::test_should_check_plugin_updates_old ... ok [INFO] [stdout] test app::services::session::tests::test_session_restore_default ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_empty_registry_returns_default ... ok [INFO] [stdout] test app::services::plugin_update_checker::tests::test_should_check_plugin_updates_recent ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_no_self_conflict ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_override_replaces_default ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_detects_text_change_hook_true ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_verification_status_allows_install ... ok [INFO] [stdout] test app::services::session::tests::test_session_data_serialization ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_from_settings ... ok [INFO] [stdout] test app::plugins::tests::test_reload_does_not_leak_memory ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_remove_override ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_to_settings_roundtrip ... ok [INFO] [stdout] test app::services::shortcut_registry::tests::test_unbound_override ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_auto_wrap ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_load_in_identifier_ok ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_clear_line ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_delete_chars ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_newline_and_scroll ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_resize ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_tab ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_set_cursor ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_256_color ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_clear_screen ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_new_grid ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_sgr_bold ... ok [INFO] [stdout] test app::services::terminal::grid::tests::test_put_char ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_sgr_colors ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_truecolor ... ok [INFO] [stdout] test app::services::text_ops::tests::test_extract_filename_from_path ... ok [INFO] [stdout] test app::services::text_ops::tests::test_extract_filename_unix_absolute ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_backward_case_insensitive ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_cursor_movement ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_newline ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_backward_simple ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_backward_start_zero ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_case_sensitive ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_empty_search ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_from_position ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_next_simple ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_print_text ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_no_match ... ok [INFO] [stdout] test app::services::terminal::vte_handler::tests::test_erase_in_line ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_backward_no_match ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_start_beyond_text ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_unicode ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_empty_text ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_single_newline ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_zero ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_first_line ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_middle ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_all_case_sensitive ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_all_no_matches ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_all_empty_replacement ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_all_case_insensitive ... ok [INFO] [stdout] test app::services::text_ops::tests::test_line_to_pos_out_of_range ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_empty_search ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_unicode ... ok [INFO] [stdout] test app::services::updater::tests::test_version_comparison_invalid ... ok [INFO] [stdout] test app::services::updater::tests::test_should_check_now_exactly_24h ... ok [INFO] [stdout] test app::services::updater::tests::test_release_info_serialization ... ok [INFO] [stdout] test app::services::updater::tests::test_version_comparison_older ... ok [INFO] [stdout] test app::services::updater::tests::test_version_comparison_newer ... ok [INFO] [stdout] test app::services::updater::tests::test_version_comparison_prerelease ... ok [INFO] [stdout] test app::services::updater::tests::test_update_channel_serialization ... ok [INFO] [stdout] test app::services::updater::tests::test_version_comparison_same ... ok [INFO] [stdout] test app::services::updater::tests::test_should_check_now_yes ... ok [INFO] [stdout] test app::services::updater::tests::test_should_check_now_no ... ok [INFO] [stdout] test app::services::yaml_parser::tests::test_parse_array_yaml ... ok [INFO] [stdout] test app::services::yaml_parser::tests::test_parse_invalid_yaml ... ok [INFO] [stdout] test ui::menu::tests::test_normalize_shortcut ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_case_insensitive ... ok [INFO] [stdout] test app::services::yaml_parser::tests::test_parse_simple_yaml ... ok [INFO] [stdout] test app::services::yaml_parser::tests::test_parse_nested_yaml ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_empty ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_alt_key ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_no_key ... ok [INFO] [stdout] test app::services::text_ops::tests::test_find_backward_from_middle ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_ctrl_key ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_ctrl_shift_key ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_g_in_comment_ok ... ok [INFO] [stdout] test app::services::text_ops::tests::test_extract_filename_edge_cases ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_all_simple ... ok [INFO] [stdout] test app::services::yaml_parser::tests::test_value_to_string_truncation ... ok [INFO] [stdout] test app::services::plugin_verify::tests::test_scan_lua_blocked_string_metatable ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_invalid_key ... ok [INFO] [stdout] test ui::menu::tests::test_parse_shortcut_function_key ... ok [INFO] [stdout] test app::services::updater::tests::test_should_check_now_never_checked ... ok [INFO] [stdout] test app::services::text_ops::tests::test_replace_with_longer_string ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 259 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/FerrisPad-6eec8c787547a608) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/diff_and_highlights.rs (/opt/rustwide/target/debug/deps/diff_and_highlights-d1e6525251312b84) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_diff_empty_to_full ... ok [INFO] [stdout] test test_diff_full_to_empty ... ok [INFO] [stdout] test test_diff_intraline_spans_valid ... ok [INFO] [stdout] test test_diff_produces_aligned_output ... ok [INFO] [stdout] test test_diff_large_texts ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Running tests/lua_sandbox_integration.rs (/opt/rustwide/target/debug/deps/lua_sandbox_integration-bc73672add0904b2) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test test_load_script_and_call_hooks ... ok [INFO] [stdout] test test_instruction_limit_aborts_loop ... ok [INFO] [stdout] test test_sandbox_blocks_io_library ... ok [INFO] [stdout] test test_memory_limit_prevents_allocation ... ok [INFO] [stdout] test test_sandbox_blocks_os_library ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/plugin_loading_chain.rs (/opt/rustwide/target/debug/deps/plugin_loading_chain-6ca512c497700865) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_discover_then_load_then_verify ... ok [INFO] [stdout] test test_discover_ignores_dirs_without_init_lua ... ok [INFO] [stdout] test test_discover_multiple_plugins_sorted ... ok [INFO] [stdout] test test_load_metadata_with_config_params ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/plugin_manager_changes.rs (/opt/rustwide/target/debug/deps/plugin_manager_changes-b2fa229588dece45) [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test row_width_exact_boundary_no_scrollbar ... ok [INFO] [stdout] test row_width_expands_after_uninstall_removes_overflow ... ok [INFO] [stdout] test row_width_full_when_content_fits ... ok [INFO] [stdout] test install_only_does_not_delete ... ok [INFO] [stdout] test reinstall_display_vs_registry_name_skips_deletion ... ok [INFO] [stdout] test reinstall_registry_vs_display_name_skips_deletion ... ok [INFO] [stdout] test row_width_one_pixel_over_triggers_scrollbar ... ok [INFO] [stdout] test reinstall_same_name_skips_deletion ... ok [INFO] [stdout] test mixed_operations ... ok [INFO] [stdout] test row_width_shrinks_when_content_overflows ... ok [INFO] [stdout] test uninstall_nonexistent_directory_is_silent ... ok [INFO] [stdout] test uninstall_only_deletes_directory ... ok [INFO] [stdout] test row_width_stays_narrow_if_still_overflows_after_uninstall ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/plugin_registry_fetch.rs (/opt/rustwide/target/debug/deps/plugin_registry_fetch-380c00244bca5b26) [INFO] [stderr] Running tests/plugin_security_chain.rs (/opt/rustwide/target/debug/deps/plugin_security_chain-db362a1640b530b8) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test test_fetch_community_registry ... ignored [INFO] [stdout] test test_fetch_official_registry ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_validate_path_within_discovered_root ... ok [INFO] [stdout] test test_path_traversal_blocked_from_plugin ... ok [INFO] [stdout] test test_full_discovery_and_validation ... ok [INFO] [stdout] test test_load_metadata_then_validate_commands ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/plugin_verify_chain.rs (/opt/rustwide/target/debug/deps/plugin_verify_chain-2321f04c754db681) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_verify_plugin_tampered_file ... ok [INFO] [stdout] test test_checksum_compute_then_verify ... ok [INFO] [stdout] test test_verify_plugin_with_correct_checksums ... ok [INFO] [stdout] test test_verify_with_invalid_signature ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/session_roundtrip.rs (/opt/rustwide/target/debug/deps/session_roundtrip-bbe7d5298afb15cc) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_session_backward_compat ... ok [INFO] [stdout] test test_session_roundtrip_via_disk ... ok [INFO] [stdout] test test_session_unicode_paths ... ok [INFO] [stdout] test test_session_with_groups_roundtrip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/settings_persistence.rs (/opt/rustwide/target/debug/deps/settings_persistence-ab2939bd22e7ab8b) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_settings_roundtrip_all_fields ... ok [INFO] [stdout] test test_settings_backward_compat ... ok [INFO] [stdout] test test_settings_with_shortcut_overrides ... ok [INFO] [stdout] test test_settings_with_plugin_approvals ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/shortcut_registry_integration.rs (/opt/rustwide/target/debug/deps/shortcut_registry_integration-03f92b4667575d95) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test test_settings_to_registry_roundtrip ... ok [INFO] [stdout] test test_conflict_detection ... ok [INFO] [stdout] test test_override_takes_precedence ... ok [INFO] [stdout] test test_empty_overrides_use_defaults ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests ferris_pad [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test src/ui/menu.rs - ui::menu::update_menu_for_extensions (line 867) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.51s; merged doctests compilation took 0.50s [INFO] running `Command { std: "docker" "inspect" "670e7e39e2a4bbb222de7acb0cdcbc1836c7f110484612bc5fbb5c11748288f2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "670e7e39e2a4bbb222de7acb0cdcbc1836c7f110484612bc5fbb5c11748288f2", kill_on_drop: false }` [INFO] [stdout] 670e7e39e2a4bbb222de7acb0cdcbc1836c7f110484612bc5fbb5c11748288f2