[INFO] fetching crate prompt-builder-for-sidebar-ai 0.3.0...
[INFO] testing prompt-builder-for-sidebar-ai-0.3.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate prompt-builder-for-sidebar-ai 0.3.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate prompt-builder-for-sidebar-ai 0.3.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate prompt-builder-for-sidebar-ai 0.3.0
[INFO] tweaked toml for crates.io crate prompt-builder-for-sidebar-ai 0.3.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate prompt-builder-for-sidebar-ai 0.3.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate prompt-builder-for-sidebar-ai 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pollster v0.4.0
[INFO] [stderr]   Downloaded raw-window-handle v0.6.2
[INFO] [stderr]   Downloaded rfd v0.17.2
[INFO] [stderr]   Downloaded is-wsl v0.4.0
[INFO] [stderr]   Downloaded is-docker v0.2.0
[INFO] [stderr]   Downloaded objc2-encode v4.1.0
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.7
[INFO] [stderr]   Downloaded serde_path_to_error v0.1.20
[INFO] [stderr]   Downloaded axum-core v0.5.6
[INFO] [stderr]   Downloaded block2 v0.6.2
[INFO] [stderr]   Downloaded open v5.3.6
[INFO] [stderr]   Downloaded clap_derive v4.6.1
[INFO] [stderr]   Downloaded matchit v0.8.4
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.22
[INFO] [stderr]   Downloaded dispatch2 v0.3.1
[INFO] [stderr]   Downloaded ignore v0.4.27
[INFO] [stderr]   Downloaded clap v4.6.1
[INFO] [stderr]   Downloaded objc2-core-foundation v0.3.2
[INFO] [stderr]   Downloaded axum v0.8.9
[INFO] [stderr]   Downloaded clap_builder v4.6.0
[INFO] [stderr]   Downloaded objc2-foundation v0.3.2
[INFO] [stderr]   Downloaded objc2 v0.6.4
[INFO] [stderr]   Downloaded bstr v1.12.3
[INFO] [stderr]   Downloaded objc2-app-kit v0.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76
[INFO] running `Command { std: "docker" "start" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling bstr v1.12.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling rfd v0.17.2
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling pollster v0.4.0
[INFO] [stderr]    Compiling open v5.3.6
[INFO] [stderr]    Compiling uuid v1.23.4
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.27
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling prompt-builder-for-sidebar-ai v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 05s
[INFO] running `Command { std: "docker" "inspect" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling prompt-builder-for-sidebar-ai v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.45s
[INFO] running `Command { std: "docker" "inspect" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/prompt_builder_for_sidebar_ai-7fac479275bb5a87)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test diff::tests::a_non_git_directory_degrades_gracefully ... ok
[INFO] [stdout] test diff::tests::a_deleted_tracked_file_is_included ... ok
[INFO] [stdout] test diff::tests::a_binary_untracked_file_is_omitted_rather_than_erroring ... ok
[INFO] [stdout] test diff::tests::a_modified_tracked_file_is_included ... ok
[INFO] [stdout] test diff::tests::a_modified_tracked_files_invalid_utf8_content_does_not_silently_drop_other_diffs ... ok
[INFO] [stdout] test diff::tests::an_empty_untracked_file_produces_no_hunk_matching_real_gits_own_behavior ... ok
[INFO] [stdout] test diff::tests::a_clean_repository_with_no_local_changes_has_an_empty_diff ... ok
[INFO] [stdout] test diff::tests::an_empty_repository_with_no_commits_degrades_gracefully ... ok
[INFO] [stdout] test discovery::tests::baseline_excluded_dir_is_not_restored_by_gitignore_negation ... ok
[INFO] [stdout] test discovery::tests::binary_pfx_secret_file_is_silently_excluded_not_flagged ... ok
[INFO] [stdout] test discovery::tests::discover_tree_with_limit_caps_the_number_of_entries_collected ... ok
[INFO] [stdout] test discovery::tests::discover_tree_with_limit_counts_filtered_out_entries_against_the_cap_too ... ok
[INFO] [stdout] test discovery::tests::discover_tree_with_limit_returns_every_entry_when_under_the_cap ... ok
[INFO] [stdout] test discovery::tests::discovers_files_with_non_ascii_and_special_characters ... ok
[INFO] [stdout] test discovery::tests::discovers_plain_text_files_in_stable_order ... ok
[INFO] [stdout] test discovery::tests::does_not_follow_double_symlink_indirection ... ok
[INFO] [stdout] test discovery::tests::does_not_follow_symlinks_out_of_root ... ok
[INFO] [stdout] test diff::tests::a_staged_added_file_is_included ... ok
[INFO] [stdout] test discovery::tests::does_not_include_a_symlinked_file ... ok
[INFO] [stdout] test discovery::tests::empty_root_directory_returns_no_entries ... ok
[INFO] [stdout] test discovery::tests::excludes_binary_files ... ok
[INFO] [stdout] test discovery::tests::excludes_git_and_baseline_directories ... ok
[INFO] [stdout] test discovery::tests::file_named_like_baseline_dir_is_not_excluded ... ok
[INFO] [stdout] test discovery::tests::flags_env_example_as_likely_secret ... ok
[INFO] [stdout] test discovery::tests::flags_likely_secret_files_without_excluding_them ... ok
[INFO] [stdout] test discovery::tests::flags_secret_extension_case_insensitively ... ok
[INFO] [stdout] test diff::tests::an_untracked_executable_files_mode_bit_is_preserved ... ok
[INFO] [stdout] test discovery::tests::does_not_hang_on_a_fifo_with_no_writer ... ok
[INFO] [stdout] test discovery::tests::flags_uppercase_env_and_exact_name_variants_case_insensitively ... ok
[INFO] [stdout] test discovery::tests::is_probably_binary_returns_err_for_missing_path ... ok
[INFO] [stdout] test discovery::tests::nul_exactly_at_sniff_window_edge_is_detected_as_binary ... ok
[INFO] [stdout] test discovery::tests::gitignored_secret_file_never_appears_regardless_of_secret_flag ... ok
[INFO] [stdout] test discovery::tests::keeps_ordinary_dotdirs_visible ... ok
[INFO] [stdout] test discovery::tests::nul_just_after_sniff_window_is_not_detected_as_binary ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_accepts_a_file_exactly_at_the_size_cap ... ok
[INFO] [stdout] test discovery::tests::nul_just_before_sniff_window_is_detected_as_binary ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_accepts_a_nested_relative_path ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_accepts_a_plain_relative_path ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_a_file_over_the_size_cap ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_a_directory ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_a_symlinked_file ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_an_absolute_path ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_a_missing_path ... ok
[INFO] [stdout] test discovery::tests::respects_gitignore ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_a_path_through_a_symlinked_intermediate_directory ... ok
[INFO] [stdout] test discovery::tests::respects_gitignore_negation_pattern ... ok
[INFO] [stdout] test discovery::tests::respects_nested_gitignore_in_subdirectory ... ok
[INFO] [stdout] test discovery::tests::skips_unreadable_file_without_failing_whole_walk ... ok
[INFO] [stdout] test discovery::tests::skips_unreadable_subdirectory_but_continues_walk ... ok
[INFO] [stdout] test discovery::tests::resolve_regular_file_rejects_parent_dir_traversal ... ok
[INFO] [stdout] test github_root::tests::accepts_a_trailing_slash_with_no_ref ... ok
[INFO] [stdout] test discovery::tests::zero_byte_file_is_included_and_not_binary ... ok
[INFO] [stdout] test github_root::tests::joins_a_multi_segment_ref_back_together ... ok
[INFO] [stdout] test github_root::tests::accepts_http_as_well_as_https ... ok
[INFO] [stdout] test github_root::tests::parses_a_tree_ref_suffix ... ok
[INFO] [stdout] test github_root::tests::rejects_a_non_github_url ... ok
[INFO] [stdout] test github_root::tests::rejects_a_plain_local_path ... ok
[INFO] [stdout] test github_root::tests::rejects_a_repo_segment_that_is_only_a_dot_git_suffix ... ok
[INFO] [stdout] test github_root::tests::rejects_a_tree_url_with_no_ref_after_it ... ok
[INFO] [stdout] test github_root::tests::rejects_a_url_missing_the_repo_segment ... ok
[INFO] [stdout] test github_root::tests::rejects_an_unsupported_path_shape ... ok
[INFO] [stdout] test github_root::tests::resolve_root_arg_rejects_a_missing_local_path ... ok
[INFO] [stdout] test github_root::tests::resolve_root_arg_resolves_an_existing_local_directory ... ok
[INFO] [stdout] test github_root::tests::strips_a_dot_git_suffix ... ok
[INFO] [stdout] test tests::app_icon_is_a_nonempty_png ... ok
[INFO] [stdout] test tests::generate_session_token_is_unique_each_call ... ok
[INFO] [stdout] test tests::generate_session_token_matches_uuid_v4_format ... ok
[INFO] [stdout] test tests::icon_data_uri_is_a_base64_png_data_uri ... ok
[INFO] [stdout] test discovery::tests::root_named_like_baseline_excluded_dir_is_still_served ... ok
[INFO] [stdout] test github_root::tests::parses_a_plain_owner_repo_url ... ok
[INFO] [stdout] test diff::tests::an_untracked_file_is_synthesized_as_a_new_file_block ... ok
[INFO] [stdout] test diff::tests::an_untracked_symlink_is_omitted_rather_than_followed ... ok
[INFO] [stdout] test tests::rendered_html_app_name_has_no_data_i18n_attribute ... ok
[INFO] [stdout] test tests::rendered_html_app_name_title_matches_the_logos_alt_and_title ... ok
[INFO] [stdout] test tests::rendered_html_has_no_leftover_security_reopen_button ... ok
[INFO] [stdout] test tests::rendered_html_inlines_the_icon_and_leaves_no_placeholder ... ok
[INFO] [stdout] test tests::rendered_html_search_icon_is_decorative_and_label_survives ... ok
[INFO] [stdout] test tests::resolve_root_accepts_an_existing_directory ... ok
[INFO] [stdout] test tests::rendered_html_security_notice_collapsed_button_starts_hidden ... ok
[INFO] [stdout] test tests::resolve_root_rejects_a_file ... ok
[INFO] [stdout] test tests::resolve_root_rejects_a_missing_path ... ok
[INFO] [stdout] test tests::resolve_root_rejects_an_empty_path ... ok
[INFO] [stdout] test tests::native_dialog_available_reflects_display_env_vars ... ok
[INFO] [stdout] test tests::resolve_root_accepts_a_non_ascii_directory_name ... ok
[INFO] [stdout] test tests::resolve_root_resolves_a_symlink_to_a_directory ... ok
[INFO] [stdout] test tests::resolve_root_rejects_a_dangling_symlink ... ok
[INFO] [stdout] test tests::resolve_root_rejects_a_symlink_to_a_file ... ok
[INFO] [stdout] test diff::tests::multiple_changed_files_each_get_their_own_unambiguous_diff_git_header ... ok
[INFO] [stdout] test diff::tests::an_untracked_file_in_a_nested_directory_uses_its_relative_path ... ok
[INFO] [stdout] test diff::tests::an_untracked_file_over_the_size_limit_is_omitted_rather_than_erroring ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/prompt_builder_for_sidebar_ai-2b745821d541a149)
[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/server.rs (/opt/rustwide/target/debug/deps/server-0f92f21647f74059)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test api_diff_returns_404_for_wrong_token ... ok
[INFO] [stdout] test api_diff_returns_405_for_post ... ok
[INFO] [stdout] test api_diff_returns_404_for_extra_path_segment ... ok
[INFO] [stdout] test api_file_returns_200_and_text_plain_for_existing_file_with_exact_body ... ok
[INFO] [stdout] test api_diff_returns_200_and_json_content_type_for_valid_token ... ok
[INFO] [stdout] test api_file_returns_200_for_a_file_with_non_ascii_name ... ok
[INFO] [stdout] test api_file_returns_400_for_a_file_over_the_size_limit ... ok
[INFO] [stdout] test api_file_returns_400_for_empty_path_query ... ok
[INFO] [stdout] test api_file_returns_400_for_invalid_utf8_content ... ok
[INFO] [stdout] test api_file_returns_400_for_missing_path_query ... ok
[INFO] [stdout] test api_file_returns_404_for_a_directory_path ... ok
[INFO] [stdout] test api_file_does_not_hang_and_returns_404_for_a_fifo ... ok
[INFO] [stdout] test api_diff_reports_is_git_repo_false_and_empty_diff_for_a_non_git_root ... ok
[INFO] [stdout] test api_file_returns_404_for_a_symlink_inside_root_pointing_outside_root ... ok
[INFO] [stdout] test api_file_returns_400_for_a_binary_file ... ok
[INFO] [stdout] test api_file_returns_404_for_a_symlink_that_stays_inside_root ... ok
[INFO] [stdout] test api_file_returns_404_for_an_absolute_path_query_pointing_at_an_existing_outside_file ... ok
[INFO] [stdout] test api_file_returns_200_for_a_multi_megabyte_text_file ... ok
[INFO] [stdout] test api_file_returns_405_for_post ... ok
[INFO] [stdout] test api_file_returns_404_for_percent_encoded_dotdot_traversal ... ok
[INFO] [stdout] test api_file_returns_404_for_nonexistent_relative_path ... ok
[INFO] [stdout] test api_file_returns_404_for_dotdot_traversal_to_a_nonexistent_outside_path ... ok
[INFO] [stdout] test api_file_returns_404_for_wrong_token ... ok
[INFO] [stdout] test api_file_returns_404_for_dotdot_traversal_to_an_existing_outside_file ... ok
[INFO] [stdout] test api_file_returns_500_for_unreadable_file_permission_denied ... ok
[INFO] [stdout] test api_open_folder_drops_the_previous_root_guard_and_removes_its_temp_dir_on_switch ... ok
[INFO] [stdout] test api_open_folder_returns_404_for_extra_path_segment ... ok
[INFO] [stdout] test api_open_folder_returns_404_for_wrong_token ... ok
[INFO] [stdout] test api_open_folder_returns_405_for_get ... ok
[INFO] [stdout] test api_open_folder_returns_400_and_leaves_the_root_untouched_for_a_selected_file ... ok
[INFO] [stdout] test api_open_folder_returns_400_for_a_selected_path_that_does_not_exist ... ok
[INFO] [stdout] test api_open_folder_replaces_the_root_on_a_valid_selection ... ok
[INFO] [stdout] test api_open_folder_returns_501_and_marks_unavailable_when_no_dialog_can_be_shown ... ok
[INFO] [stdout] test api_open_folder_leaves_the_root_untouched_when_the_dialog_is_cancelled ... ok
[INFO] [stdout] test api_open_folder_symlink_escape_protection_applies_to_the_new_root ... ok
[INFO] [stdout] test api_open_folder_parent_traversal_protection_applies_to_the_new_root ... ok
[INFO] [stdout] test api_root_returns_404_for_extra_path_segment ... ok
[INFO] [stdout] test api_root_falls_back_to_absolute_path_when_basename_is_none_for_bare_slash_root ... ok
[INFO] [stdout] test api_root_returns_405_for_post ... ok
[INFO] [stdout] test api_root_returns_200_and_json_content_type_for_valid_token ... ok
[INFO] [stdout] test api_tree_body_matches_directory_contents ... ok
[INFO] [stdout] test api_root_returns_404_for_wrong_token ... ok
[INFO] [stdout] test api_tree_returns_404_for_wrong_token ... ok
[INFO] [stdout] test api_tree_returns_404_for_extra_path_segment ... ok
[INFO] [stdout] test api_tree_returns_405_for_post ... ok
[INFO] [stdout] test api_tree_ignores_query_string_parameters ... ok
[INFO] [stdout] test api_tree_returns_200_and_json_content_type_for_valid_token ... ok
[INFO] [stdout] test router_returns_404_for_an_empty_path_segment ... ok
[INFO] [stdout] test router_returns_404_for_an_uppercased_token ... ok
[INFO] [stdout] test router_returns_404_for_a_non_get_method_on_an_invalid_token ... ok
[INFO] [stdout] test router_returns_404_for_the_token_with_one_extra_trailing_character ... ok
[INFO] [stdout] test router_returns_404_for_the_valid_token_with_an_extra_path_segment ... ok
[INFO] [stdout] test router_returns_404_for_the_token_truncated_by_one_character ... ok
[INFO] [stdout] test router_returns_the_index_html_shell_for_the_valid_token ... ok
[INFO] [stdout] test router_serves_the_valid_token_on_repeated_requests ... ok
[INFO] [stdout] test server_binds_to_a_loopback_address_only ... ok
[INFO] [stdout] test router_returns_200_for_a_head_request_on_the_valid_token ... ok
[INFO] [stdout] test api_root_body_contains_basename_and_absolute_path_matching_scratch_root ... ok
[INFO] [stdout] test router_returns_405_for_a_non_get_method_on_the_valid_token ... ok
[INFO] [stdout] test session_path_responds_and_other_paths_are_rejected ... ok
[INFO] [stdout] test two_concurrent_requests_to_api_file_return_identical_bodies ... ok
[INFO] [stdout] test api_tree_returns_empty_entries_and_untruncated_for_empty_root ... ok
[INFO] [stdout] test api_diff_reports_is_git_repo_true_and_empty_diff_for_a_clean_repo ... ok
[INFO] [stdout] test two_concurrent_requests_to_api_tree_return_identical_bodies ... ok
[INFO] [stdout] test api_diff_includes_modified_added_deleted_and_untracked_files ... ok
[INFO] [stdout] test api_open_folder_returns_500_when_the_picker_task_panics ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests prompt_builder_for_sidebar_ai
[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] running `Command { std: "docker" "inspect" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76", kill_on_drop: false }`
[INFO] [stdout] 3e9cecf369006fcaf5781ccc62de4f6ad6029b7453e04eab0aef1060308dac76
