[INFO] fetching crate convkit 0.5.1...
[INFO] testing convkit-0.5.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate convkit 0.5.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate convkit 0.5.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate convkit 0.5.1
[INFO] tweaked toml for crates.io crate convkit 0.5.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate convkit 0.5.1 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate convkit 0.5.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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | repository = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |              --------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `convkit` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943
[INFO] running `Command { std: "docker" "start" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", 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" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", 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" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | repository = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |              --------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `convkit` (manifest) generated 1 warning
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling portable-atomic v1.15.0
[INFO] [stderr]    Compiling indexmap v2.14.1
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling which v8.0.6
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling wild v2.2.1
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling convkit-core v0.5.1
[INFO] [stderr]    Compiling convkit v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 32s
[INFO] running `Command { std: "docker" "inspect" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", 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" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | repository = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |              --------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `convkit` (manifest) generated 1 warning
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling convkit-core v0.5.1
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling convkit v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 04s
[INFO] running `Command { std: "docker" "inspect" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", 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" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:68:12
[INFO] [stderr]    |
[INFO] [stderr] 68 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 | repository = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |              --------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `convkit` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/convkit/1c4675e5ae501c41/out/conv-1c4675e5ae501c41)
[INFO] [stdout] 
[INFO] [stdout] running 246 tests
[INFO] [stdout] test batch::tests::exit_code_is_zero_when_every_job_succeeds ... ok
[INFO] [stdout] test cli::tests::resolver_maps_every_flag_to_its_own_backend_override ... ok
[INFO] [stdout] test batch::tests::exit_code_is_batch_partial_failure_on_a_genuinely_mixed_result ... ok
[INFO] [stdout] test batch::tests::the_retry_label_names_the_attempt_and_how_far_over ... ok
[INFO] [stdout] test cli::tests::end_and_duration_conflict ... ok
[INFO] [stdout] test cli::tests::an_order_that_cannot_work_fails_the_check ... ok
[INFO] [stdout] test cli::tests::max_size_parses_and_rejects_a_bare_number ... ok
[INFO] [stdout] test batch::tests::a_step_message_carries_the_retry_label_when_there_is_one ... ok
[INFO] [stdout] test commands::convert::tests::failed_on_missing_backend_is_false_for_a_different_error_code ... ok
[INFO] [stdout] test cli::tests::max_size_and_crf_conflict ... ok
[INFO] [stdout] test commands::convert::tests::failed_on_missing_backend_matches_only_the_named_backend ... ok
[INFO] [stdout] test commands::convert::tests::available_for_skips_the_check_for_a_pair_with_no_fallback ... ok
[INFO] [stdout] test batch::tests::exit_code_uses_the_shared_error_code_when_every_job_fails_the_same_way ... ok
[INFO] [stdout] test commands::doctor::tests::a_string_exactly_at_width_is_not_truncated ... ok
[INFO] [stdout] test commands::doctor::tests::short_strings_pass_through_unchanged ... ok
[INFO] [stdout] test commands::install::tests::parse_backend_is_case_insensitive ... ok
[INFO] [stdout] test commands::install::tests::parse_backend_rejects_nonsense ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_finds_the_sole_backend_missing_failure ... ok
[INFO] [stdout] test commands::install::tests::success_envelope_installed_array_has_one_entry_when_nothing_is_bundled ... ok
[INFO] [stdout] test cli::tests::times_parse_including_ones_counted_from_the_end ... ok
[INFO] [stdout] test commands::install::tests::success_envelope_keeps_backend_and_path_and_adds_installed ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_is_none_when_two_different_backends_are_missing ... ok
[INFO] [stdout] test commands::install::tests::success_lines_human_names_the_requested_backend_first_regardless_of_vec_order ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_tolerates_repeats_of_the_same_backend ... ok
[INFO] [stdout] test commands::doctor::tests::a_long_real_ffmpeg_version_token_is_capped_at_the_column_width ... ok
[INFO] [stdout] test commands::update::tests::cargo_update_hint_installs_the_published_crate_with_a_locked_dependency_set ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_skips_the_probe_for_a_pair_that_can_never_remux ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_nonzero_when_a_managed_backend_is_outdated ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_is_none_when_nothing_failed_that_way ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_never_probes_an_input_that_is_not_a_local_file ... ok
[INFO] [stdout] test commands::install::tests::success_lines_human_reports_a_bundled_sibling ... ok
[INFO] [stdout] test commands::install::tests::success_lines_human_reports_just_the_one_binary_when_nothing_is_bundled ... ok
[INFO] [stdout] test commands::update::tests::a_stale_receipt_never_overrides_a_homebrew_path ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_zero_when_every_managed_backend_is_current ... ok
[INFO] [stdout] test commands::install::tests::parse_backend_recognises_every_canonical_exe_name ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_magick_as_unmanaged_on_every_platform ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_zero_when_a_managed_backend_was_never_installed ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_not_installed_when_a_managed_backend_is_absent_everywhere ... ok
[INFO] [stdout] test commands::update::tests::a_receipt_directory_containing_the_receipt_file_is_detected_as_a_dist_install ... ok
[INFO] [stdout] test commands::update::tests::detects_a_cargo_bin_install ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_soffice_as_unmanaged_and_not_installed_when_unresolvable ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_intel_cellar_prefix ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_through_a_symlink_via_canonicalization ... ok
[INFO] [stdout] test commands::update::tests::conv_self_report_always_reports_the_running_cargo_pkg_version ... ok
[INFO] [stdout] test commands::update::tests::dist_update_hint_points_at_the_readme_installer_one_liner ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_linuxbrew_prefix ... ok
[INFO] [stdout] test commands::update::tests::falls_back_to_unknown_for_an_unrecognised_location ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_opt_homebrew_prefix ... ok
[INFO] [stdout] test commands::update::tests::homebrew_update_hint_is_the_brew_upgrade_command_now_that_a_tap_exists ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_zero_when_a_managed_backend_resolves_only_externally ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_calls_the_installer_once_for_a_bundled_pair ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_leaves_an_already_current_backend_untouched ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_never_downloads_a_backend_that_was_simply_never_installed ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_never_touches_an_unmanaged_backends_report ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_records_a_failure_without_stopping_other_backends ... ok
[INFO] [stdout] test commands::update::tests::no_receipt_file_falls_through_to_the_ordinary_path_based_detection ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_reinstalls_an_outdated_backend ... ok
[INFO] [stdout] test commands::update::tests::update_exit_code_is_zero_when_nothing_errored ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_never_touches_an_external_backends_report ... ok
[INFO] [stdout] test commands::update::tests::scoop_update_hint_points_at_the_release_page_not_a_nonexistent_package ... ok
[INFO] [stdout] test commands::update::tests::update_exit_code_is_batch_partial_failure_for_a_mixed_result ... ok
[INFO] [stdout] test input::tests::a_batch_with_an_outdir_writes_there ... ok
[INFO] [stdout] test commands::update::tests::update_exit_code_is_nonzero_when_every_attempted_install_failed ... ok
[INFO] [stdout] test input::tests::a_clash_spelled_differently_is_still_kept_apart ... ok
[INFO] [stdout] test input::tests::a_cross_format_cut_keeps_its_ordinary_name ... ok
[INFO] [stdout] test input::tests::a_cut_batch_writes_into_a_folder_named_after_the_range ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_runs_ffprobe_on_a_pair_that_might_remux ... ok
[INFO] [stdout] test input::tests::a_derived_name_that_is_another_jobs_input_is_refused ... ok
[INFO] [stdout] test input::tests::a_cut_into_another_folder_still_names_its_range ... ok
[INFO] [stdout] test input::tests::a_derived_name_that_another_job_also_writes_keeps_them_apart ... ok
[INFO] [stdout] test input::tests::a_directory_in_the_output_position_is_rejected_not_expanded ... ok
[INFO] [stdout] test input::tests::a_lone_gif_or_avi_cannot_be_cut_into_itself_and_says_what_to_do ... ok
[INFO] [stdout] test input::tests::a_glob_conv_cannot_keep_is_told_a_format_it_can_strip_into ... ok
[INFO] [stdout] test input::tests::a_directory_with_a_non_pdf_output_positional_is_rejected ... ok
[INFO] [stdout] test input::tests::a_glob_the_shell_quoted_is_expanded_here ... ok
[INFO] [stdout] test input::tests::a_directory_under_max_size_keeps_same_format_files_but_not_its_own_results ... ok
[INFO] [stdout] test input::tests::a_dry_run_batch_does_not_create_the_subfolder ... ok
[INFO] [stdout] test input::tests::a_heic_beside_a_jpg_of_the_same_name_keeps_its_format ... ok
[INFO] [stdout] test batch::tests::run_each_hands_every_job_its_own_tuning ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_a_backend_resolved_outside_the_managed_dir_as_external_never_outdated ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_current_when_the_managed_dir_copy_matches_the_pin ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_an_unmanaged_backend_as_installed_when_it_resolves ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_outdated_when_the_managed_dir_copy_differs_from_the_pin ... ok
[INFO] [stdout] test input::tests::a_missing_input_and_output_is_an_invalid_invocation_not_an_unsupported_pair ... ok
[INFO] [stdout] test input::tests::a_path_with_no_wildcard_is_untouched ... ok
[INFO] [stdout] test input::tests::a_read_only_extension_is_accepted_as_an_input ... ok
[INFO] [stdout] test input::tests::a_pair_is_refused_only_when_its_output_exists_in_the_inputs_format ... ok
[INFO] [stdout] test input::tests::a_quoted_glob_matching_several_files_under_max_size_is_refused ... ok
[INFO] [stdout] test input::tests::a_pair_that_cannot_be_sized_is_not_told_to_add_to ... ok
[INFO] [stdout] test input::tests::a_lone_path_stripped_keeps_its_format_and_gains_a_suffix ... ok
[INFO] [stdout] test input::tests::a_lone_path_that_cannot_be_stripped_in_place_names_the_fix ... ok
[INFO] [stdout] test input::tests::a_multi_positional_invocation_that_is_not_a_valid_merge_is_an_invalid_invocation ... ok
[INFO] [stdout] test input::tests::a_range_and_a_size_both_go_in_the_name ... ok
[INFO] [stdout] test input::tests::a_read_only_extension_is_refused_in_every_output_slot ... ok
[INFO] [stdout] test input::tests::a_single_path_with_a_range_keeps_its_format_and_names_the_range ... ok
[INFO] [stdout] test input::tests::a_single_path_whose_format_cannot_be_sized_names_the_fix ... ok
[INFO] [stdout] test input::tests::a_single_path_with_max_size_keeps_its_container_and_gains_a_suffix ... ok
[INFO] [stdout] test input::tests::a_pattern_matching_nothing_is_left_alone ... ok
[INFO] [stdout] test input::tests::a_real_file_named_like_a_pattern_wins_over_globbing_it ... ok
[INFO] [stdout] test input::tests::a_single_directory_positional_without_to_is_rejected ... ok
[INFO] [stdout] test input::tests::bare_extension_shorthand_derives_the_output_name ... ok
[INFO] [stdout] test input::tests::an_explicit_output_equal_to_the_input_is_refused ... ok
[INFO] [stdout] test input::tests::an_explicitly_named_file_already_in_the_target_format_is_not_skipped ... ok
[INFO] [stdout] test input::tests::a_stripped_output_equal_to_the_input_is_refused ... ok
[INFO] [stdout] test input::tests::a_stripped_folder_keeps_same_format_files_but_not_earlier_results ... ok
[INFO] [stdout] test input::tests::directory_expansion_skips_files_already_in_the_target_format ... ok
[INFO] [stdout] test input::tests::an_output_landing_on_another_inputs_path_keeps_its_source_format ... ok
[INFO] [stdout] test input::tests::bare_extension_shorthand_typo_still_suggests_a_correction ... ok
[INFO] [stdout] test input::tests::colliding_basenames_under_outdir_are_rejected ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_reports_a_webm_video_knobs_missing_probe_as_the_real_error ... ok
[INFO] [stdout] test input::tests::a_stripped_folder_skips_target_files_it_cannot_keep ... ok
[INFO] [stdout] test commands::convert::tests::available_for_checks_availability_for_a_pair_with_a_fallback_recipe ... ok
[INFO] [stdout] test input::tests::distinct_stems_still_batch_cleanly_without_outdir ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_reads_the_image_a_jpg_targets_notes_depend_on ... ok
[INFO] [stdout] test input::tests::dot_dot_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::dot_backslash_relative_path_is_not_bare_extension_shorthand ... ok
[INFO] [stdout] test input::tests::dot_slash_relative_path_is_not_bare_extension_shorthand ... ok
[INFO] [stdout] test input::tests::natural_cmp_orders_numeric_runs_by_value_not_first_digit ... ok
[INFO] [stdout] test input::tests::many_images_and_a_pdf_become_one_merge_job ... ok
[INFO] [stdout] test input::tests::plan_jobs_does_not_create_the_outdir_under_dry_run ... ok
[INFO] [stdout] test input::tests::plan_jobs_creates_the_outdir_when_it_does_not_exist ... ok
[INFO] [stdout] test input::tests::a_quoted_glob_matching_one_file_under_max_size_is_the_single_form ... ok
[INFO] [stdout] test batch::tests::run_stamps_elapsed_ms_and_carries_the_target_format ... ok
[INFO] [stdout] test input::tests::several_paths_under_max_size_without_to_name_the_fix ... ok
[INFO] [stdout] test input::tests::same_format_paths_without_to_are_told_to_add_it ... ok
[INFO] [stdout] test input::tests::plan_jobs_reports_invalid_invocation_when_the_outdir_cannot_be_created ... ok
[INFO] [stdout] test input::tests::plan_jobs_tolerates_an_outdir_that_already_exists ... ok
[INFO] [stdout] test input::tests::relative_and_absolute_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::outdir_redirects_outputs ... ok
[INFO] [stdout] test input::tests::a_sized_batch_writes_into_a_subfolder ... ok
[INFO] [stdout] test input::tests::plan_jobs_expands_a_directory_of_scans_in_natural_page_order ... ok
[INFO] [stdout] test input::tests::same_stem_inputs_of_two_formats_keep_their_source_format ... ok
[INFO] [stdout] test input::tests::symlinked_directory_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::outdir_matching_the_scanned_directory_still_converts_fresh_input ... ok
[INFO] [stdout] test input::tests::parent_relative_path_is_not_bare_extension_shorthand ... ok
[INFO] [stdout] test input::tests::same_stem_inputs_collide_even_without_outdir ... ok
[INFO] [stdout] test input::tests::the_ext_shorthand_is_derived_and_so_is_suffixed ... ok
[INFO] [stdout] test input::tests::the_single_form_suggests_to_mp4_only_where_it_would_work ... ok
[INFO] [stdout] test input::tests::the_output_positional_is_never_globbed ... ok
[INFO] [stdout] test install_prompt::tests::prompt_message_names_the_bundled_sibling_on_windows_x64 ... ok
[INFO] [stdout] test install_prompt::tests::quiet_mode_never_installs_even_with_yes ... ok
[INFO] [stdout] test install_prompt::tests::soffice_is_never_offerable ... ok
[INFO] [stdout] test install_prompt::tests::no_install_always_wins_even_with_yes_also_set ... ok
[INFO] [stdout] test install_prompt::tests::plain_no_install_flag_refuses_a_managed_backend_too ... ok
[INFO] [stdout] test input::tests::to_flag_makes_one_job_per_input ... ok
[INFO] [stdout] test install_prompt::tests::prompt_message_has_no_bundle_note_when_nothing_is_bundled ... ok
[INFO] [stdout] test input::tests::with_the_inputs_own_directory_as_outdir_the_name_is_suffixed ... ok
[INFO] [stdout] test input::tests::without_max_size_a_single_path_is_still_an_incomplete_invocation ... ok
[INFO] [stdout] test input::tests::the_glob_refusal_suggests_the_pattern_own_container_when_it_can_be_sized ... ok
[INFO] [stdout] test input::tests::two_clips_of_one_format_without_to_are_refused_with_the_fix ... ok
[INFO] [stdout] test install_prompt::tests::json_mode_never_installs_even_with_yes ... ok
[INFO] [stdout] test input::tests::two_positionals_are_a_single_pair_not_a_merge ... ok
[INFO] [stdout] test install_prompt::tests::yes_proceeds_without_prompting_when_a_managed_build_exists ... ok
[INFO] [stdout] test install_prompt::tests::magick_is_never_offerable_on_any_platform ... ok
[INFO] [stdout] test prompt::tests::who_answers_the_extreme_question ... ok
[INFO] [stdout] test render::tests::a_note_already_shown_is_not_printed_again ... ok
[INFO] [stdout] test render::tests::a_cut_result_reports_its_range_and_others_do_not ... ok
[INFO] [stdout] test render::tests::a_path_with_a_space_keeps_its_real_backslashes ... ok
[INFO] [stdout] test render::tests::a_suggested_command_swaps_only_the_size ... ok
[INFO] [stdout] test render::tests::an_embedded_quote_is_escaped_the_way_the_host_shell_spells_it ... ok
[INFO] [stdout] test render::tests::batch_summary_counts_a_genuine_conversion_failure_as_failed ... ok
[INFO] [stdout] test render::tests::batch_summary_counts_output_exists_as_skipped_not_failed ... ok
[INFO] [stdout] test render::tests::batch_summary_unstyled_has_no_escape_codes ... ok
[INFO] [stdout] test input::tests::with_an_outdir_elsewhere_the_name_is_kept ... ok
[INFO] [stdout] test render::tests::a_batch_hint_names_the_file_and_leaves_the_command_out ... ok
[INFO] [stdout] test render::tests::a_combining_mark_survives_as_itself ... ok
[INFO] [stdout] test render::tests::failure_unstyled_is_plain_ascii_using_an_ascii_arrow ... ok
[INFO] [stdout] test input::tests::with_max_size_too_the_size_names_the_output ... ok
[INFO] [stdout] test render::tests::human_elapsed_shows_one_decimal_below_a_minute ... ok
[INFO] [stdout] test render::tests::a_suggestion_follows_an_extreme_result ... ok
[INFO] [stdout] test render::tests::human_elapsed_switches_to_minutes_and_seconds_at_a_minute ... ok
[INFO] [stdout] test render::tests::styling_needs_both_a_terminal_and_a_console_that_reads_ansi ... ok
[INFO] [stdout] test render::tests::human_size_uses_whole_kb_below_one_mb ... ok
[INFO] [stdout] test render::tests::success_demotes_a_warning_onto_its_own_note_line ... ok
[INFO] [stdout] test render::tests::ordinary_flags_and_names_are_left_bare ... ok
[INFO] [stdout] test render::tests::success_names_a_lossless_remux_on_the_result_line ... ok
[INFO] [stdout] test render::tests::json_carries_the_sizing_report_only_when_sized ... ok
[INFO] [stdout] test render::tests::failure_prefers_the_managed_remediation_over_the_manual_one ... ok
[INFO] [stdout] test render::tests::human_size_matches_the_briefs_worked_example ... ok
[INFO] [stdout] test render::tests::ansi_support_is_decided_once_and_stays_decided ... ok
[INFO] [stdout] test render::tests::the_extreme_block_names_files_only_when_there_are_several ... ok
[INFO] [stdout] test render::tests::the_gif_filter_graph_is_quoted_even_though_it_has_no_spaces ... ok
[INFO] [stdout] test trim::clips::tests::fractions_and_the_start_of_the_file_are_named_plainly ... ok
[INFO] [stdout] test render::tests::an_empty_token_is_quoted_rather_than_vanishing ... ok
[INFO] [stdout] test render::tests::a_sized_result_shows_its_size_in_the_targets_units ... ok
[INFO] [stdout] test render::tests::a_suggested_command_leaves_out_yes ... ok
[INFO] [stdout] test trim::clips::tests::what_conv_trim_cannot_cut_is_refused_with_what_to_do ... ok
[INFO] [stdout] test trim::clips::tests::an_audio_file_keeps_its_own_format ... ok
[INFO] [stdout] test trim::clips::tests::a_gif_with_to_mp4_is_cut ... ok
[INFO] [stdout] test trim::draw::tests::a_terminal_too_small_says_the_size_it_needs_and_any_question ... ok
[INFO] [stdout] test trim::draw::tests::an_odd_last_row_has_no_bottom_pixel ... ok
[INFO] [stdout] test trim::draw::tests::a_picture_that_does_not_fill_its_last_cells_still_draws ... ok
[INFO] [stdout] test trim::clips::tests::an_audio_to_keeps_only_sound ... ok
[INFO] [stdout] test render::tests::ansi_is_always_supported_off_windows ... ok
[INFO] [stdout] test trim::clips::tests::an_outdir_holds_the_clips ... ok
[INFO] [stdout] test render::tests::success_output_is_never_more_than_four_lines ... ok
[INFO] [stdout] test trim::clips::tests::to_gif_writes_every_picture_clip_as_a_gif_and_sound_as_m4a ... ok
[INFO] [stdout] test trim::draw::tests::each_sextant_shape_has_its_character ... ok
[INFO] [stdout] test render::tests::batch_summary_shows_a_representative_output_location ... ok
[INFO] [stdout] test render::tests::success_unstyled_is_plain_ascii_with_no_escape_codes ... ok
[INFO] [stdout] test render::tests::success_styled_has_the_check_glyph_ansi_and_the_absolute_path ... ok
[INFO] [stdout] test trim::draw::tests::ansi256_picks_the_nearest_cube_or_grey ... ok
[INFO] [stdout] test trim::draw::tests::column_times_split_the_view_evenly ... ok
[INFO] [stdout] test trim::clips::tests::a_clip_of_a_video_keeps_what_its_bar_chose ... ok
[INFO] [stdout] test render::tests::failure_styled_has_the_cross_glyph_and_arrow ... ok
[INFO] [stdout] test trim::draw::tests::half_blocks_draw_two_pixels_a_cell ... ok
[INFO] [stdout] test trim::draw::tests::the_picture_fills_what_the_text_leaves_keeping_its_shape ... ok
[INFO] [stdout] test trim::session::tests::a_clip_needs_a_length_and_is_marked_once ... ok
[INFO] [stdout] test trim::session::tests::a_clip_that_cannot_be_written_is_dropped_with_the_reason ... ok
[INFO] [stdout] test trim::session::tests::a_file_with_one_kind_of_stream_has_one_bar_and_nothing_to_select ... ok
[INFO] [stdout] test trim::session::tests::a_tap_moves_ten_milliseconds ... ok
[INFO] [stdout] test trim::session::tests::every_move_of_the_slider_bumps_the_generation ... ok
[INFO] [stdout] test trim::session::tests::frame_keys_land_on_the_frames_themselves ... ok
[INFO] [stdout] test trim::draw::tests::iterm_sends_the_png_inline_at_a_width_in_cells ... ok
[INFO] [stdout] test trim::draw::tests::loudness_columns_average_their_buckets_and_wait_for_the_rest ... ok
[INFO] [stdout] test trim::draw::tests::quiet_columns_are_drawn_as_dots ... ok
[INFO] [stdout] test trim::draw::tests::kitty_clears_then_sends_rgb_in_chunks_asking_for_no_reply ... ok
[INFO] [stdout] test trim::draw::tests::six_pixels_are_split_into_the_two_colours_that_fit_them_best ... ok
[INFO] [stdout] test trim::draw::tests::sextants_draw_six_pixels_a_cell ... ok
[INFO] [stdout] test trim::draw::tests::the_256_colour_palette_is_used_without_truecolor ... ok
[INFO] [stdout] test trim::session::tests::keys_arriving_together_move_a_tap_each ... ok
[INFO] [stdout] test trim::draw::tests::the_bars_show_the_slider_and_each_clip_on_what_it_keeps ... ok
[INFO] [stdout] test trim::session::tests::page_keys_move_a_tenth_of_the_view_and_frame_keys_a_frame ... ok
[INFO] [stdout] test trim::session::tests::q_quits_at_once_with_nothing_to_lose_and_asks_otherwise ... ok
[INFO] [stdout] test trim::draw::tests::the_header_names_the_file ... ok
[INFO] [stdout] test trim::session::tests::the_view_follows_the_slider ... ok
[INFO] [stdout] test trim::session::tests::w_writes_only_finished_clips ... ok
[INFO] [stdout] test trim::session::tests::turning_round_or_pausing_starts_a_new_tap ... ok
[INFO] [stdout] test trim::session::tests::zoom_halves_around_the_slider_and_stops_at_two_seconds ... ok
[INFO] [stdout] test trim::session::tests::a_message_from_outside_shows_until_the_next_key ... ok
[INFO] [stdout] test trim::term::tests::graphics_overrides_what_the_environment_says ... ok
[INFO] [stdout] test trim::session::tests::c_marks_a_start_then_an_end_with_what_the_selection_keeps ... ok
[INFO] [stdout] test trim::term::tests::keys_map_to_what_they_do ... ok
[INFO] [stdout] test trim::tests::a_file_with_nothing_in_it_is_refused_as_that_not_for_its_length ... ok
[INFO] [stdout] test trim::session::tests::up_down_highlight_a_bar_and_enter_selects_it ... ok
[INFO] [stdout] test trim::tests::the_picture_is_grabbed_at_the_size_it_is_drawn ... ok
[INFO] [stdout] test trim::session::tests::the_replace_question_takes_the_next_key ... ok
[INFO] [stdout] test trim::session::tests::the_slider_stays_in_the_file ... ok
[INFO] [stdout] test trim::tests::a_clip_is_checked_as_the_flags_would_check_it ... ok
[INFO] [stdout] test trim::tests::w_refuses_two_clips_that_would_write_one_file ... ok
[INFO] [stdout] test trim::term::tests::the_terminal_is_told_from_its_environment ... ok
[INFO] [stdout] test trim::session::tests::escape_drops_the_open_mark_and_u_undoes ... ok
[INFO] [stdout] test trim::session::tests::holding_moves_two_seconds_a_second_whatever_the_repeat_rate ... ok
[INFO] [stdout] test trim::tests::w_asks_before_replacing_files_already_there ... ok
[INFO] [stdout] test trim::session::tests::with_the_picture_alone_a_clip_with_the_picture_keeps_only_that ... ok
[INFO] [stdout] test trim::tests::a_batch_of_events_ends_on_time_however_many_are_waiting ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/release/build/convkit/6cc2276d2f132426/out/cli-6cc2276d2f132426)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 246 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 114 tests
[INFO] [stdout] test a_batch_cut_fails_only_the_file_too_short_for_it ... ignored
[INFO] [stdout] test a_negative_frame_rate_is_refused_by_the_argument_parser_before_the_validator ... ok
[INFO] [stdout] test a_real_failing_conversion_writes_nothing_to_stdout_and_reports_on_stderr ... ok
[INFO] [stdout] test a_large_percentage_upscale_without_yes_writes_nothing_and_says_why ... ok
[INFO] [stdout] test a_range_on_an_image_is_refused_by_name ... ok
[INFO] [stdout] test a_malformed_time_names_the_forms_that_work ... ok
[INFO] [stdout] test a_conversion_only_flag_after_a_subcommand_is_rejected ... ok
[INFO] [stdout] test a_nonsense_frame_rate_is_refused_with_the_forms_named ... ok
[INFO] [stdout] test a_job_whose_output_exists_is_not_asked_about ... ok
[INFO] [stdout] test a_frame_rate_accepts_integers_decimals_and_rationals ... ok
[INFO] [stdout] test a_sized_dry_run_shows_both_passes_and_the_plan ... ok
[INFO] [stdout] test a_sized_dry_run_of_an_extreme_source_warns_and_suggests ... ok
[INFO] [stdout] test an_existing_same_format_output_is_refused_under_max_size_even_with_y ... ok
[INFO] [stdout] test an_existing_same_format_output_that_cannot_be_sized_is_refused_by_the_flag ... ok
[INFO] [stdout] test an_upscaled_image_dry_run_drops_the_shrink_only_flag_and_warns ... ok
[INFO] [stdout] test a_webm_knob_with_no_ffprobe_names_ffprobe_not_a_false_refusal ... ok
[INFO] [stdout] test capabilities_and_scan_agree_on_the_kind_spelling ... ok
[INFO] [stdout] test capabilities_advertises_the_video_chain_flags_for_webm_targets ... ok
[INFO] [stdout] test capabilities_json_lists_pairs_with_their_backends ... ok
[INFO] [stdout] test capabilities_lists_max_size_for_video_targets_only ... ok
[INFO] [stdout] test capabilities_lists_strip_metadata_where_it_applies ... ok
[INFO] [stdout] test a_json_refusal_is_confirmation_required_with_no_human_block ... ok
[INFO] [stdout] test capabilities_lists_the_video_knobs_for_a_video_target ... ok
[INFO] [stdout] test a_batch_with_extreme_jobs_asks_once_and_writes_nothing ... ok
[INFO] [stdout] test capabilities_no_longer_advertises_quality_for_video ... ok
[INFO] [stdout] test capabilities_lists_the_range_flags_where_a_cut_works ... ok
[INFO] [stdout] test conv_trim_asks_before_replacing_a_clip_already_there ... ignored
[INFO] [stdout] test conv_trim_quits_without_writing_when_asked ... ignored
[INFO] [stdout] test conv_trim_refuses_a_file_without_a_length ... ignored
[INFO] [stdout] test a_start_after_the_end_is_a_usage_error ... ok
[INFO] [stdout] test capabilities_say_max_size_keeps_the_tracks_the_mp4_recipe_drops ... ok
[INFO] [stdout] test conv_trim_takes_ctrl_c_and_held_arrows_as_keys ... ignored
[INFO] [stdout] test conv_trim_refuses_an_outdir_that_is_a_file_before_the_session ... ok
[INFO] [stdout] test conv_trim_writes_the_clips_marked_in_a_real_terminal ... ignored
[INFO] [stdout] test conv_trim_without_a_terminal_points_at_the_flags ... ok
[INFO] [stdout] test an_extreme_target_without_yes_writes_nothing_and_says_why ... ok
[INFO] [stdout] test a_zero_dimension_geometry_is_refused ... ok
[INFO] [stdout] test an_argument_that_is_not_utf8_does_not_break_the_extreme_warning ... ok
[INFO] [stdout] test defaults_are_per_target_because_one_format_has_several ... ok
[INFO] [stdout] test capabilities_lists_upscale_wherever_it_lists_resize ... ok
[INFO] [stdout] test dot_extension_form_derives_the_output_name ... ok
[INFO] [stdout] test dry_run_exits_with_the_underlying_code_when_every_job_fails ... ok
[INFO] [stdout] test dry_run_previews_every_job_even_when_one_fails_to_build ... ok
[INFO] [stdout] test capabilities_with_a_format_lists_tuning_flags_and_defaults ... ok
[INFO] [stdout] test a_large_upscale_dry_run_warns_and_never_asks ... ok
[INFO] [stdout] test dry_run_previews_the_pandoc_typst_fallback_when_soffice_path_is_unresolvable ... ok
[INFO] [stdout] test dry_run_prints_the_expert_ffmpeg_command ... ok
[INFO] [stdout] test dry_run_still_previews_soffice_when_it_is_available_even_alongside_pandoc_and_typst ... ok
[INFO] [stdout] test a_confirmed_extreme_conversion_prints_its_warning_once ... ok
[INFO] [stdout] test a_png_target_notes_only_a_multi_frame_source ... ok
[INFO] [stdout] test help_carries_no_notes_meant_for_the_source ... ok
[INFO] [stdout] test failing_conversion_prints_a_fail_header_message_and_one_remediation_line ... ok
[INFO] [stdout] test a_sized_json_dry_run_carries_the_choice ... ok
[INFO] [stdout] test install_rejects_an_unrecognised_backend_name ... ok
[INFO] [stdout] test install_magick_reports_no_managed_build_on_every_platform ... ok
[INFO] [stdout] test install_soffice_json_refusal_has_no_managed_remediation ... ok
[INFO] [stdout] test an_argument_that_is_not_utf8_does_not_break_the_result_printer ... ok
[INFO] [stdout] test json_dry_run_reports_a_per_job_plan_failure_inside_the_plans_array_not_stderr ... ok
[INFO] [stdout] test dry_run_strips_a_lone_photo_into_a_stripped_copy ... ok
[INFO] [stdout] test install_soffice_refuses_without_attempting_a_download ... ok
[INFO] [stdout] test dry_run_of_an_extreme_source_plans_without_asking ... ok
[INFO] [stdout] test json_error_envelope_lands_on_stderr_when_no_job_could_be_built_at_all ... ok
[INFO] [stdout] test json_dry_run_reports_ok_and_the_first_step_program ... ok
[INFO] [stdout] test conv_trim_refuses_what_it_cannot_cut_before_anything_else ... ok
[INFO] [stdout] test max_size_with_an_output_equal_to_the_input_is_refused_even_with_y ... ok
[INFO] [stdout] test max_size_on_a_gif_target_is_refused_by_name ... ok
[INFO] [stdout] test max_size_without_a_unit_is_a_usage_error ... ok
[INFO] [stdout] test quiet_flag_never_prompts_either ... ok
[INFO] [stdout] test scan_honours_quiet ... ok
[INFO] [stdout] test piped_stdin_never_prompts_and_reports_the_structured_error ... ok
[INFO] [stdout] test scan_json_keeps_the_listing_when_one_path_is_missing ... ok
[INFO] [stdout] test scan_json_reports_failure_in_the_envelope_not_only_the_exit_code ... ok
[INFO] [stdout] test a_batch_of_large_upscales_asks_once_and_names_each ... ok
[INFO] [stdout] test quiet_suppresses_success_output_entirely ... ok
[INFO] [stdout] test resize_geometry_rejects_magick_operators ... ok
[INFO] [stdout] test json_mode_never_prompts_on_a_missing_backend ... ok
[INFO] [stdout] test scan_still_lists_what_it_found_alongside_a_missing_path ... ok
[INFO] [stdout] test scan_lists_convertible_files_with_their_targets ... ok
[INFO] [stdout] test scan_json_uses_the_types_own_kind_spelling ... ok
[INFO] [stdout] test scan_reports_a_missing_path_instead_of_describing_it ... ok
[INFO] [stdout] test json_success_is_unchanged_except_for_the_additive_elapsed_ms_key ... ok
[INFO] [stdout] test scan_needs_no_backends ... ok
[INFO] [stdout] test subcommand_help_never_lists_conversion_only_flags ... ok
[INFO] [stdout] test several_videos_under_max_size_without_to_are_told_to_add_to ... ok
[INFO] [stdout] test scan_truncates_an_overlong_name_instead_of_breaking_the_columns ... ok
[INFO] [stdout] test top_level_help_lists_the_update_subcommand ... ok
[INFO] [stdout] test the_conversion_path_still_accepts_every_conversion_only_flag ... ok
[INFO] [stdout] test tuning_flags_appear_in_the_dry_run_command ... ok
[INFO] [stdout] test successful_conversion_prints_result_line_and_the_absolute_output_path ... ok
[INFO] [stdout] test subcommand_help_still_lists_the_genuinely_global_flags ... ok
[INFO] [stdout] test unsupported_pair_exits_two ... ok
[INFO] [stdout] test no_install_flag_never_prompts_even_though_it_would_otherwise_be_offerable ... ok
[INFO] [stdout] test tuning_without_a_slot_is_refused_with_the_reason ... ok
[INFO] [stdout] test scan_json_reports_each_file_with_its_targets ... ok
[INFO] [stdout] test update_check_json_reports_a_never_installed_backend_as_not_installed_and_ok ... ok
[INFO] [stdout] test update_check_reports_every_managed_backend_as_not_installed_in_an_isolated_environment ... ok
[INFO] [stdout] test unknown_extension_exits_two_and_suggests ... ok
[INFO] [stdout] test update_no_install_behaves_like_check_and_never_downloads ... ok
[INFO] [stdout] test update_help_explains_the_pinned_not_latest_design_and_no_self_replace ... ok
[INFO] [stdout] test upscale_needs_resize_and_cannot_join_max_size ... ok
[INFO] [stdout] test yes_and_no_install_together_is_a_usage_error ... ok
[INFO] [stdout] test verbose_and_quiet_together_is_a_usage_error ... ok
[INFO] [stdout] test four_times_the_pixels_warns_without_asking ... ok
[INFO] [stdout] test yes_answers_the_extreme_question_and_the_conversion_starts ... ok
[INFO] [stdout] test update_check_json_envelope_lands_on_stderr_when_a_managed_backend_is_outdated ... ok
[INFO] [stdout] test verbose_prints_the_spawned_command_line_on_stderr ... ok
[INFO] [stdout] test a_large_upscale_asks_and_yes_answers_it ... ok
[INFO] [stdout] test scan_json_survives_a_closed_pipe ... ok
[INFO] [stdout] test the_gif_buffering_note_shows_only_for_a_long_source ... ok
[INFO] [stdout] test doctor_reports_every_backend_and_never_exits_nonzero_for_missing_ones ... ok
[INFO] [stdout] test doctor_json_marks_libreoffice_as_manual_install_only ... ok
[INFO] [stdout] test doctor_json_marks_imagemagick_as_manual_install_only ... ok
[INFO] [stdout] test strip_metadata_is_refused_where_it_cannot_apply ... ok
[INFO] [stdout] test a_jpg_targets_note_says_only_what_the_source_holds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 108 passed; 0 failed; 6 ignored; 0 measured; 0 filtered out; finished in 1.68s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943", kill_on_drop: false }`
[INFO] [stdout] 2e3faed85310fb4549adcf3b5154cf40f6243f70686dcbbf0d57a28988c69943
