[INFO] fetching crate jjpr 0.15.1... [INFO] testing jjpr-0.15.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate jjpr 0.15.1 into /workspace/builds/worker-5-tc2/source [INFO] started tweaking crates.io crate jjpr 0.15.1 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate jjpr 0.15.1 [INFO] tweaked toml for crates.io crate jjpr 0.15.1 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate jjpr 0.15.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate jjpr 0.15.1 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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e68c1eef4a88b25a816fb0f243adbf1fd6c728988ea5f7cc3136a89a0928ea35 [INFO] running `Command { std: "docker" "start" "-a" "e68c1eef4a88b25a816fb0f243adbf1fd6c728988ea5f7cc3136a89a0928ea35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e68c1eef4a88b25a816fb0f243adbf1fd6c728988ea5f7cc3136a89a0928ea35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e68c1eef4a88b25a816fb0f243adbf1fd6c728988ea5f7cc3136a89a0928ea35", kill_on_drop: false }` [INFO] [stdout] e68c1eef4a88b25a816fb0f243adbf1fd6c728988ea5f7cc3136a89a0928ea35 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2b9856a995dc180ca99b0df1cf836ab9bb64052e857a6d739a879b0b7d9bc683 [INFO] running `Command { std: "docker" "start" "-a" "2b9856a995dc180ca99b0df1cf836ab9bb64052e857a6d739a879b0b7d9bc683", kill_on_drop: false }` [INFO] [stderr] Compiling unicode-ident v1.0.23 [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling cfg_aliases v0.2.1 [INFO] [stderr] Compiling rustls v0.23.37 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling nix v0.31.2 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling clap_lex v1.0.0 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling clap_builder v4.5.58 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling syn v2.0.115 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling ureq-proto v0.5.3 [INFO] [stderr] Compiling utf-8 v0.7.6 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling ctrlc v3.5.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling dialoguer v0.11.0 [INFO] [stderr] Compiling clap v4.5.58 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ureq v3.2.0 [INFO] [stderr] Compiling jjpr v0.15.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s [INFO] running `Command { std: "docker" "inspect" "2b9856a995dc180ca99b0df1cf836ab9bb64052e857a6d739a879b0b7d9bc683", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2b9856a995dc180ca99b0df1cf836ab9bb64052e857a6d739a879b0b7d9bc683", kill_on_drop: false }` [INFO] [stdout] 2b9856a995dc180ca99b0df1cf836ab9bb64052e857a6d739a879b0b7d9bc683 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8914e704802136aae81eb58bcf5997d28d5933885e8c32a9e1b57503dc5fac08 [INFO] running `Command { std: "docker" "start" "-a" "8914e704802136aae81eb58bcf5997d28d5933885e8c32a9e1b57503dc5fac08", kill_on_drop: false }` [INFO] [stderr] Compiling clap_builder v4.5.58 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling assert_cmd v2.1.2 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling roff v0.2.2 [INFO] [stderr] Compiling insta v1.46.3 [INFO] [stderr] Compiling clap v4.5.58 [INFO] [stderr] Compiling jjpr v0.15.1 (/opt/rustwide/workdir) [INFO] [stderr] Compiling clap_mangen v0.2.31 [INFO] [stderr] Compiling clap_complete v4.5.66 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 45.49s [INFO] running `Command { std: "docker" "inspect" "8914e704802136aae81eb58bcf5997d28d5933885e8c32a9e1b57503dc5fac08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8914e704802136aae81eb58bcf5997d28d5933885e8c32a9e1b57503dc5fac08", kill_on_drop: false }` [INFO] [stdout] 8914e704802136aae81eb58bcf5997d28d5933885e8c32a9e1b57503dc5fac08 [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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4ba51918092eb8dafd3268beb61e719b9de7fd17c95554a84adf339cde8b60d6 [INFO] running `Command { std: "docker" "start" "-a" "4ba51918092eb8dafd3268beb61e719b9de7fd17c95554a84adf339cde8b60d6", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jjpr-cd9cc5c0699145a4) [INFO] [stdout] [INFO] [stdout] running 376 tests [INFO] [stdout] test config::tests::test_defaults ... ok [INFO] [stdout] test config::tests::test_config_path_falls_back_to_home ... ok [INFO] [stdout] test config::tests::test_existing_configs_still_parse ... ok [INFO] [stdout] test config::tests::test_load_config_with_repo_no_repo ... ok [INFO] [stdout] test config::tests::test_parse_empty_config ... ok [INFO] [stdout] test config::tests::test_parse_forge_field ... ok [INFO] [stdout] test config::tests::test_parse_forge_gitlab ... ok [INFO] [stdout] test config::tests::test_parse_forge_token_env ... ok [INFO] [stdout] test config::tests::test_parse_forge_github ... ok [INFO] [stdout] test config::tests::test_parse_invalid_merge_method ... ok [INFO] [stdout] test config::tests::test_parse_full_config ... ok [INFO] [stdout] test config::tests::test_parse_invalid_reconcile_strategy ... ok [INFO] [stdout] test config::tests::test_parse_invalid_forge ... ok [INFO] [stdout] test config::tests::test_parse_invalid_stack_nav ... ok [INFO] [stdout] test config::tests::test_parse_partial_config ... ok [INFO] [stdout] test config::tests::test_parse_invalid_toml ... ok [INFO] [stdout] test config::tests::test_load_missing_file ... ok [INFO] [stdout] test config::tests::test_load_config_with_repo_missing_file ... ok [INFO] [stdout] test config::tests::test_parse_reconcile_strategy_rebase ... ok [INFO] [stdout] test config::tests::test_parse_stack_nav_comment ... ok [INFO] [stdout] test config::tests::test_parse_reconcile_strategy_merge ... ok [INFO] [stdout] test config::tests::test_load_valid_file ... ok [INFO] [stdout] test config::tests::test_parse_stack_nav_description ... ok [INFO] [stdout] test config::tests::test_repo_config_parses ... ok [INFO] [stdout] test config::tests::test_load_invalid_file ... ok [INFO] [stdout] test config::tests::test_stack_nav_defaults_to_comment ... ok [INFO] [stdout] test forge::comment::tests::test_backward_compat_missing_is_merged ... ok [INFO] [stdout] test forge::comment::tests::test_bookmark_name_with_markdown_chars ... ok [INFO] [stdout] test config::tests::test_write_repo_config ... ok [INFO] [stdout] test config::tests::test_write_default_config ... ok [INFO] [stdout] test config::tests::test_repo_config_overrides_global ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_extract_section_missing ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_splice_appends_when_absent ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_extract_section ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_splice_replaces_when_present ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_preserves_description_sentinels ... ok [INFO] [stdout] test config::tests::test_write_default_config_refuses_overwrite ... ok [INFO] [stdout] test forge::comment::tests::test_description_nav_roundtrip ... ok [INFO] [stdout] test forge::comment::tests::test_find_stack_comment_by_legacy_footer ... ok [INFO] [stdout] test forge::comment::tests::test_find_stack_comment_by_sentinel ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_contains_footer ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_excludes_default_branch ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_contains_sentinel ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_links_other_prs ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_marks_current_pr ... ok [INFO] [stdout] test forge::comment::tests::test_merged_entry_renders_strikethrough ... ok [INFO] [stdout] test forge::comment::tests::test_generate_comment_body_shows_unlinked_bookmarks ... ok [INFO] [stdout] test forge::comment::tests::test_parse_comment_data_missing ... ok [INFO] [stdout] test forge::comment::tests::test_parse_legacy_stacker_data ... ok [INFO] [stdout] test forge::comment::tests::test_roundtrip_comment_data ... ok [INFO] [stdout] test forge::comment::tests::test_is_merged_roundtrips ... ok [INFO] [stdout] test forge::comment::tests::test_find_stack_comment_none ... ok [INFO] [stdout] test forge::forgejo::tests::test_ci_status_empty ... ok [INFO] [stdout] test forge::forgejo::tests::test_ci_status_mapping ... ok [INFO] [stdout] test forge::forgejo::tests::test_mergeability_mapping ... ok [INFO] [stdout] test forge::forgejo::tests::test_merge_method_do_field ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_comment ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_comment_stack_marker ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_basic_fields ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_same_repo_label ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_list ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_fork_label ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_draft ... ok [INFO] [stdout] test forge::forgejo::tests::test_parse_pr_merged ... ok [INFO] [stdout] test forge::forgejo::tests::test_fork_filtered_by_build_pr_map ... ok [INFO] [stdout] test forge::forgejo::tests::test_review_skips_comment_state ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_failure ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_mixed_failure_wins ... ok [INFO] [stdout] test forge::forgejo::tests::test_review_counting ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_neutral_passes ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_pending ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_queued_is_pending ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_none ... ok [INFO] [stdout] test forge::github::tests::test_parse_checks_all_passing ... ok [INFO] [stdout] test forge::github::tests::test_parse_mergeability_clean ... ok [INFO] [stdout] test forge::github::tests::test_parse_mergeability_dirty ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_draft ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_merged ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_null_requested_reviewers ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_requested_reviewers ... ok [INFO] [stdout] test forge::github::tests::test_review_commented_does_not_override ... ok [INFO] [stdout] test forge::github::tests::test_review_latest_state_wins ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_basic_fields ... ok [INFO] [stdout] test forge::github::tests::test_parse_pr_no_requested_reviewers ... ok [INFO] [stdout] test forge::gitlab::tests::test_approvals_parsing ... ok [INFO] [stdout] test forge::github::tests::test_review_multiple_reviewers ... ok [INFO] [stdout] test forge::github::tests::test_review_dismissed_clears_approval ... ok [INFO] [stdout] test forge::gitlab::tests::test_approvals_parsing_empty ... ok [INFO] [stdout] test forge::gitlab::tests::test_encode_project_nested_groups ... ok [INFO] [stdout] test forge::github::tests::test_review_pending_does_not_override ... ok [INFO] [stdout] test forge::gitlab::tests::test_encode_project_simple ... ok [INFO] [stdout] test forge::gitlab::tests::test_mergeability_missing_field ... ok [INFO] [stdout] test forge::gitlab::tests::test_mergeability_status_mapping ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_basic_fields ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_draft ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_merged ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_extracts_reviewers ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_same_project_empty_label ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_note_user_comment ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_no_reviewers ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_note_system_note_filtered ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_list ... ok [INFO] [stdout] test forge::gitlab::tests::test_pipeline_status_mapping ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_mr_fork_gets_label ... ok [INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_empty_degrades ... ok [INFO] [stdout] test forge::gitlab::tests::test_parse_note_stack_comment ... ok [INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_all_approved ... ok [INFO] [stdout] test forge::gitlab::tests::test_reviewer_state_requested_changes ... ok [INFO] [stdout] test forge::gitlab::tests::test_pipeline_status_none_when_empty ... ok [INFO] [stdout] test forge::http::tests::test_auth_header_bearer ... ok [INFO] [stdout] test forge::http::tests::test_auth_header_token ... ok [INFO] [stdout] test forge::http::tests::test_auth_header_private_token ... ok [INFO] [stdout] test forge::http::tests::test_extract_next_link_no_header ... ok [INFO] [stdout] test forge::http::tests::test_extract_next_link_absent ... ok [INFO] [stdout] test forge::http::tests::test_full_url_absolute_same_origin ... ok [INFO] [stdout] test forge::http::tests::test_extract_next_link_present ... ok [INFO] [stdout] test forge::http::tests::test_full_url_rejects_cross_origin ... ok [INFO] [stdout] test forge::http::tests::test_same_origin_different_host ... ok [INFO] [stdout] test forge::http::tests::test_same_origin_different_scheme ... ok [INFO] [stdout] test forge::http::tests::test_full_url_relative ... ok [INFO] [stdout] test forge::http::tests::test_same_origin_matching ... ok [INFO] [stdout] test forge::http::tests::test_truncate_body_long ... ok [INFO] [stdout] test forge::http::tests::test_same_origin_with_port ... ok [INFO] [stdout] test forge::http::tests::test_url_encode_hash ... ok [INFO] [stdout] test forge::http::tests::test_url_encode_plain ... ok [INFO] [stdout] test forge::http::tests::test_url_encode_slash ... ok [INFO] [stdout] test forge::http::tests::test_url_encode_space ... ok [INFO] [stdout] test forge::http::tests::test_truncate_body_short ... ok [INFO] [stdout] test forge::remote::tests::test_detect_forge_gitlab ... ok [INFO] [stdout] test forge::remote::tests::test_detect_forge_codeberg ... ok [INFO] [stdout] test forge::remote::tests::test_detect_forge_unknown ... ok [INFO] [stdout] test forge::remote::tests::test_extract_host_preserves_https_port ... ok [INFO] [stdout] test forge::remote::tests::test_detect_forge_github ... ok [INFO] [stdout] test forge::remote::tests::test_extract_host_strips_ssh_port ... ok [INFO] [stdout] test forge::remote::tests::test_find_forge_remotes_mixed ... ok [INFO] [stdout] test forge::remote::tests::test_forgejo_rejects_github_url ... ok [INFO] [stdout] test forge::remote::tests::test_parse_codeberg_ssh ... ok [INFO] [stdout] test forge::remote::tests::test_parse_codeberg_https ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_https_no_git_suffix ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_enterprise_subdomain ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_https_url ... ok [INFO] [stdout] test forge::remote::tests::test_gitlab_rejects_github_url ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_no_git_suffix ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_protocol_url ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_protocol_url_with_port ... ok [INFO] [stdout] test forge::remote::tests::test_parse_gitlab_enterprise_subdomain ... ok [INFO] [stdout] test forge::remote::tests::test_parse_gitlab_https ... ok [INFO] [stdout] test forge::remote::tests::test_parse_github_ssh_url ... ok [INFO] [stdout] test forge::remote::tests::test_parse_url_as_forgejo_from_any_host ... ok [INFO] [stdout] test forge::remote::tests::test_parse_url_as_github_from_any_host ... ok [INFO] [stdout] test forge::remote::tests::test_parse_gitlab_nested_groups ... ok [INFO] [stdout] test forge::remote::tests::test_parse_gitlab_ssh ... ok [INFO] [stdout] test forge::remote::tests::test_parse_gitlab_ssh_protocol_url_with_port ... ok [INFO] [stdout] test forge::remote::tests::test_parse_url_as_gitlab_uses_nested_groups ... ok [INFO] [stdout] test forge::remote::tests::test_parse_url_as_invalid_url ... ok [INFO] [stdout] test forge::remote::tests::test_reject_empty_url ... ok [INFO] [stdout] test forge::remote::tests::test_reject_non_github_ssh ... ok [INFO] [stdout] test forge::remote::tests::test_resolve_remote_no_forge ... ok [INFO] [stdout] test forge::remote::tests::test_resolve_remote_preferred ... ok [INFO] [stdout] test forge::remote::tests::test_resolve_remote_multiple_no_preference ... ok [INFO] [stdout] test forge::remote::tests::test_resolve_remote_single ... ok [INFO] [stdout] test forge::remote::tests::test_reject_non_github_https ... ok [INFO] [stdout] test forge::tests::test_build_pr_map_accepts_empty_label ... ok [INFO] [stdout] test forge::tests::test_build_pr_map_empty_input ... ok [INFO] [stdout] test forge::tests::test_build_pr_map_accepts_label_without_owner_prefix ... ok [INFO] [stdout] test forge::token::tests::test_cli_fallback_forgejo_returns_none ... ok [INFO] [stdout] test forge::tests::test_build_pr_map_filters_forks ... ok [INFO] [stdout] test forge::token::tests::test_default_env_vars_forgejo ... ok [INFO] [stdout] test forge::token::tests::test_default_env_vars_gitlab ... ok [INFO] [stdout] test forge::token::tests::test_resolve_token_error_mentions_custom_env ... ok [INFO] [stdout] test forge::tests::test_forge_kind_vocabulary ... ok [INFO] [stdout] test graph::change_graph::tests::test_empty_repo ... ok [INFO] [stdout] test graph::change_graph::tests::test_diamond_merge_included_in_stack ... ok [INFO] [stdout] test graph::change_graph::tests::test_merge_commit_included_in_stack ... ok [INFO] [stdout] test forge::token::tests::test_default_env_vars_github ... ok [INFO] [stdout] test graph::change_graph::tests::test_bookmark_above_merge_included ... ok [INFO] [stdout] test graph::change_graph::tests::test_multi_bookmark_stack ... ok [INFO] [stdout] test graph::change_graph::tests::test_merge_source_names_on_segment ... ok [INFO] [stdout] test graph::change_graph::tests::test_multi_segment_stack_with_foreign_base ... ok [INFO] [stdout] test graph::change_graph::tests::test_single_bookmark_linear_stack ... ok [INFO] [stdout] test graph::change_graph::tests::test_merge_skipped_arm_forms_own_stack ... ok [INFO] [stdout] test graph::change_graph::tests::test_stack_without_foreign_base ... ok [INFO] [stdout] test graph::change_graph::tests::test_stack_with_foreign_base ... ok [INFO] [stdout] test graph::change_graph::tests::test_two_independent_stacks ... ok [INFO] [stdout] test graph::traversal::tests::test_consecutive_unbookmarked_merges_accumulate ... ok [INFO] [stdout] test graph::traversal::tests::test_foreign_base_flushes_pending_segment ... ok [INFO] [stdout] test graph::traversal::tests::test_foreign_remote_bookmark_stops_traversal ... ok [INFO] [stdout] test graph::traversal::tests::test_empty_traversal ... ok [INFO] [stdout] test graph::traversal::tests::test_merge_commit_followed_through ... ok [INFO] [stdout] test graph::traversal::tests::test_git_remote_ignored ... ok [INFO] [stdout] test graph::traversal::tests::test_merge_source_names_resolved ... ok [INFO] [stdout] test graph::traversal::tests::test_merge_skipped_entries_not_in_seen ... ok [INFO] [stdout] test graph::traversal::tests::test_merge_source_names_fallback_to_commit_id ... ok [INFO] [stdout] test forge::comment::tests::test_new_comments_use_jjpr_data_prefix ... ok [INFO] [stdout] test graph::traversal::tests::test_merge_with_three_parents ... ok [INFO] [stdout] test graph::traversal::tests::test_nested_merge ... ok [INFO] [stdout] test graph::traversal::tests::test_own_remote_bookmark_continues ... ok [INFO] [stdout] test graph::traversal::tests::test_single_bookmarked_change ... ok [INFO] [stdout] test graph::traversal::tests::test_stops_at_fully_collected ... ok [INFO] [stdout] test graph::traversal::tests::test_unbookmarked_merge_before_bookmarked ... ok [INFO] [stdout] test jj::runner::tests::test_get_my_bookmarks_empty_repo ... ok [INFO] [stdout] test jj::runner::tests::test_get_git_remotes_empty ... ok [INFO] [stdout] test jj::runner::tests::test_get_my_bookmarks_with_bookmark ... ok [INFO] [stdout] test jj::runner::tests::test_jj_runner_rejects_non_repo ... ok [INFO] [stdout] test jj::templates::tests::test_extract_name_from_malformed_json ... ok [INFO] [stdout] test jj::runner::tests::test_repo_path ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_divergent_filters_remote_entry ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_empty_output ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_multiple ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_no_remote ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_with_git_remote_only ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_conflicted_skipped ... ok [INFO] [stdout] test jj::templates::tests::test_parse_bookmark_with_synced_remote ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_conflicted_commit ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_empty_output ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_entry ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_merge_commit ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_multiple_entries ... ok [INFO] [stdout] test jj::templates::tests::test_parse_log_working_copy ... ok [INFO] [stdout] test merge::execute::tests::test_already_merged_skipped ... ok [INFO] [stdout] test merge::execute::tests::test_block_reason_is_transient ... ok [INFO] [stdout] test merge::execute::tests::test_blocked_stops_execution ... ok [INFO] [stdout] test merge::execute::tests::test_divergent_change_id_detected ... ok [INFO] [stdout] test merge::execute::tests::test_dry_run_no_api_calls ... ok [INFO] [stdout] test merge::execute::tests::test_degraded_skips_subsequent_local_ops ... ok [INFO] [stdout] test merge::execute::tests::test_forge_retarget_still_runs_when_degraded ... ok [INFO] [stdout] test merge::execute::tests::test_format_block_reasons_github ... ok [INFO] [stdout] test merge::execute::tests::test_format_block_reasons_gitlab ... ok [INFO] [stdout] test merge::execute::tests::test_merge_failure_reports_error ... ok [INFO] [stdout] test merge::execute::tests::test_merge_no_retry_on_400 ... ok [INFO] [stdout] test merge::execute::tests::test_merge_with_remaining_stack ... ok [INFO] [stdout] test merge::execute::tests::test_merge_with_stack_base_retargets_to_base ... ok [INFO] [stdout] test merge::execute::tests::test_merge_conflict_detected_skips_push ... ok [INFO] [stdout] test merge::execute::tests::test_merge_strategy_syncs_all_remaining_segments ... ok [INFO] [stdout] test merge::execute::tests::test_merge_failure_skips_push_for_failed_bookmark ... ok [INFO] [stdout] test merge::execute::tests::test_multi_merge_chain ... ok [INFO] [stdout] test merge::execute::tests::test_push_uses_plan_remote_name ... ok [INFO] [stdout] test merge::execute::tests::test_rebase_failure_continues_merging ... ok [INFO] [stdout] test merge::execute::tests::test_no_retarget_when_base_already_correct ... ok [INFO] [stdout] test merge::execute::tests::test_rebase_strategy_does_not_call_merge_into ... ok [INFO] [stdout] test merge::execute::tests::test_push_failure_continues_merging ... ok [INFO] [stdout] test merge::execute::tests::test_rebase_uses_oldest_commit_in_segment ... ok [INFO] [stdout] test merge::execute::tests::test_recheck_after_merge_detects_pending_ci ... ok [INFO] [stdout] test merge::execute::tests::test_recheck_after_merge_discovers_concurrent_merge ... ok [INFO] [stdout] test merge::execute::tests::test_stale_plan_does_not_merge_when_ci_now_failing ... ok [INFO] [stdout] test merge::execute::tests::test_single_merge ... ok [INFO] [stdout] test merge::execute::tests::test_three_segment_merge_chain ... ok [INFO] [stdout] test merge::execute::tests::test_reconciles_after_already_merged ... ok [INFO] [stdout] test merge::plan::tests::test_api_error_blocks_ci_check ... ok [INFO] [stdout] test merge::plan::tests::test_already_merged_then_mergeable ... ok [INFO] [stdout] test merge::plan::tests::test_all_mergeable ... ok [INFO] [stdout] test merge::plan::tests::test_api_error_with_zero_approvals_does_not_block ... ok [INFO] [stdout] test merge::plan::tests::test_api_error_blocks_reviews ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_changes_requested ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_conflict ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_draft ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_failing_ci ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_insufficient_approvals ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_unknown_mergeability ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_by_pending_ci ... ok [INFO] [stdout] test merge::plan::tests::test_blocked_stops_evaluation ... ok [INFO] [stdout] test merge::plan::tests::test_ci_not_checked_when_disabled ... ok [INFO] [stdout] test merge::plan::tests::test_multiple_block_reasons_collected ... ok [INFO] [stdout] test merge::plan::tests::test_no_checks_allowed_when_ci_not_required ... ok [INFO] [stdout] test merge::plan::tests::test_no_checks_blocks_when_ci_required ... ok [INFO] [stdout] test merge::plan::tests::test_no_pr_blocks ... ok [INFO] [stdout] test merge::plan::tests::test_three_segment_all_mergeable ... ok [INFO] [stdout] test merge::watch::tests::test_report_status_changes_first_time ... ok [INFO] [stdout] test merge::watch::tests::test_report_status_changes_no_change ... ok [INFO] [stdout] test merge::watch::tests::test_report_status_changes_reason_resolved ... ok [INFO] [stdout] test merge::watch::tests::test_watch_merges_immediately_when_ready ... ok [INFO] [stdout] test merge::execute::tests::test_merge_strategy_calls_merge_into ... ok [INFO] [stdout] test merge::watch::tests::test_watch_respects_shutdown_flag ... ok [INFO] [stdout] test merge::watch::tests::test_watch_reconciles_after_already_merged ... ok [INFO] [stdout] test merge::watch::tests::test_watch_stops_at_nopr ... ok [INFO] [stdout] test merge::watch::tests::test_watch_waits_then_merges ... ok [INFO] [stdout] test merge::watch::tests::test_watch_continues_across_segments ... ok [INFO] [stdout] test merge::watch::tests::test_watch_respects_timeout ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_no_base_branch_when_none ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_finds_target_segment ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_includes_all_downstack ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_propagates_base_branch ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_single_bookmark ... ok [INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_empty_graph ... ok [INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_no_bookmarks ... ok [INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_wc_above_bookmarks ... ok [INFO] [stdout] test merge::plan::tests::test_find_merged_pr_error_propagates ... ok [INFO] [stdout] test submit::analyze::tests::test_infer_bookmark_wc_at_bookmark ... ok [INFO] [stdout] test submit::execute::tests::test_comment_failure_does_not_abort ... ok [INFO] [stdout] test submit::execute::tests::test_create_pr_as_draft ... ok [INFO] [stdout] test merge::plan::tests::test_api_error_blocks_mergeability ... ok [INFO] [stdout] test submit::analyze::tests::test_analyze_unknown_bookmark ... ok [INFO] [stdout] test merge::watch::tests::test_watch_gives_up_after_max_errors ... ok [INFO] [stdout] test submit::execute::tests::test_dry_run_skips_body_update ... ok [INFO] [stdout] test submit::execute::tests::test_creates_pr_with_correct_base ... ok [INFO] [stdout] test submit::execute::tests::test_dry_run_produces_no_side_effects ... ok [INFO] [stdout] test submit::execute::tests::test_dry_run_skips_reviewer_requests_on_existing ... ok [INFO] [stdout] test submit::execute::tests::test_has_actions_empty_plan ... ok [INFO] [stdout] test submit::execute::tests::test_execute_updates_pr_body ... ok [INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_appends_new ... ok [INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_current_takes_precedence ... ok [INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_empty_previous ... ok [INFO] [stdout] test submit::execute::tests::test_has_actions_with_push ... ok [INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_no_change ... ok [INFO] [stdout] test submit::execute::tests::test_merge_previous_entries_preserves_removed ... ok [INFO] [stdout] test submit::execute::tests::test_merged_pr_links_preserved_in_stack_comments ... ok [INFO] [stdout] test submit::execute::tests::test_no_reviewers_when_list_empty ... ok [INFO] [stdout] test submit::execute::tests::test_noop_plan_succeeds_without_api_calls ... ok [INFO] [stdout] test submit::execute::tests::test_partial_failure_reports_completed_actions ... ok [INFO] [stdout] test submit::execute::tests::test_ready_converts_draft_prs ... ok [INFO] [stdout] test submit::execute::tests::test_requests_reviewers_on_existing_prs ... ok [INFO] [stdout] test submit::execute::tests::test_requests_reviewers_on_new_prs ... ok [INFO] [stdout] test submit::execute::tests::test_single_pr_skips_stack_comment ... ok [INFO] [stdout] test submit::execute::tests::test_skips_already_requested_reviewers ... ok [INFO] [stdout] test submit::execute::tests::test_skips_reviewer_case_insensitive ... ok [INFO] [stdout] test submit::execute::tests::test_skips_reviewer_request_when_all_already_requested ... ok [INFO] [stdout] test submit::execute::tests::test_stack_comment_excludes_default_branch ... ok [INFO] [stdout] test submit::execute::tests::test_title_drift_escapes_single_quotes ... ok [INFO] [stdout] test submit::execute::tests::test_title_drift_shell_metacharacters ... ok [INFO] [stdout] test submit::execute::tests::test_two_prs_creates_stack_comments ... ok [INFO] [stdout] test submit::execute::tests::test_updates_existing_stack_comment ... ok [INFO] [stdout] test submit::execute::tests::test_updates_pr_base ... ok [INFO] [stdout] test submit::plan::tests::test_base_skips_consecutive_merged_segments ... ok [INFO] [stdout] test submit::plan::tests::test_base_uses_live_segment_after_merged ... ok [INFO] [stdout] test submit::plan::tests::test_extract_managed_body ... ok [INFO] [stdout] test submit::plan::tests::test_extract_managed_body_no_markers ... ok [INFO] [stdout] test submit::plan::tests::test_generate_merge_note_two ... ok [INFO] [stdout] test submit::plan::tests::test_extract_managed_body_only_start_marker ... ok [INFO] [stdout] test submit::plan::tests::test_extract_managed_body_with_surrounding_content ... ok [INFO] [stdout] test submit::plan::tests::test_plan_detects_stale_managed_body ... ok [INFO] [stdout] test submit::plan::tests::test_generate_merge_note_single ... ok [INFO] [stdout] test submit::plan::tests::test_plan_does_not_skip_closed_but_unmerged_prs ... ok [INFO] [stdout] test submit::plan::tests::test_plan_error_context_on_list_failure ... ok [INFO] [stdout] test submit::plan::tests::test_plan_existing_pr_correct_base ... ok [INFO] [stdout] test submit::plan::tests::test_plan_accepts_prs_with_empty_label ... ok [INFO] [stdout] test submit::plan::tests::test_plan_detects_title_drift ... ok [INFO] [stdout] test submit::plan::tests::test_plan_filters_fork_prs ... ok [INFO] [stdout] test submit::plan::tests::test_plan_merged_bookmark_not_pushed ... ok [INFO] [stdout] test submit::plan::tests::test_plan_existing_pr_wrong_base ... ok [INFO] [stdout] test submit::plan::tests::test_plan_merge_note_three_parents ... ok [INFO] [stdout] test submit::plan::tests::test_plan_falls_back_to_default_branch ... ok [INFO] [stdout] test submit::plan::tests::test_plan_merge_note_in_pr_body ... ok [INFO] [stdout] test submit::plan::tests::test_plan_identifies_draft_prs_for_ready ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_reviewers_tracked_when_empty ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_title_drift_when_title_matches ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_title_drift_for_multi_commit_segment ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_update_when_managed_body_matches ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_update_when_sentinels_removed ... ok [INFO] [stdout] test submit::plan::tests::test_plan_new_pr_needed ... ok [INFO] [stdout] test submit::plan::tests::test_plan_no_merge_note_for_linear ... ok [INFO] [stdout] test submit::plan::tests::test_plan_preserves_user_content_around_sentinels ... ok [INFO] [stdout] test submit::plan::tests::test_plan_skips_merged_prs ... ok [INFO] [stdout] test submit::plan::tests::test_plan_stacked_base_branches ... ok [INFO] [stdout] test submit::plan::tests::test_plan_stale_title_does_not_trigger_body_update ... ok [INFO] [stdout] test submit::plan::tests::test_plan_tracks_reviewers_for_existing_prs ... ok [INFO] [stdout] test submit::plan::tests::test_replace_managed_body_no_markers ... ok [INFO] [stdout] test submit::plan::tests::test_replace_managed_body_preserves_surroundings ... ok [INFO] [stdout] test submit::plan::tests::test_wrap_managed_body ... ok [INFO] [stdout] test submit::plan::tests::test_plan_warns_on_merged_check_failure ... ok [INFO] [stdout] test submit::plan::tests::test_plan_uses_stack_base_for_first_pr ... ok [INFO] [stdout] test submit::resolve::tests::test_merge_source_names_propagated ... ok [INFO] [stdout] test submit::resolve::tests::test_empty_bookmarks_errors ... ok [INFO] [stdout] test submit::resolve::tests::test_multiple_bookmarks_non_interactive_takes_first ... ok [INFO] [stdout] test submit::resolve::tests::test_single_bookmark_per_segment ... ok [INFO] [stdout] test watch::tests::test_no_promote_when_ci_failing ... ok [INFO] [stdout] test watch::tests::test_no_promote_when_ci_pending ... ok [INFO] [stdout] test watch::tests::test_no_promote_when_no_ci_checks ... ok [INFO] [stdout] test watch::tests::test_no_promote_when_not_draft ... ok [INFO] [stdout] test watch::tests::test_promote_draft_when_ci_passes ... ok [INFO] [stdout] test watch::tests::test_promote_multiple_drafts_in_stack ... ok [INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_for_non_approval_blocks ... ok [INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_when_no_pr ... ok [INFO] [stdout] test watch::tests::test_reviewer_hint_not_shown_when_reviewers_present ... ok [INFO] [stdout] test watch::tests::test_reviewer_hint_shown_when_no_reviewers ... ok [INFO] [stdout] test merge::execute::tests::test_merge_retry_on_502_then_verified_merged ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/jjpr-9c43b5e193e0b4ff) [INFO] [stdout] test merge::execute::tests::test_merge_retry_on_405_already_in_progress_verified_merged ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 376 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.05s [INFO] [stdout] [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] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-4bc5b280c3b49991) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 18 tests [INFO] [stdout] test test_auth_test_forgejo_uses_custom_token_env ... ok [INFO] [stdout] test test_auth_test_help ... ok [INFO] [stdout] test test_auth_help ... ok [INFO] [stdout] test test_help_shows_merge_command ... ok [INFO] [stdout] test test_config_init_help ... ok [INFO] [stdout] test test_auth_setup_help ... ok [INFO] [stdout] test test_merge_base_flag_in_help ... ok [INFO] [stdout] test test_help_shows_usage ... ok [INFO] [stdout] test test_draft_and_ready_conflict ... ok [INFO] [stdout] test test_submit_forgejo_custom_token_env_in_error ... ok [INFO] [stdout] test test_submit_forgejo_default_token_env_in_error ... ok [INFO] [stdout] test test_merge_help ... ok [INFO] [stdout] test test_version_short ... ok [INFO] [stdout] test test_version ... ok [INFO] [stdout] test test_submit_help_shows_no_fetch ... ok [INFO] [stdout] test test_submit_help ... ok [INFO] [stdout] test test_submit_base_flag_in_help ... ok [INFO] [stdout] test test_help_shows_no_fetch ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-1c920f455f5815b0) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test test_submit_creates_stacked_prs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/jj_integration.rs (/opt/rustwide/target/debug/deps/jj_integration-221d5b033f831ca6) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_real_jj_bookmark_parsing ... ok [INFO] [stdout] test test_infer_bookmark_from_working_copy ... ok [INFO] [stdout] test test_push_after_squash ... ok [INFO] [stdout] test test_real_jj_graph_linear_stack ... ok [INFO] [stdout] test test_real_jj_default_branch ... ok [INFO] [stdout] test test_real_jj_log_parsing ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests jjpr [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" "4ba51918092eb8dafd3268beb61e719b9de7fd17c95554a84adf339cde8b60d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4ba51918092eb8dafd3268beb61e719b9de7fd17c95554a84adf339cde8b60d6", kill_on_drop: false }` [INFO] [stdout] 4ba51918092eb8dafd3268beb61e719b9de7fd17c95554a84adf339cde8b60d6