[INFO] cloning repository https://github.com/kaiogu/kindle-to-markdown
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kaiogu/kindle-to-markdown" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaiogu%2Fkindle-to-markdown", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaiogu%2Fkindle-to-markdown'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 774424079d8ca27d3a5ab9f6f2aae7e9ec1050fa
[INFO] testing kaiogu/kindle-to-markdown against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkaiogu%2Fkindle-to-markdown" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-6-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/kaiogu/kindle-to-markdown
[INFO] finished tweaking git repo https://github.com/kaiogu/kindle-to-markdown
[INFO] tweaked toml for git repo https://github.com/kaiogu/kindle-to-markdown written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kaiogu/kindle-to-markdown on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kaiogu/kindle-to-markdown 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6
[INFO] running `Command { std: "docker" "start" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", 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" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", 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" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling winnow v1.0.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling kindle-to-markdown v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.45s
[INFO] running `Command { std: "docker" "inspect" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", 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" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling kindle-to-markdown v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.89s
[INFO] running `Command { std: "docker" "inspect" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", 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" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "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/kindle_to_markdown-74da3c1f25b341ed)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test settings::tests::example_settings_template_contains_active_defaults ... ok
[INFO] [stdout] test settings::tests::parses_boolean_copy_raw_setting ... ok
[INFO] [stdout] test settings::tests::refuses_to_overwrite_existing_settings_file ... ok
[INFO] [stdout] test settings::tests::initializes_new_settings_file ... ok
[INFO] [stdout] test settings::tests::resolves_override_settings_path ... ok
[INFO] [stdout] test settings::tests::returns_default_settings_when_file_is_missing ... ok
[INFO] [stdout] test settings::tests::parses_settings_toml ... ok
[INFO] [stdout] test tests::dedupes_repeated_entries_while_keeping_first_occurrence ... ok
[INFO] [stdout] test tests::copies_clippings_and_creates_destination_parent ... ok
[INFO] [stdout] test tests::defaults_export_directory_to_clippings_folder ... ok
[INFO] [stdout] test tests::defaults_pull_destination_to_local_folder ... ok
[INFO] [stdout] test tests::derives_raw_destination_inside_output_directory ... ok
[INFO] [stdout] test tests::derives_raw_destination_next_to_single_markdown_file ... ok
[INFO] [stdout] test tests::falls_back_to_string_sort_for_unparseable_dates ... ok
[INFO] [stdout] test tests::finds_first_existing_clippings_file_from_roots ... ok
[INFO] [stdout] test tests::renders_multiline_highlights_as_blockquotes_on_every_line ... ok
[INFO] [stdout] test tests::parses_title_and_author_using_last_parenthetical_group ... ok
[INFO] [stdout] test tests::adds_numeric_suffix_when_book_slugs_collide ... ok
[INFO] [stdout] test tests::collects_stats_per_book_and_entry_type ... ok
[INFO] [stdout] test tests::resolves_by_book_output_as_directory ... ok
[INFO] [stdout] test tests::resolves_single_layout_file_output_even_without_markdown_extension ... ok
[INFO] [stdout] test tests::renders_json_stats ... ok
[INFO] [stdout] test tests::shortens_book_slugs_and_keeps_author_context ... ok
[INFO] [stdout] test tests::parses_two_line_kindle_headers_with_bom ... ok
[INFO] [stdout] test tests::resolves_single_layout_file_output_when_markdown_path_is_given ... ok
[INFO] [stdout] test tests::parses_bookmark_only_fixture ... ok
[INFO] [stdout] test tests::parses_supported_entry_types_and_skips_invalid_chunks ... ok
[INFO] [stdout] test tests::parses_one_line_fixture_with_page_metadata ... ok
[INFO] [stdout] test tests::sorts_books_alphabetically ... ok
[INFO] [stdout] test tests::sorts_by_location_within_each_book ... ok
[INFO] [stdout] test tests::sorts_by_date_within_each_book ... ok
[INFO] [stdout] test tests::wsl_roots_cover_windows_mount_points ... ok
[INFO] [stdout] test tests::builds_clippings_paths_for_root_and_documents_folder ... ok
[INFO] [stdout] test tests::parses_two_line_fixture_with_bom ... ok
[INFO] [stdout] test tests::writes_one_markdown_file_per_book ... ok
[INFO] [stdout] test tests::renders_grouped_markdown_with_metadata ... ok
[INFO] [stdout] test tests::parses_two_line_fixture_without_bom ... ok
[INFO] [stdout] test tests::renders_stats_summary_and_book_lines ... ok
[INFO] [stdout] test tests::renders_totals_only_stats ... ok
[INFO] [stdout] test tests::separates_books_with_markdown_rule ... ok
[INFO] [stdout] test tests::skips_malformed_chunks_in_fixture ... ok
[INFO] [stdout] test tests::parses_mixed_locale_date_variants_fixture ... ok
[INFO] [stdout] test tests::parses_one_line_fixture_without_page_metadata ... ok
[INFO] [stdout] test tests::groups_non_contiguous_entries_for_the_same_book_into_one_file ... ok
[INFO] [stdout] test tests::writes_single_markdown_file_to_output_directory ... ok
[INFO] [stdout] test tests::writes_single_markdown_file_to_explicit_file_path ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/kindle_to_markdown-233bfa2c1cef6b34)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test tests::defaults_discover_to_clippings_directory ... ok
[INFO] [stdout] test tests::accepts_multiple_files_with_merge ... ok
[INFO] [stdout] test tests::layout_mapping_matches_output_layout ... ok
[INFO] [stdout] test tests::defaults_single_layout_to_stdout_without_discover ... ok
[INFO] [stdout] test tests::parses_copy_raw_flag_with_path ... ok
[INFO] [stdout] test tests::parses_copy_raw_flag_without_value_as_auto ... ok
[INFO] [stdout] test tests::defaults_by_book_layout_to_clippings_directory ... ok
[INFO] [stdout] test tests::explicit_file_wins_over_implicit_stdin ... ok
[INFO] [stdout] test tests::cli_parses_positional_input_and_discover_flag ... ok
[INFO] [stdout] test tests::cli_parses_config_options ... ok
[INFO] [stdout] test tests::cli_parses_copy_raw_with_optional_path ... ok
[INFO] [stdout] test tests::cli_parses_multiple_inputs_for_merge ... ok
[INFO] [stdout] test tests::rejects_file_input_with_discover ... ok
[INFO] [stdout] test tests::rejects_multiple_files_without_merge ... ok
[INFO] [stdout] test tests::raw_destination_for_stdout_uses_clippings_directory ... ok
[INFO] [stdout] test tests::resolves_layout_from_settings_when_cli_is_absent ... ok
[INFO] [stdout] test tests::resolves_stats_format_from_settings_when_cli_is_absent ... ok
[INFO] [stdout] test tests::resolves_raw_copy_mode_from_settings_when_cli_is_absent ... ok
[INFO] [stdout] test tests::resolves_sort_key_from_settings_when_cli_is_absent ... ok
[INFO] [stdout] test tests::uses_discover_only_when_requested ... ok
[INFO] [stdout] test tests::rejects_explicit_raw_copy_directory_paths ... ok
[INFO] [stdout] test tests::stats_mapping_matches_library_stats_formats ... ok
[INFO] [stdout] test tests::resolves_auto_raw_copy_for_file_backed_input ... ok
[INFO] [stdout] test tests::sort_mapping_matches_library_sort_keys ... ok
[INFO] [stdout] test tests::uses_positional_input_when_given ... ok
[INFO] [stdout] test tests::resolves_dedupe_with_cli_override ... ok
[INFO] [stdout] test tests::prefers_stdin_when_present ... ok
[INFO] [stdout] test tests::rejects_auto_raw_copy_for_stdin ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stderr]      Running tests/cli_e2e.rs (/opt/rustwide/target/debug/deps/cli_e2e-c940e8fcc1aeb163)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test init_config_writes_defaulted_settings_to_explicit_path ... ok
[INFO] [stdout] test sort_by_date_uses_parsed_kindle_timestamps ... ok
[INFO] [stdout] test writes_markdown_to_stdout_and_stats_to_stderr_for_file_input ... ok
[INFO] [stdout] test dedupe_removes_duplicate_entries_from_output_and_stats ... ok
[INFO] [stdout] test cli_flags_override_settings_for_output_and_stats ... ok
[INFO] [stdout] test multiline_highlights_remain_blockquoted_in_cli_output ... ok
[INFO] [stdout] test explicit_config_path_controls_settings_lookup ... ok
[INFO] [stdout] test stats_totals_mode_omits_per_book_lines ... ok
[INFO] [stdout] test reads_stdin_when_no_input_path_is_given ... ok
[INFO] [stdout] test sort_by_location_reorders_entries_within_each_book ... ok
[INFO] [stdout] test stats_json_mode_writes_json_to_stderr ... ok
[INFO] [stdout] test writes_single_layout_output_to_non_markdown_file_path ... ok
[INFO] [stdout] test writes_one_markdown_file_per_book_to_output_directory ... ok
[INFO] [stdout] test merge_mode_combines_multiple_input_files ... ok
[INFO] [stdout] test cli_sort_and_dedupe_override_settings ... ok
[INFO] [stdout] test explicit_copy_raw_directory_path_fails_with_clear_error ... ok
[INFO] [stdout] test rejects_conflicting_file_and_discover_inputs ... ok
[INFO] [stdout] test merge_mode_rejects_copy_raw ... ok
[INFO] [stdout] test multiple_inputs_require_explicit_merge_mode ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kindle_to_markdown
[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" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6", kill_on_drop: false }`
[INFO] [stdout] cf79b295a482a731935a53b2eccad0d7c6478f7496802d2b442108dcc13e18a6
