[INFO] fetching crate convkit-core 0.5.1...
[INFO] testing convkit-core-0.5.1 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate convkit-core 0.5.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate convkit-core 0.5.1
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate convkit-core 0.5.1
[INFO] tweaked toml for crates.io crate convkit-core 0.5.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate convkit-core 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-core 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:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 | 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-core` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae
[INFO] running `Command { std: "docker" "start" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", 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" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae" "/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" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", 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" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae" "/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:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 | 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-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling which v8.0.6
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling tar v0.4.46
[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 synstructure v0.13.2
[INFO] [stderr]    Compiling thiserror v2.0.20
[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 v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core 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 ureq v2.12.1
[INFO] [stderr]    Compiling convkit-core v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 43.23s
[INFO] running `Command { std: "docker" "inspect" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", 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" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae" "/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:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 | 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-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling convkit-core v0.5.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 50.49s
[INFO] running `Command { std: "docker" "inspect" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", 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" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae" "/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:59:12
[INFO] [stderr]    |
[INFO] [stderr] 59 | homepage = "https://github.com/shdwfruit/convkit"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 | 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-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/convkit-core/82b2e13bd0c8a9bf/out/convkit_core-82b2e13bd0c8a9bf)
[INFO] [stdout] 
[INFO] [stdout] running 662 tests
[INFO] [stdout] test backend_overrides::tests::a_nonexistent_override_errors_instead_of_falling_through ... ok
[INFO] [stdout] test backend_overrides::tests::ffprobe_alone_overrides_only_ffprobe ... ok
[INFO] [stdout] test backend_overrides::tests::ffmpeg_alone_still_infers_the_sibling_ffprobe ... ok
[INFO] [stdout] test backend_overrides::tests::each_override_lands_on_exactly_its_own_backend ... ok
[INFO] [stdout] test backend_overrides::tests::explicit_ffprobe_wins_over_the_ffmpeg_sibling_inference ... ok
[INFO] [stdout] test backend_overrides::tests::an_inferred_ffprobe_sibling_that_does_not_exist_also_errors ... ok
[INFO] [stdout] test budget::tests::a_very_short_clip_under_a_normal_target_is_left_alone ... ok
[INFO] [stdout] test backend_overrides::tests::no_overrides_behaves_exactly_like_a_bare_resolver ... ok
[INFO] [stdout] test budget::tests::a_binding_user_ceiling_is_not_charged_as_loss ... ok
[INFO] [stdout] test budget::tests::a_cap_leaves_out_larger_pictures_and_is_charged_as_loss ... ok
[INFO] [stdout] test budget::tests::a_portrait_source_steps_its_short_side_and_stays_portrait ... ok
[INFO] [stdout] test budget::tests::a_ceiling_far_below_the_source_does_not_overflow_the_search ... ok
[INFO] [stdout] test budget::tests::a_target_near_u64_max_does_not_overflow ... ok
[INFO] [stdout] test budget::tests::a_generous_target_keeps_the_source_as_it_is ... ok
[INFO] [stdout] test budget::tests::a_target_that_can_never_be_met_has_no_suggestion_and_no_overflow ... ok
[INFO] [stdout] test budget::tests::computed_dimensions_round_to_the_nearest_even_value ... ok
[INFO] [stdout] test budget::tests::audio_tracks_are_counted_and_a_silent_source_gets_no_audio_rate ... ok
[INFO] [stdout] test budget::tests::from_probe_refuses_a_zero_dimension ... ok
[INFO] [stdout] test budget::tests::loss_is_spread_rather_than_drained_from_one_dial ... ok
[INFO] [stdout] test budget::tests::a_choice_publishes_its_rate_in_lowest_terms ... ok
[INFO] [stdout] test budget::tests::ntsc_and_variable_rates_divide_exactly ... ok
[INFO] [stdout] test budget::tests::a_hopeless_target_is_extreme_over_and_suggests_a_size_that_is_not ... ok
[INFO] [stdout] test budget::tests::a_starved_144_fps_clip_does_not_keep_144_fps ... ok
[INFO] [stdout] test budget::tests::a_larger_target_never_costs_more ... ok
[INFO] [stdout] test budget::tests::audio_is_never_raised_above_the_source ... ok
[INFO] [stdout] test budget::tests::nothing_is_ever_upscaled_or_sped_up ... ok
[INFO] [stdout] test budget::tests::the_achieved_video_rate_is_the_file_less_its_audio_and_reserve ... ok
[INFO] [stdout] test budget::tests::the_next_short_side_below_is_the_next_step_down ... ok
[INFO] [stdout] test error::tests::serialises_to_the_documented_json_envelope ... ok
[INFO] [stdout] test error::tests::backend_missing_never_leaves_remediation_empty ... ok
[INFO] [stdout] test error::tests::backend_missing_never_offers_managed_install_when_no_manifest_entry_exists ... ok
[INFO] [stdout] test budget::tests::user_ceilings_are_respected ... ok
[INFO] [stdout] test error::tests::unknown_format_carries_a_suggestion_in_its_message ... ok
[INFO] [stdout] test error::tests::unsupported_pair_names_both_formats ... ok
[INFO] [stdout] test budget::tests::raising_a_weight_protects_that_dial ... ok
[INFO] [stdout] test error::tests::not_installable_never_offers_a_managed_install ... ok
[INFO] [stdout] test error::tests::no_managed_build_never_offers_a_managed_install_either ... ok
[INFO] [stdout] test error::tests::password_protected_names_the_file_and_the_way_out ... ok
[INFO] [stdout] test budget::tests::the_payload_reserves_margin_overhead_subtitles_and_mkv_attachments ... ok
[INFO] [stdout] test error::tests::exit_codes_match_the_spec ... ok
[INFO] [stdout] test exec::tests::a_genuine_stream_copy_is_still_reported_as_one ... ok
[INFO] [stdout] test error::tests::confirmation_required_has_a_stable_json_name ... ok
[INFO] [stdout] test exec::tests::a_password_protected_doc_that_fails_says_so ... FAILED
[INFO] [stdout] test exec::tests::a_password_protected_docx_is_refused_before_libreoffice_runs ... FAILED
[INFO] [stdout] test budget::tests::a_picture_capped_144_fps_clip_does_not_keep_144_fps ... ok
[INFO] [stdout] test exec::tests::a_mid_recipe_failure_leaves_no_scratch_directory_behind ... ok
[INFO] [stdout] test budget::tests::no_capped_choice_is_larger_than_its_cap ... ok
[INFO] [stdout] test exec::tests::a_conversion_says_when_it_keeps_a_gps_location ... ok
[INFO] [stdout] test budget::tests::from_probe_names_what_is_missing ... ok
[INFO] [stdout] test error::tests::backend_missing_offers_managed_install_for_managed_backends ... ok
[INFO] [stdout] test exec::tests::a_backend_that_writes_nothing_is_a_failure_even_on_exit_zero ... ok
[INFO] [stdout] test exec::tests::a_first_pass_that_writes_no_file_and_exits_zero_is_a_success ... ok
[INFO] [stdout] test exec::tests::a_fallback_encode_that_is_extreme_is_refused_unless_allowed ... ok
[INFO] [stdout] test exec::tests::a_read_only_source_is_copied_to_a_writable_output ... ok
[INFO] [stdout] test exec::tests::a_remux_that_fits_is_one_ffmpeg_call_and_says_the_video_was_copied ... ok
[INFO] [stdout] test exec::tests::a_fallback_encode_that_writes_nothing_fails_rather_than_reusing_the_remux ... ok
[INFO] [stdout] test exec::tests::a_retry_that_would_turn_extreme_waits_for_consent ... ok
[INFO] [stdout] test exec::tests::a_first_pass_that_exits_nonzero_fails_the_run_as_a_failure ... ok
[INFO] [stdout] test exec::tests::a_shrinking_upscale_warns_nothing ... ok
[INFO] [stdout] test exec::tests::a_strip_without_ffprobe_says_to_install_it ... ok
[INFO] [stdout] test exec::tests::a_source_already_small_enough_is_copied_byte_for_byte ... ok
[INFO] [stdout] test exec::tests::a_cost_extreme_plan_keeps_its_quality_note_when_the_encode_fits ... ok
[INFO] [stdout] test exec::tests::a_transcoded_invocation_is_not_reported_as_a_stream_copy ... ok
[INFO] [stdout] test exec::tests::a_webm_knob_with_no_ffprobe_reports_backend_missing_naming_ffprobe ... ok
[INFO] [stdout] test exec::tests::a_saturated_attempt_makes_the_next_picture_smaller ... ok
[INFO] [stdout] test exec::tests::an_empty_stderr_tail_adds_nothing_to_the_message ... ok
[INFO] [stdout] test exec::tests::a_large_upscale_is_refused_unless_allowed_and_nothing_runs ... ok
[INFO] [stdout] test exec::tests::a_sized_encode_that_fits_first_time_runs_two_passes ... ok
[INFO] [stdout] test exec::tests::a_successful_step_renames_into_place_and_reports_size ... ok
[INFO] [stdout] test exec::tests::a_retry_that_turns_extreme_runs_with_consent_and_says_so ... ok
[INFO] [stdout] test exec::tests::an_ordinary_step_is_left_in_plain_path_form ... ok
[INFO] [stdout] test exec::tests::a_retry_stops_at_the_encoder_floor_rather_than_repeating_an_attempt ... ok
[INFO] [stdout] test exec::tests::an_extreme_plan_is_refused_unless_allowed_and_nothing_runs ... ok
[INFO] [stdout] test exec::tests::a_remux_that_comes_out_over_falls_back_to_an_encode ... ok
[INFO] [stdout] test exec::tests::classifier_dedups_and_caps_with_an_honest_overflow_count ... ok
[INFO] [stdout] test exec::tests::a_retried_pass_two_that_writes_nothing_fails_rather_than_reusing_the_last_file ... ok
[INFO] [stdout] test exec::tests::a_jpg_targets_note_follows_the_image_read ... ok
[INFO] [stdout] test exec::tests::a_size_retry_event_carries_the_attempt_and_the_measurement ... ok
[INFO] [stdout] test exec::tests::an_unencrypted_doc_that_fails_keeps_the_ordinary_error ... ok
[INFO] [stdout] test exec::tests::ffmpeg_classifier_ignores_stream_dump_lines_echoing_user_names ... ok
[INFO] [stdout] test exec::tests::ffmpeg_classifier_keeps_component_tagged_and_line_initial_reports ... ok
[INFO] [stdout] test exec::tests::a_retry_replaces_the_notes_of_the_attempt_before_it ... ok
[INFO] [stdout] test exec::tests::is_remux_is_false_for_a_genuine_transcode ... ok
[INFO] [stdout] test exec::tests::is_remux_recognizes_bare_c_copy ... ok
[INFO] [stdout] test exec::tests::is_remux_recognizes_per_stream_video_and_audio_copy ... ok
[INFO] [stdout] test exec::tests::is_remux_requires_both_video_and_audio_copy_not_just_one ... ok
[INFO] [stdout] test exec::tests::locate_outdir_result_ignores_directories ... ok
[INFO] [stdout] test exec::tests::an_image_on_its_side_is_sized_as_it_will_be_shown ... ok
[INFO] [stdout] test exec::tests::make_lo_profile_dir_lives_directly_under_system_temp_and_is_unique_per_call ... ok
[INFO] [stdout] test exec::tests::fallback_recipe_substitutes_the_real_typst_path_and_never_touches_soffice ... ok
[INFO] [stdout] test exec::tests::no_temp_files_survive_a_successful_run ... ok
[INFO] [stdout] test exec::tests::locate_outdir_result_matches_the_input_stem_not_just_the_newest_file ... ok
[INFO] [stdout] test exec::tests::only_recorded_path_positions_are_rewritten ... ok
[INFO] [stdout] test exec::tests::only_pandoc_available_still_reports_backend_missing_naming_soffice ... ok
[INFO] [stdout] test exec::tests::pandoc_classifier_keeps_could_not_fetch_resource ... ok
[INFO] [stdout] test exec::tests::a_target_missed_only_by_the_margin_says_so_once_the_encode_is_measured_over ... ok
[INFO] [stdout] test exec::tests::every_page_an_input_brings_is_sized ... ok
[INFO] [stdout] test exec::tests::a_small_source_that_must_be_encoded_is_never_budgeted_above_its_size ... ok
[INFO] [stdout] test exec::tests::run_refuses_to_clobber_an_existing_output_when_overwrite_is_false ... ok
[INFO] [stdout] test exec::tests::scratch_guard_also_removes_every_tracked_profile_directory_on_drop ... ok
[INFO] [stdout] test exec::tests::scratch_guard_removes_a_populated_directory_on_drop ... ok
[INFO] [stdout] test exec::tests::soffice_classifier_ignores_the_convert_echo_line ... ok
[INFO] [stdout] test exec::tests::substitute_backend_paths_reports_backend_missing_naming_the_absent_backend ... ok
[INFO] [stdout] test exec::tests::four_times_the_pixels_runs_unasked_and_reports_the_enlargement ... ok
[INFO] [stdout] test exec::tests::the_mkv_per_stream_transcode_is_also_not_a_stream_copy ... ok
[INFO] [stdout] test exec::tests::an_allowed_extreme_plan_that_fits_anyway_does_not_say_it_could_not ... ok
[INFO] [stdout] test exec::tests::an_image_is_only_sized_for_upscale ... ok
[INFO] [stdout] test exec::tests::user_installation_url_is_a_well_formed_file_url_on_unix ... ok
[INFO] [stdout] test exec::tests::user_installation_url_percent_encodes_a_space_in_the_path ... ok
[INFO] [stdout] test exec::tests::run_emits_step_report_with_the_backend_transcript_even_on_failure ... ok
[INFO] [stdout] test exec::tests::run_emits_step_spawned_with_the_resolved_program_and_final_argv ... ok
[INFO] [stdout] test exec::tests::a_target_missed_only_by_the_margin_is_a_quality_note_when_the_encode_fits ... ok
[INFO] [stdout] test format::tests::a_read_only_alias_is_flagged_and_never_canonical ... ok
[INFO] [stdout] test format::tests::a_read_only_alias_parses_as_its_format ... ok
[INFO] [stdout] test exec::tests::an_svg_is_sized_at_the_density_it_renders_at ... ok
[INFO] [stdout] test format::tests::round_trips_canonical_extension ... ok
[INFO] [stdout] test format::tests::suggest_returns_none_for_empty_needle ... ok
[INFO] [stdout] test format::tests::suggestions_for_a_read_only_alias_name_the_writable_spelling ... ok
[INFO] [stdout] test format::tests::suggests_near_misses_but_not_nonsense ... ok
[INFO] [stdout] test frames::tests::a_png_frame_keeps_its_aspect ... ok
[INFO] [stdout] test frames::tests::a_raw_frame_is_seeked_scaled_and_piped ... ok
[INFO] [stdout] test frames::tests::buckets_ignore_where_reads_fall ... ok
[INFO] [stdout] test format::tests::no_extension_is_both_writable_and_read_only ... ok
[INFO] [stdout] test format::tests::classifies_kinds ... ok
[INFO] [stdout] test format::tests::parses_extensions_case_insensitively_and_with_dots ... ok
[INFO] [stdout] test icon::tests::an_icos_largest_frame_is_chosen_wherever_it_sits ... ok
[INFO] [stdout] test icon::tests::an_svg_icon_renders_at_the_largest_size ... ok
[INFO] [stdout] test icon::tests::an_unread_source_changes_nothing ... ok
[INFO] [stdout] test icon::tests::the_warning_names_every_size_bigger_than_the_source ... ok
[INFO] [stdout] test frames::tests::dbfs_is_floored ... ok
[INFO] [stdout] test install::tests::capped_writer_rejects_a_write_that_would_exceed_the_cap ... ok
[INFO] [stdout] test install::tests::extract_pulls_every_member_out_of_one_shared_zip_download ... ok
[INFO] [stdout] test icon::tests::a_raster_icon_is_squared_at_its_own_longer_side ... ok
[INFO] [stdout] test install::tests::extract_raw_returns_the_bytes_unchanged ... ok
[INFO] [stdout] test install::tests::extract_tar_gz_finds_the_named_member ... ok
[INFO] [stdout] test exec::tests::an_encode_over_the_target_is_planned_again_and_runs_both_passes ... ok
[INFO] [stdout] test install::tests::extract_tar_xz_reports_a_missing_member ... ok
[INFO] [stdout] test install::tests::extract_tar_xz_tolerates_a_leading_dot_slash_in_the_entry_name ... ok
[INFO] [stdout] test install::tests::extract_zip_finds_the_named_member ... ok
[INFO] [stdout] test install::tests::extract_zip_reports_a_missing_member ... ok
[INFO] [stdout] test install::tests::install_bytes_leaves_dest_untouched_when_the_final_rename_fails ... ok
[INFO] [stdout] test install::tests::extract_tar_gz_tolerates_a_leading_dot_slash_in_the_entry_name ... ok
[INFO] [stdout] test install::tests::install_bytes_leaves_no_temp_file_when_the_write_itself_fails ... ok
[INFO] [stdout] test install::tests::install_bytes_writes_dest_and_leaves_no_temp_file_behind ... ok
[INFO] [stdout] test install::tests::read_capped_accepts_data_under_the_cap ... ok
[INFO] [stdout] test install::tests::read_capped_pattern_detects_a_reader_over_the_cap ... ok
[INFO] [stdout] test install::tests::verify_accepts_the_real_digest ... ok
[INFO] [stdout] test exec::tests::outdir_recipe_never_touches_a_decoy_already_in_the_destination_directory ... ok
[INFO] [stdout] test install::tests::verify_rejects_wrong_length_input_rather_than_panicking ... ok
[INFO] [stdout] test manifest::tests::a_raw_asset_names_exactly_one_member ... ok
[INFO] [stdout] test manifest::tests::bundled_with_is_empty_for_a_single_member_asset ... ok
[INFO] [stdout] test manifest::tests::bundled_with_is_empty_when_there_is_no_manifest_entry ... ok
[INFO] [stdout] test manifest::tests::bundled_with_reports_the_sibling_on_windows_x64 ... ok
[INFO] [stdout] test manifest::tests::every_archive_entry_names_a_member_and_every_raw_entry_does_not ... ok
[INFO] [stdout] test manifest::tests::every_asset_carries_a_nonempty_version_with_no_leading_tag_prefix ... ok
[INFO] [stdout] test manifest::tests::every_entry_names_at_least_one_member ... ok
[INFO] [stdout] test manifest::tests::every_ffmpeg_and_ffprobe_entry_pins_the_same_version_across_every_platform ... ok
[INFO] [stdout] test manifest::tests::every_manifest_url_is_pinned_not_latest ... ok
[INFO] [stdout] test manifest::tests::ffmpeg_and_ffprobe_are_not_bundled_off_windows ... ok
[INFO] [stdout] test manifest::tests::ffmpeg_and_ffprobe_share_one_asset_on_windows_x64 ... ok
[INFO] [stdout] test manifest::tests::ffmpeg_major_version_matches_across_every_platform ... ok
[INFO] [stdout] test manifest::tests::has_managed_build_agrees_with_lookup_on_a_covered_platform ... ok
[INFO] [stdout] test manifest::tests::has_managed_build_is_false_for_magick_on_every_platform ... ok
[INFO] [stdout] test manifest::tests::has_managed_build_is_false_for_soffice ... ok
[INFO] [stdout] test manifest::tests::has_managed_build_is_true_for_typst_on_a_covered_platform ... ok
[INFO] [stdout] test manifest::tests::imagemagick_has_no_manifest_entry ... ok
[INFO] [stdout] test manifest::tests::libreoffice_has_no_manifest_entry ... ok
[INFO] [stdout] test manifest::tests::linux_arm64_now_has_manifest_entries_for_ffmpeg_ffprobe_pandoc_and_typst ... ok
[INFO] [stdout] test manifest::tests::lookup_finds_the_entry_for_the_running_platform_when_one_exists ... ok
[INFO] [stdout] test manifest::tests::no_two_entries_claim_the_same_backend_and_platform ... ok
[INFO] [stdout] test manifest::tests::typst_has_a_manifest_entry_for_every_platform_this_manifest_covers ... ok
[INFO] [stdout] test manifest::tests::version_is_current_accepts_a_real_build_suffix ... ok
[INFO] [stdout] test install::tests::verify_is_case_insensitive_on_the_expected_digest ... ok
[INFO] [stdout] test install::tests::verify_rejects_a_hash_mismatch ... ok
[INFO] [stdout] test install::tests::extract_tar_xz_finds_the_named_member ... ok
[INFO] [stdout] test manifest::tests::version_is_current_rejects_a_genuinely_different_version ... ok
[INFO] [stdout] test manifest::tests::version_is_current_accepts_an_exact_match ... ok
[INFO] [stdout] test manifest::tests::version_is_current_rejects_a_longer_version_that_merely_shares_a_prefix ... ok
[INFO] [stdout] test manifest::tests::version_is_current_rejects_when_probed_is_a_prefix_of_pinned ... ok
[INFO] [stdout] test media::tests::a_bitmap_sibling_never_costs_a_text_subtitle_its_seat ... ok
[INFO] [stdout] test media::tests::a_copy_into_ogg_notes_dropped_cover_art ... ok
[INFO] [stdout] test media::tests::a_cut_drops_the_subtitles_before_it_and_the_chapters ... ok
[INFO] [stdout] test media::tests::a_rate_on_a_silent_source_adds_no_audio_arguments ... ok
[INFO] [stdout] test media::tests::a_stream_copy_cut_puts_the_cut_ahead_of_the_input ... ok
[INFO] [stdout] test media::tests::a_silent_source_gets_no_audio_rate ... ok
[INFO] [stdout] test media::tests::a_stripped_audio_copy_clears_the_tags_before_the_output ... ok
[INFO] [stdout] test media::tests::a_stripped_mkv_keeps_its_attachments_tags ... ok
[INFO] [stdout] test media::tests::a_stripped_ogg_leaves_out_its_cover_picture ... ok
[INFO] [stdout] test media::tests::a_stripped_remux_clears_the_tags_and_writes_back_the_kept_ones ... ok
[INFO] [stdout] test media::tests::a_target_with_no_encoder_declines ... ok
[INFO] [stdout] test media::tests::a_transcode_keeps_every_audio_track_the_copy_path_would_have_kept ... ok
[INFO] [stdout] test media::tests::a_transcode_to_mkv_tunes_only_the_first_video_stream ... ok
[INFO] [stdout] test media::tests::a_transcode_to_mp4_carries_an_encoder_and_a_pixel_format ... ok
[INFO] [stdout] test media::tests::a_transcode_to_webm_uses_vp9_and_its_own_anchor ... ok
[INFO] [stdout] test media::tests::a_user_crf_overrides_the_anchor ... ok
[INFO] [stdout] test media::tests::additional_video_streams_are_warned_about ... ok
[INFO] [stdout] test media::tests::an_illegal_audio_track_reencodes_only_itself ... ok
[INFO] [stdout] test media::tests::ass_subtitles_warn_about_styling_loss ... ok
[INFO] [stdout] test media::tests::attachment_streams_are_warned_about_for_non_mkv_targets ... ok
[INFO] [stdout] test media::tests::audio_sources_keep_cover_art_except_into_wav ... ok
[INFO] [stdout] test media::tests::both_passes_encode_at_the_same_frame_rate_mode ... ok
[INFO] [stdout] test media::tests::copied_audio_drops_what_comes_before_a_cut ... ok
[INFO] [stdout] test media::tests::data_stream_warnings_track_what_each_muxer_actually_does ... ok
[INFO] [stdout] test media::tests::incompatible_audio_alone_never_reencodes_the_video ... ok
[INFO] [stdout] test media::tests::incompatible_or_unknown_video_falls_back_to_the_static_transcode ... ok
[INFO] [stdout] test media::tests::matching_audio_codec_extracts_by_stream_copy ... ok
[INFO] [stdout] test media::tests::mkv_excludes_subtitle_codecs_matroska_rejects ... ok
[INFO] [stdout] test media::tests::mkv_pass_one_lays_out_the_same_streams_as_pass_two ... ok
[INFO] [stdout] test media::tests::mkv_reencodes_mov_text_subtitles_to_srt ... ok
[INFO] [stdout] test media::tests::mkv_copies_text_subtitles_explicitly ... ok
[INFO] [stdout] test media::tests::mkv_scopes_the_rate_options_to_the_encoded_stream ... ok
[INFO] [stdout] test media::tests::mp4_remux_maps_every_audio_track ... ok
[INFO] [stdout] test media::tests::mp4_two_pass_argv_is_exactly_the_documented_shape ... ok
[INFO] [stdout] test media::tests::multi_track_sources_warn_that_only_the_first_is_extracted ... ok
[INFO] [stdout] test media::tests::non_matching_or_unknown_audio_falls_back_to_transcode ... ok
[INFO] [stdout] test media::tests::ogg_takes_a_vorbis_or_opus_copy_and_opus_only_opus ... ok
[INFO] [stdout] test media::tests::non_video_targets_and_videoless_sources_get_none ... ok
[INFO] [stdout] test media::tests::only_the_mp4_family_gets_movflags ... ok
[INFO] [stdout] test media::tests::text_subtitles_are_carried_not_dropped ... ok
[INFO] [stdout] test media::tests::the_argv_still_opens_with_the_input_and_closes_with_the_output ... ok
[INFO] [stdout] test media::tests::the_input_is_found_after_a_cut ... ok
[INFO] [stdout] test media::tests::webm_hybrid_coerces_channel_layouts_for_libopus ... ok
[INFO] [stdout] test media::tests::webm_two_pass_drops_constant_quality_and_sizes_opus ... ok
[INFO] [stdout] test metadata::tests::a_gif_source_has_no_tags_to_be_unread ... ok
[INFO] [stdout] test metadata::tests::a_media_note_follows_which_tag_each_target_keeps ... ok
[INFO] [stdout] test metadata::tests::an_image_note_follows_what_each_target_keeps ... ok
[INFO] [stdout] test metadata::tests::ffmpeg_clears_everything_then_writes_back_what_it_keeps ... ok
[INFO] [stdout] test metadata::tests::the_fix_for_a_format_kept_as_itself_is_a_real_pair ... ok
[INFO] [stdout] test metadata::tests::the_flag_says_when_it_clears_track_languages_or_chapter_names ... ok
[INFO] [stdout] test office::tests::a_damaged_compound_file_is_unread ... ok
[INFO] [stdout] test office::tests::a_powerpoint_file_is_encrypted_when_its_current_user_token_says_so ... ok
[INFO] [stdout] test office::tests::a_file_that_is_not_a_compound_file_holds_neither ... ok
[INFO] [stdout] test office::tests::an_encrypted_package_is_a_password_protected_docx_xlsx_or_pptx ... ok
[INFO] [stdout] test office::tests::only_entries_at_the_root_count ... ok
[INFO] [stdout] test office::tests::an_excel_file_is_encrypted_when_filepass_follows_bof ... ok
[INFO] [stdout] test office::tests::the_password_fixtures_read_as_encrypted ... FAILED
[INFO] [stdout] test office::tests::word_and_excel_macros_are_a_vba_storage_at_the_root ... ok
[INFO] [stdout] test plan::tests::a_cap_that_does_not_bind_reaches_the_plans_warnings ... ok
[INFO] [stdout] test plan::tests::a_compressed_tiff_stripped_in_place_stays_compressed ... ok
[INFO] [stdout] test plan::tests::a_csv_is_imported_with_the_options_read_from_it ... ok
[INFO] [stdout] test plan::tests::a_cut_after_zero_re_encodes_to_start_exactly_and_says_why ... ok
[INFO] [stdout] test plan::tests::a_cut_from_zero_keeps_the_stream_copy ... ok
[INFO] [stdout] test office::tests::powerpoint_macros_are_a_nonzero_vba_reference ... ok
[INFO] [stdout] test plan::tests::a_cut_from_zero_of_video_with_b_frames_re_encodes_to_end_exactly ... ok
[INFO] [stdout] test plan::tests::a_cut_into_its_own_format_strips_as_it_cuts ... ok
[INFO] [stdout] test plan::tests::a_flac_cut_into_flac_is_written_out_again ... ok
[INFO] [stdout] test plan::tests::a_gif_fps_at_or_above_the_source_keeps_the_source_rate ... ok
[INFO] [stdout] test plan::tests::a_gif_resize_past_the_source_keeps_the_source_size ... ok
[INFO] [stdout] test plan::tests::a_knob_on_an_icon_is_refused_with_the_reason ... ok
[INFO] [stdout] test plan::tests::a_knob_with_a_cut_says_the_knob_forced_the_encode ... ok
[INFO] [stdout] test plan::tests::a_missing_probe_conservatively_transcodes ... ok
[INFO] [stdout] test plan::tests::a_non_binding_fps_on_a_probed_webm_target_is_a_noted_no_op ... ok
[INFO] [stdout] test plan::tests::a_non_binding_resize_on_a_probed_webm_target_is_a_noted_no_op ... ok
[INFO] [stdout] test plan::tests::a_password_protected_ooxml_source_is_refused_and_a_legacy_one_is_not ... ok
[INFO] [stdout] test plan::tests::a_plan_carries_only_the_notes_its_source_needs ... ok
[INFO] [stdout] test plan::tests::a_plan_without_a_range_serialises_without_one ... ok
[INFO] [stdout] test plan::tests::a_range_on_a_pair_without_a_timeline_is_refused_by_name ... ok
[INFO] [stdout] test plan::tests::a_range_without_a_probe_names_ffprobe ... ok
[INFO] [stdout] test plan::tests::a_resize_that_does_not_bind_keeps_the_stream_copy ... ok
[INFO] [stdout] test media::tests::every_audio_track_shares_one_reencode_rate ... ok
[INFO] [stdout] test office::tests::a_word_file_is_encrypted_when_its_fib_says_so ... ok
[INFO] [stdout] test plan::tests::a_format_into_itself_without_a_range_is_still_no_conversion ... ok
[INFO] [stdout] test plan::tests::a_silent_clip_is_not_sized ... ok
[INFO] [stdout] test plan::tests::a_silent_clip_maps_no_audio ... ok
[INFO] [stdout] test plan::tests::a_silent_clip_needs_a_video_target ... ok
[INFO] [stdout] test plan::tests::a_stripped_png_plan_writes_a_tiff_first ... ok
[INFO] [stdout] test plan::tests::a_stripped_transcode_writes_back_the_kept_tags ... ok
[INFO] [stdout] test plan::tests::a_video_cut_into_its_own_format_copies_from_zero_and_encodes_after ... ok
[INFO] [stdout] test plan::tests::a_video_knob_on_a_remuxable_pair_transcodes_instead_of_refusing ... ok
[INFO] [stdout] test plan::tests::a_video_knob_reaches_a_static_recipes_chain ... ok
[INFO] [stdout] test plan::tests::a_static_recipe_takes_the_cut_in_its_slot ... ok
[INFO] [stdout] test plan::tests::a_video_stripped_in_place_is_a_stream_copy ... ok
[INFO] [stdout] test plan::tests::a_webm_fps_on_a_probe_that_read_no_video_still_needs_ffprobe ... ok
[INFO] [stdout] test plan::tests::a_webm_resize_on_a_probe_that_read_no_video_names_resize ... ok
[INFO] [stdout] test plan::tests::a_webm_video_knob_without_a_probe_names_the_real_cause ... ok
[INFO] [stdout] test plan::tests::a_whole_file_range_converts_as_if_none_were_given_with_a_note ... ok
[INFO] [stdout] test plan::tests::an_audio_copy_keeps_the_copy_whatever_the_start ... ok
[INFO] [stdout] test plan::tests::an_audio_file_cut_into_its_own_format_copies_what_it_can ... ok
[INFO] [stdout] test plan::tests::an_icon_plan_follows_what_was_read_of_the_source ... ok
[INFO] [stdout] test plan::tests::an_image_knob_on_a_media_pair_is_still_refused_by_its_own_name ... ok
[INFO] [stdout] test plan::tests::an_image_stripped_in_place_is_re_encoded_and_says_so_when_lossy ... ok
[INFO] [stdout] test plan::tests::an_ogg_sources_tags_reach_a_target_that_is_not_ogg ... ok
[INFO] [stdout] test plan::tests::an_unresolvable_cap_on_a_static_recipe_notes_it_was_applied_as_given ... ok
[INFO] [stdout] test plan::tests::a_video_knob_reaches_the_gif_to_mp4_static_recipe ... ok
[INFO] [stdout] test plan::tests::an_unsized_plan_serialises_without_a_sizing_key ... ok
[INFO] [stdout] test plan::tests::an_untuned_plan_is_byte_identical_to_the_untuned_builder ... ok
[INFO] [stdout] test plan::tests::an_untuned_static_recipe_is_unchanged_by_the_hoist ... ok
[INFO] [stdout] test plan::tests::a_silent_clip_from_a_static_recipe_takes_its_slot ... ok
[INFO] [stdout] test plan::tests::build_tuned_fills_the_image_recipe_slots ... ok
[INFO] [stdout] test plan::tests::build_without_tuning_is_byte_identical_to_the_static_table ... ok
[INFO] [stdout] test plan::tests::crf_out_of_range_is_refused_on_the_probe_selected_path_too ... ok
[INFO] [stdout] test plan::tests::fallback_recipe_carries_its_fidelity_warning ... ok
[INFO] [stdout] test plan::tests::incompatible_codecs_fall_back_to_transcoding ... ok
[INFO] [stdout] test plan::tests::intermediate_steps_write_to_the_declared_extension ... ok
[INFO] [stdout] test plan::tests::mkv_to_webm_with_compatible_codecs_selects_the_webm_remux_variant ... ok
[INFO] [stdout] test plan::tests::compatible_codecs_select_the_remux_recipe ... ok
[INFO] [stdout] test plan::tests::mp4_to_mkv_with_a_mov_text_subtitle_reencodes_only_the_subtitle_stream ... ok
[INFO] [stdout] test plan::tests::mp4_to_mkv_with_compatible_codecs_selects_the_mkv_remux_variant_with_no_movflags ... ok
[INFO] [stdout] test plan::tests::mp4_to_mov_with_compatible_codecs_selects_the_mov_remux_variant ... ok
[INFO] [stdout] test plan::tests::empty_inputs_is_rejected_rather_than_panicking ... ok
[INFO] [stdout] test plan::tests::no_availability_hint_yields_the_canonical_soffice_recipe ... ok
[INFO] [stdout] test plan::tests::no_refusal_message_says_for_now_any_more ... ok
[INFO] [stdout] test exec::tests::the_real_soffice_invocation_substitutes_the_real_url_for_the_dry_run_placeholder ... ok
[INFO] [stdout] test plan::tests::only_the_flag_and_a_writable_format_strip_in_place ... ok
[INFO] [stdout] test plan::tests::odt_to_pdf_also_falls_back_to_pandoc_and_typst ... ok
[INFO] [stdout] test plan::tests::program_is_the_bare_exe_name_so_snapshots_are_machine_independent ... ok
[INFO] [stdout] test plan::tests::selection_falls_back_to_pandoc_and_typst_when_soffice_is_unavailable ... ok
[INFO] [stdout] test plan::tests::selection_falls_back_to_soffice_when_neither_route_is_fully_available ... ok
[INFO] [stdout] test plan::tests::selection_prefers_soffice_when_both_routes_are_available ... ok
[INFO] [stdout] test plan::tests::selection_uses_soffice_when_only_soffice_is_available ... ok
[INFO] [stdout] test plan::tests::only_the_soffice_step_of_a_multi_step_plan_gets_the_placeholder ... ok
[INFO] [stdout] test plan::tests::quality_on_a_lossless_target_is_refused_but_resize_works ... ok
[INFO] [stdout] test plan::tests::planned_step_output_is_the_path_that_step_writes ... ok
[INFO] [stdout] test plan::tests::the_gif_memory_note_is_about_the_clip_not_the_file ... ok
[INFO] [stdout] test plan::tests::soffice_step_shows_the_user_installation_placeholder_first_in_its_argv ... ok
[INFO] [stdout] test plan::tests::strip_metadata_is_refused_on_a_document_pair ... ok
[INFO] [stdout] test plan::tests::unsupported_pair_is_an_error_not_a_panic ... ok
[INFO] [stdout] test plan::tests::upscale_is_named_when_a_pair_takes_no_resize ... ok
[INFO] [stdout] test plan::tests::upscale_lets_a_gif_resize_enlarge_and_warns ... ok
[INFO] [stdout] test plan::tests::tuning_on_media_pairs_is_refused_on_both_paths ... ok
[INFO] [stdout] test plan::tests::warnings_travel_on_the_plan ... ok
[INFO] [stdout] test plan::tests::without_a_probe_a_stripped_audio_conversion_says_its_tags_went_too ... ok
[INFO] [stdout] test plan::tests::xlsx_and_pptx_never_fall_back_even_when_soffice_is_unavailable ... ok
[INFO] [stdout] test plan::tests::upscale_lets_a_video_resize_enlarge_and_warns ... ok
[INFO] [stdout] test plan::tests::upscale_lets_an_image_resize_enlarge_and_warns ... ok
[INFO] [stdout] test probe::tests::a_page_on_its_side_swaps_width_and_height ... ok
[INFO] [stdout] test probe::tests::a_page_reads_its_displayed_size ... ok
[INFO] [stdout] test probe::tests::a_missing_or_unusable_format_block_leaves_duration_unknown ... ok
[INFO] [stdout] test probe::tests::a_page_answer_that_is_not_a_size_is_none ... ok
[INFO] [stdout] test probe::tests::a_rotated_source_reports_stored_dimensions_and_displayed_ones_separately ... ok
[INFO] [stdout] test probe::tests::a_tiff_ping_cannot_rule_alpha_out ... ok
[INFO] [stdout] test probe::tests::a_traits_answer_that_is_not_one_is_none ... ok
[INFO] [stdout] test probe::tests::a_vector_page_is_sized_at_the_recipes_density ... ok
[INFO] [stdout] test probe::tests::an_icons_frames_parse_whole_or_not_at_all ... ok
[INFO] [stdout] test probe::tests::an_ogg_files_stream_tags_are_its_own ... ok
[INFO] [stdout] test probe::tests::an_unrotated_source_displays_as_it_is_stored ... ok
[INFO] [stdout] test probe::tests::an_unusable_frame_rate_is_none_not_a_zero_tuple ... ok
[INFO] [stdout] test probe::tests::attachment_bytes_sum_every_attachment ... ok
[INFO] [stdout] test probe::tests::b_frames_mean_the_video_reorders_its_frames ... ok
[INFO] [stdout] test probe::tests::audio_bitrates_stay_parallel_to_audio_codecs ... ok
[INFO] [stdout] test probe::tests::a_zero_audio_bitrate_is_unknown ... ok
[INFO] [stdout] test probe::tests::a_video_stream_yields_dimensions_and_a_rational_frame_rate ... ok
[INFO] [stdout] test probe::tests::extracts_first_video_and_audio_codec ... ok
[INFO] [stdout] test probe::tests::cover_art_contributes_no_dimensions ... ok
[INFO] [stdout] test probe::tests::durations_parse_without_floating_point ... ok
[INFO] [stdout] test probe::tests::extracts_the_first_subtitle_codec_too ... ok
[INFO] [stdout] test probe::tests::format_tags_yield_the_kept_tags_and_the_location_kinds ... ok
[INFO] [stdout] test probe::tests::malformed_json_yields_an_empty_probe_rather_than_failing ... ok
[INFO] [stdout] test probe::tests::nameless_streams_become_unknown_placeholders_not_gaps ... ok
[INFO] [stdout] test probe::tests::reads_duration_and_size_from_the_format_block ... ok
[INFO] [stdout] test probe::tests::streams_and_chapters_say_whether_they_are_labelled ... ok
[INFO] [stdout] test probe::tests::the_largest_size_wins_and_the_first_wins_a_tie ... ok
[INFO] [stdout] test probe::tests::the_lower_of_the_two_reported_rates_wins ... ok
[INFO] [stdout] test exec::tests::an_unreadable_size_warns_generically_and_does_not_ask ... ok
[INFO] [stdout] test probe::tests::tolerates_a_file_with_no_audio ... ok
[INFO] [stdout] test probe::tests::tolerates_a_file_with_no_subtitle_track ... ok
[INFO] [stdout] test probe::tests::traits_read_whether_the_source_is_compressed ... ok
[INFO] [stdout] test procutil::tests::backend_command_targets_the_given_path ... ok
[INFO] [stdout] test probe::tests::records_the_full_stream_inventory ... ok
[INFO] [stdout] test probe::tests::traits_read_alpha_and_whether_a_second_frame_follows ... ok
[INFO] [stdout] test recipe::tests::a_size_target_alone_makes_tuning_non_empty ... ok
[INFO] [stdout] test recipe::tests::a_mute_slot_renders_an_only_for_a_silent_clip ... ok
[INFO] [stdout] test recipe::tests::a_tuned_crf_slot_renders_the_users_value ... ok
[INFO] [stdout] test recipe::tests::an_untuned_crf_slot_renders_its_authored_anchor ... ok
[INFO] [stdout] test recipe::tests::backend_path_renders_a_readable_placeholder_not_a_real_path ... ok
[INFO] [stdout] test recipe::tests::discard_serialises_in_the_plan_envelope_spelling ... ok
[INFO] [stdout] test recipe::tests::a_trim_slot_renders_the_cut_before_the_input_and_nothing_without_one ... ok
[INFO] [stdout] test recipe::tests::empty_tuning_renders_exactly_the_static_default_argv ... ok
[INFO] [stdout] test recipe::tests::icon_slots_render_what_was_resolved_or_their_fallback ... ok
[INFO] [stdout] test recipe::tests::inputs_expands_to_every_input_in_order ... ok
[INFO] [stdout] test recipe::tests::out_dir_mode_renders_the_parent_directory ... ok
[INFO] [stdout] test recipe::tests::out_dir_of_a_bare_filename_is_the_current_directory ... ok
[INFO] [stdout] test recipe::tests::every_tuning_field_on_its_own_makes_the_struct_non_empty ... ok
[INFO] [stdout] test recipe::tests::an_image_resize_only_enlarges_with_upscale ... ok
[INFO] [stdout] test recipe::tests::path_positions_track_tune_slot_expansion ... ok
[INFO] [stdout] test recipe::tests::renders_positional_input_and_output ... ok
[INFO] [stdout] test registry::tests::a_csv_import_notes_only_what_it_did ... ok
[INFO] [stdout] test registry::tests::a_jpg_target_notes_only_what_the_source_holds ... ok
[INFO] [stdout] test registry::tests::a_source_is_read_only_where_its_notes_depend_on_it ... ok
[INFO] [stdout] test registry::tests::a_stripped_jpg_drops_everything_but_the_colour_profile_after_orienting ... ok
[INFO] [stdout] test registry::tests::a_stripped_png_goes_through_an_uncompressed_tiff ... ok
[INFO] [stdout] test registry::tests::a_tuned_fps_overrides_the_recipes_authored_default ... ok
[INFO] [stdout] test registry::tests::a_range_needs_the_probe_only_where_it_can_cut ... ok
[INFO] [stdout] test registry::tests::a_tuned_scale_on_a_gif_keeps_the_lanczos_scaler ... ok
[INFO] [stdout] test registry::tests::a_tuned_scale_on_a_transcode_still_ends_with_the_even_guard ... ok
[INFO] [stdout] test registry::tests::a_tuned_value_lands_before_the_palette_split ... ok
[INFO] [stdout] test registry::tests::a_video_knob_makes_a_pair_probe_that_otherwise_would_not ... ok
[INFO] [stdout] test registry::tests::a_webm_video_knob_requires_a_probe_and_nothing_else_does ... ok
[INFO] [stdout] test registry::tests::a_workbook_to_csv_notes_extra_sheets_and_formulas_only_when_there_are_some ... ok
[INFO] [stdout] test registry::tests::an_icon_pair_reads_the_source_the_way_its_recipe_does ... ok
[INFO] [stdout] test registry::tests::an_icon_says_it_was_squared_only_for_a_source_that_was_not_square ... ok
[INFO] [stdout] test registry::tests::an_image_knob_does_not_make_a_pair_probe ... ok
[INFO] [stdout] test registry::tests::an_image_read_mirrors_how_the_recipe_takes_its_input ... ok
[INFO] [stdout] test registry::tests::an_unread_image_keeps_the_whole_note ... ok
[INFO] [stdout] test registry::tests::an_untuned_gif_chain_is_byte_identical_to_the_old_constant ... ok
[INFO] [stdout] test registry::tests::an_untuned_pair_probes_exactly_as_it_did_before ... ok
[INFO] [stdout] test registry::tests::an_untuned_tonemap_chain_is_byte_identical_to_the_old_constant ... ok
[INFO] [stdout] test registry::tests::an_untuned_tonemap_chain_still_ends_with_the_plain_gif_chain ... ok
[INFO] [stdout] test registry::tests::an_untuned_transcode_chain_is_exactly_the_even_scale_guard ... ok
[INFO] [stdout] test registry::tests::audio_extraction_drops_the_video_stream ... ok
[INFO] [stdout] test registry::tests::audio_to_audio_preserves_embedded_cover_art ... ok
[INFO] [stdout] test registry::tests::avi_is_never_registered_as_a_video_target ... ok
[INFO] [stdout] test registry::tests::avi_to_mkv_also_uses_the_copy_subs_variant ... ok
[INFO] [stdout] test registry::tests::csv_goes_to_and_from_xlsx_and_ods_through_libreoffice ... ok
[INFO] [stdout] test registry::tests::audio_to_wav_still_drops_video_and_warns_about_bit_depth ... ok
[INFO] [stdout] test registry::tests::docx_and_odt_to_pdf_have_a_pandoc_typst_fallback ... ok
[INFO] [stdout] test probe::tests::traits_read_a_gps_latitude_and_ignore_an_empty_one ... ok
[INFO] [stdout] test registry::tests::every_ffmpeg_recipe_and_only_those_can_be_cut ... ok
[INFO] [stdout] test registry::tests::every_libx264_transcode_scales_to_even_dimensions ... ok
[INFO] [stdout] test recipe::tests::the_first_frame_selector_is_still_a_path_position ... ok
[INFO] [stdout] test registry::tests::fallback_recipe_renders_pdf_engine_pointed_at_typst ... ok
[INFO] [stdout] test registry::tests::fallback_recipe_warns_about_fidelity_and_suggests_libreoffice ... ok
[INFO] [stdout] test registry::tests::fallback_table_never_adds_a_pair_all_pairs_does_not_already_list ... ok
[INFO] [stdout] test registry::tests::gif_to_mp4_forces_even_dimensions ... ok
[INFO] [stdout] test registry::tests::gif_uses_a_generated_palette_not_the_default_web_palette ... ok
[INFO] [stdout] test registry::tests::heic_to_jpg_auto_orients_and_sets_quality ... ok
[INFO] [stdout] test registry::tests::every_image_and_media_recipe_strips_and_only_after_orienting ... ok
[INFO] [stdout] test registry::tests::image_to_pdf_compresses_with_jpeg_at_the_quality_anchor ... ok
[INFO] [stdout] test registry::tests::legacy_office_names_its_export_filter ... ok
[INFO] [stdout] test registry::tests::lossless_targets_do_not_carry_a_quality_flag ... ok
[INFO] [stdout] test registry::tests::md_to_html_is_standalone ... ok
[INFO] [stdout] test registry::tests::gif_recipe_tonemaps_only_hdr_transfers ... ok
[INFO] [stdout] test registry::tests::md_to_pdf_is_two_steps_via_docx_and_never_touches_latex ... ok
[INFO] [stdout] test registry::tests::mov_and_mkv_are_registered_as_targets_for_every_other_video_source ... ok
[INFO] [stdout] test registry::tests::mkv_recipes_exclude_data_streams ... ok
[INFO] [stdout] test install::tests::capped_writer_accepts_writes_up_to_and_including_the_cap ... ok
[INFO] [stdout] test registry::tests::mp4_and_mov_to_mkv_use_the_srt_subs_variant ... ok
[INFO] [stdout] test plan::tests::a_same_format_video_copy_refuses_a_knob_it_cannot_apply ... ok
[INFO] [stdout] test recipe::tests::tuning_fills_its_slots_and_only_its_slots ... ok
[INFO] [stdout] test exec::tests::the_stderr_tail_reads_in_natural_top_to_bottom_order ... ok
[INFO] [stdout] test frames::tests::rms_runs_from_silence_to_full_scale ... ok
[INFO] [stdout] test registry::tests::no_pair_converts_a_format_to_itself ... ok
[INFO] [stdout] test registry::tests::no_recipe_targets_heic_or_heif ... ok
[INFO] [stdout] test registry::tests::needs_probe_covers_mov_and_mkv_targets ... ok
[INFO] [stdout] test registry::tests::no_pdf_route_uses_pandoc ... ok
[INFO] [stdout] test registry::tests::no_recipe_sets_user_installation ... ok
[INFO] [stdout] test registry::tests::notes_about_the_pair_never_depend_on_the_source ... ok
[INFO] [stdout] test registry::tests::office_sources_are_read_before_planning ... ok
[INFO] [stdout] test exec::tests::run_permits_clobbering_an_existing_output_when_overwrite_is_true ... ok
[INFO] [stdout] test registry::tests::icons_are_made_from_png_jpg_webp_and_svg_and_read_back_to_png ... ok
[INFO] [stdout] test registry::tests::images_merge_into_pdf_using_every_input ... ok
[INFO] [stdout] test registry::tests::opus_and_ogg_targets_encode_opus_at_48_khz ... ok
[INFO] [stdout] test registry::tests::single_image_targets_select_the_first_frame_explicitly ... ok
[INFO] [stdout] test registry::tests::pdf_to_docx_names_the_word_filter_and_warns_about_fidelity ... ok
[INFO] [stdout] test registry::tests::raster_to_jpg_flattens_alpha_onto_white ... ok
[INFO] [stdout] test registry::tests::opus_and_ogg_pairs_probe_only_where_it_decides_something ... ok
[INFO] [stdout] test registry::tests::stripping_probes_only_a_source_with_tags_to_keep ... ok
[INFO] [stdout] test registry::tests::office_to_pdf_uses_outdir_mode ... ok
[INFO] [stdout] test registry::tests::svg_to_png_is_lossless_with_transparent_background ... ok
[INFO] [stdout] test registry::tests::the_cover_art_note_shows_only_for_a_source_with_art ... ok
[INFO] [stdout] test registry::tests::the_csv_export_spells_every_token ... ok
[INFO] [stdout] test registry::tests::the_icon_sizes_written_are_the_ones_warned_about ... ok
[INFO] [stdout] test registry::tests::video_to_mkv_preserves_every_stream_and_carries_no_lossy_warning ... ok
[INFO] [stdout] test registry::tests::video_to_mkv_uses_the_spec_quality_anchors_and_omits_movflags ... ok
[INFO] [stdout] test registry::tests::video_to_mov_uses_the_spec_quality_anchors_and_faststart ... ok
[INFO] [stdout] test registry::tests::video_to_webm_enables_row_multithreading ... ok
[INFO] [stdout] test registry::tests::reading_an_icon_back_notes_the_dropped_sizes_only_when_there_were_some ... ok
[INFO] [stdout] test registry::tests::svg_to_jpg_flattens_transparency_onto_white ... ok
[INFO] [stdout] test registry::tests::video_transcode_uses_the_spec_quality_anchors ... ok
[INFO] [stdout] test registry::tests::the_macro_note_shows_only_for_a_source_with_macros ... ok
[INFO] [stdout] test registry::tests::the_gif_buffering_note_shows_only_past_the_threshold ... ok
[INFO] [stdout] test registry::tests::the_wav_depth_note_is_dropped_for_an_opus_or_vorbis_source ... ok
[INFO] [stdout] test registry::tests::xlsx_and_pptx_to_pdf_have_no_fallback ... ok
[INFO] [stdout] test resolve::tests::a_missing_backend_produces_a_remediable_error ... ok
[INFO] [stdout] test registry::tests::webm_transcode_coerces_channel_layouts_for_libopus ... ok
[INFO] [stdout] test resolve::tests::an_override_wins_over_everything_else ... ok
[INFO] [stdout] test resolve::tests::available_backends_default_is_empty ... ok
[INFO] [stdout] test resolve::tests::candidate_order_matches_the_spec ... ok
[INFO] [stdout] test resolve::tests::convert_fallback_applies_to_magick_off_windows ... ok
[INFO] [stdout] test resolve::tests::available_backends_collects_from_an_iterator_of_backends ... ok
[INFO] [stdout] test registry::tests::png_and_bmp_targets_note_only_a_multi_frame_source ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_imagemagick_banner ... ok
[INFO] [stdout] test resolve::tests::convert_fallback_never_applies_on_windows ... ok
[INFO] [stdout] test resolve::tests::libreoffice_is_never_offered_as_a_managed_install ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_ffmpeg_banner ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_pandoc_banner ... ok
[INFO] [stdout] test resolve::tests::convert_fallback_never_applies_to_other_backends ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_soffice_banner ... ok
[INFO] [stdout] test resolve::tests::managed_path_matches_the_managed_candidate_filename ... ok
[INFO] [stdout] test resolve::tests::no_convert_anywhere_yields_no_fallback ... ok
[INFO] [stdout] test resolve::tests::no_digit_bearing_token_yields_none ... ok
[INFO] [stdout] test resolve::tests::overrides_only_yields_exactly_the_override_candidate_when_one_is_set ... ok
[INFO] [stdout] test resolve::tests::overrides_only_yields_no_candidates_for_a_backend_with_no_override ... ok
[INFO] [stdout] test resolve::tests::resolve_managed_only_returns_none_when_the_managed_dir_is_empty ... ok
[INFO] [stdout] test resolve::tests::overrides_only_ignores_the_convkit_env_var_even_with_no_override_set ... ok
[INFO] [stdout] test resolve::tests::check_availability_never_probes_a_backend_outside_the_given_candidates ... ok
[INFO] [stdout] test resolve::tests::the_redirect_does_not_apply_off_windows ... ok
[INFO] [stdout] test resolve::tests::a_convert_that_is_not_imagemagick_is_rejected_by_the_fallback ... ok
[INFO] [stdout] test resolve::tests::version_falls_back_to_stderr_when_stdout_is_empty ... ok
[INFO] [stdout] test resolve::tests::a_real_imagemagick_convert_is_accepted_by_the_fallback ... ok
[INFO] [stdout] test resolve::tests::check_availability_only_marks_backends_that_actually_resolve ... ok
[INFO] [stdout] test size::tests::a_label_reads_the_way_a_person_writes_it ... ok
[INFO] [stdout] test size::tests::binary_carry_chooses_one_of_next_unit_not_fractional ... ok
[INFO] [stdout] test size::tests::display_floors_to_two_decimals ... ok
[INFO] [stdout] test size::tests::every_unit_parses_to_the_exact_byte_count ... ok
[INFO] [stdout] test size::tests::case_is_ignored_and_the_spelling_is_normalised ... ok
[INFO] [stdout] test size::tests::malformed_sizes_are_refused_with_the_fix ... ok
[INFO] [stdout] test size::tests::unit_family_serialises_correctly ... ok
[INFO] [stdout] test sized::tests::a_binding_fps_reaches_ffmpeg_as_an_exact_rational ... ok
[INFO] [stdout] test size::tests::round_up_lands_on_a_clean_number_at_or_above_the_input ... ok
[INFO] [stdout] test sized::tests::a_dry_run_of_a_remux_keeps_the_re_encode_fallback_in_view ... ok
[INFO] [stdout] test resolve::tests::magick_takes_precedence_over_the_convert_fallback_when_both_exist ... ok
[INFO] [stdout] test sized::tests::a_gif_source_carries_the_looping_note_into_the_plan ... ok
[INFO] [stdout] test sized::tests::a_long_decimal_fps_binds_like_any_other ... ok
[INFO] [stdout] test sized::tests::a_remux_that_re_encodes_audio_does_not_claim_a_plain_copy ... ok
[INFO] [stdout] test sized::tests::a_report_for_a_copy_has_no_encode_settings ... ok
[INFO] [stdout] test sized::tests::a_resize_that_binds_caps_the_chosen_picture_and_forces_an_encode ... ok
[INFO] [stdout] test resolve::tests::resolve_managed_only_finds_a_file_written_at_the_managed_path ... ok
[INFO] [stdout] test resolve::tests::resolve_managed_only_ignores_an_override_even_though_resolve_would_use_it ... ok
[INFO] [stdout] test sized::tests::a_resize_that_does_not_bind_leaves_a_small_source_copied ... ok
[INFO] [stdout] test sized::tests::a_dry_run_says_what_would_happen ... ok
[INFO] [stdout] test exec::tests::the_encode_after_an_oversized_remux_is_budgeted_at_the_sources_size ... ok
[INFO] [stdout] test sized::tests::a_found_size_is_scaled_up_by_target_over_budget_and_rounded_up ... ok
[INFO] [stdout] test resolve::tests::run_with_timeout_returns_output_for_a_child_that_exits_promptly ... ok
[INFO] [stdout] test sized::tests::a_retry_budget_scales_by_the_overshoot_and_aims_two_percent_lower ... ok
[INFO] [stdout] test sized::tests::a_retry_plans_against_a_smaller_budget_but_keeps_the_users_target ... ok
[INFO] [stdout] test sized::tests::a_saturated_attempt_caps_the_next_picture_below_its_own ... ok
[INFO] [stdout] test sized::tests::a_retry_held_back_for_consent_says_how_to_give_it ... ok
[INFO] [stdout] test sized::tests::a_sized_cut_after_zero_is_never_copied ... ok
[INFO] [stdout] test sized::tests::a_retry_that_would_ask_for_no_less_is_not_planned ... ok
[INFO] [stdout] test sized::tests::a_retry_after_a_saturated_attempt_plans_a_smaller_picture ... ok
[INFO] [stdout] test sized::tests::a_sized_cut_budgets_for_the_clip_not_the_file ... ok
[INFO] [stdout] test sized::tests::a_small_source_whose_streams_fit_another_container_is_remuxed ... ok
[INFO] [stdout] test sized::tests::a_source_already_under_the_target_in_its_own_container_is_copied ... ok
[INFO] [stdout] test sized::tests::a_sizing_report_serialises_in_its_json_shape ... ok
[INFO] [stdout] test sized::tests::a_source_missing_a_fact_the_budget_needs_is_refused_by_name ... ok
[INFO] [stdout] test sized::tests::a_small_source_that_must_be_encoded_is_budgeted_at_its_own_size ... ok
[INFO] [stdout] test sized::tests::a_source_of_unknown_size_is_never_copied_or_remuxed ... ok
[INFO] [stdout] test sized::tests::a_source_exactly_at_the_target_fits ... ok
[INFO] [stdout] test sized::tests::a_sizing_report_writes_its_rate_in_lowest_terms ... ok
[INFO] [stdout] test sized::tests::a_source_that_fits_is_still_encoded_by_the_fallback_planner ... ok
[INFO] [stdout] test sized::tests::a_stripped_encode_clears_the_tags_in_pass_two ... ok
[INFO] [stdout] test sized::tests::a_rotated_source_is_scaled_in_its_displayed_orientation ... ok
[INFO] [stdout] test sized::tests::a_stripped_source_already_under_the_target_is_remuxed_not_copied ... ok
[INFO] [stdout] test sized::tests::a_sized_cut_from_zero_of_video_with_b_frames_is_never_copied ... ok
[INFO] [stdout] test sized::tests::a_sized_cut_from_zero_that_already_fits_is_a_copied_cut_not_a_file_copy ... ok
[INFO] [stdout] test sized::tests::an_attempt_saturates_when_its_video_runs_more_than_five_percent_over ... ok
[INFO] [stdout] test sized::tests::an_fps_equal_to_the_source_rate_does_not_bind ... ok
[INFO] [stdout] test sized::tests::an_mkv_pass_log_is_registered_under_its_stream_scoped_flag ... ok
[INFO] [stdout] test sized::tests::an_oversized_source_gets_two_passes ... ok
[INFO] [stdout] test sized::tests::a_suggestion_against_a_small_sources_budget_is_not_scaled_up ... ok
[INFO] [stdout] test sized::tests::an_extreme_retry_says_so_and_suggests_more_than_the_target_tried ... ok
[INFO] [stdout] test sized::tests::an_fps_that_cannot_be_held_exactly_is_refused_not_dropped ... ok
[INFO] [stdout] test sized::tests::binding_caps_force_an_encode_even_when_the_source_fits ... ok
[INFO] [stdout] test sized::tests::frame_rates_read_as_people_say_them ... ok
[INFO] [stdout] test sized::tests::only_a_source_under_the_target_lowers_the_first_budget ... ok
[INFO] [stdout] test sized::tests::only_the_four_video_containers_are_sized ... ok
[INFO] [stdout] test sized::tests::refusals_name_the_flag_and_the_fix ... ok
[INFO] [stdout] test sized::tests::requires_probe_covers_a_sized_video_target_only ... ok
[INFO] [stdout] test sized::tests::an_unsupported_pair_or_an_image_flag_is_refused_by_name ... ok
[INFO] [stdout] test sized::tests::a_suggestion_found_against_a_cut_budget_is_scaled_back_up_to_a_target ... ok
[INFO] [stdout] test sized::tests::a_webm_plan_sizes_with_vp9_and_opus_at_the_rate_it_chose ... ok
[INFO] [stdout] test sized::tests::the_errors_without_a_probe_or_a_codec_say_what_to_do ... ok
[INFO] [stdout] test sized::tests::an_extreme_target_carries_a_warning_and_a_suggestion ... ok
[INFO] [stdout] test sized::tests::the_confirmation_names_the_flag_and_offers_the_suggestion ... ok
[INFO] [stdout] test sized::tests::the_extreme_sentence_says_could_not_fit_only_when_the_smallest_file_is_over ... ok
[INFO] [stdout] test resolve::tests::version_probe_uses_double_dash_for_pandoc_and_soffice ... ok
[INFO] [stdout] test sized::tests::an_unsupported_pair_does_not_ask_for_a_probe ... ok
[INFO] [stdout] test sized::tests::the_measured_over_sentence_counts_its_attempts_in_the_right_number ... ok
[INFO] [stdout] test sized::tests::the_pass_log_is_a_registered_path_in_both_passes ... ok
[INFO] [stdout] test sized::tests::the_pass_log_is_found_by_its_exact_flag_after_the_input ... ok
[INFO] [stdout] test sized::tests::the_preview_is_empty_unless_a_video_size_target_applies ... ok
[INFO] [stdout] test sized::tests::the_report_carries_the_choice_and_counts_every_audio_track ... ok
[INFO] [stdout] test sized::tests::the_short_notes_read_as_sentences ... ok
[INFO] [stdout] test table::tests::a_cell_starting_with_equals_is_noticed ... ok
[INFO] [stdout] test table::tests::a_quoted_field_is_judged_by_its_value ... ok
[INFO] [stdout] test sized::tests::the_notes_read_as_sentences ... ok
[INFO] [stdout] test table::tests::a_file_that_is_not_what_it_claims_reads_as_nothing ... ok
[INFO] [stdout] test table::tests::columns_whose_digits_a_number_would_lose_stay_text ... ok
[INFO] [stdout] test table::tests::decimal_commas_come_with_semicolons ... ok
[INFO] [stdout] test table::tests::ordinary_numbers_are_not_kept_as_text ... ok
[INFO] [stdout] test table::tests::windows_1252_decodes_its_own_high_range ... ok
[INFO] [stdout] test table::tests::contains_finds_a_needle_across_chunks ... ok
[INFO] [stdout] test trim::tests::a_cut_becomes_input_options_only_where_it_cuts ... ok
[INFO] [stdout] test trim::tests::a_cut_is_refused_when_no_frame_starts_inside_it ... ok
[INFO] [stdout] test trim::tests::a_cut_leaves_out_the_chapters_and_any_subtitle_from_before_it ... ok
[INFO] [stdout] test trim::tests::a_cut_shorter_than_a_frame_is_refused_only_where_there_are_frames ... ok
[INFO] [stdout] test trim::tests::a_duration_is_positive_and_from_the_start ... ok
[INFO] [stdout] test trim::tests::a_leading_minus_counts_back_from_the_end ... ok
[INFO] [stdout] test table::tests::an_ods_lists_its_sheets_and_checks_the_first_for_formulas ... ok
[INFO] [stdout] test trim::tests::a_name_suffix_never_holds_a_colon ... ok
[INFO] [stdout] test trim::tests::a_range_covering_the_whole_file_cuts_nothing_and_says_so ... ok
[INFO] [stdout] test trim::tests::a_range_inside_the_file_is_cut_where_asked ... ok
[INFO] [stdout] test trim::tests::a_source_without_a_length_is_still_cut_from_its_start ... ok
[INFO] [stdout] test table::tests::an_xlsx_lists_its_sheets_and_checks_the_first_for_formulas ... ok
[INFO] [stdout] test trim::tests::a_start_from_the_end_before_the_beginning_starts_at_it ... ok
[INFO] [stdout] test table::tests::the_delimiter_is_the_one_that_splits_every_line_alike ... ok
[INFO] [stdout] test table::tests::the_encoding_is_utf8_utf16_by_its_mark_or_else_windows_1252 ... ok
[INFO] [stdout] test table::tests::the_import_filter_spells_every_token ... ok
[INFO] [stdout] test trim::tests::a_start_past_the_end_is_refused_naming_the_length ... ok
[INFO] [stdout] test trim::tests::a_time_from_the_end_of_a_source_without_a_length_says_what_to_give_instead ... ok
[INFO] [stdout] test trim::tests::an_end_past_the_file_stops_at_its_end_with_a_note ... ok
[INFO] [stdout] test trim::tests::an_order_that_cannot_work_is_refused_before_anything_is_probed ... ok
[INFO] [stdout] test trim::tests::malformed_times_are_refused_with_the_forms_that_work ... ok
[INFO] [stdout] test trim::tests::mixed_signs_that_leave_nothing_are_refused ... ok
[INFO] [stdout] test trim::tests::no_flag_is_no_range ... ok
[INFO] [stdout] test trim::tests::the_flag_named_in_refusals_is_the_first_one_given ... ok
[INFO] [stdout] test trim::tests::times_from_the_end_count_back_from_this_files_own_length ... ok
[INFO] [stdout] test trim::tests::the_report_serialises_with_only_the_flags_given ... ok
[INFO] [stdout] test trim::tests::times_print_the_way_they_are_typed ... ok
[INFO] [stdout] test video::tests::a_cap_below_the_source_binds ... ok
[INFO] [stdout] test video::tests::a_fractional_source_rate_is_compared_honestly ... ok
[INFO] [stdout] test video::tests::a_gif_estimate_counts_the_frames_its_own_rate_keeps ... ok
[INFO] [stdout] test video::tests::a_gif_resize_past_a_source_narrower_than_the_default_needs_no_mention_of_it ... ok
[INFO] [stdout] test video::tests::a_gif_resize_past_a_source_wider_than_the_default_says_so ... ok
[INFO] [stdout] test video::tests::a_page_of_several_is_named_in_the_warning ... ok
[INFO] [stdout] test video::tests::a_percentage_knows_its_ratio_without_the_source ... ok
[INFO] [stdout] test video::tests::a_cap_equal_to_the_source_does_nothing ... ok
[INFO] [stdout] test video::tests::a_resize_that_binds_does_not_keep_the_source_size ... ok
[INFO] [stdout] test video::tests::a_resize_that_cannot_bind_adds_no_filter_and_says_so ... ok
[INFO] [stdout] test video::tests::a_video_estimate_is_a_wide_range_by_bits_per_pixel ... ok
[INFO] [stdout] test video::tests::a_cap_above_the_source_does_nothing_and_says_so ... ok
[INFO] [stdout] test video::tests::a_dense_source_raises_the_top_of_a_video_estimate ... ok
[INFO] [stdout] test video::tests::a_video_size_is_rounded_to_even_as_the_encode_will_be ... ok
[INFO] [stdout] test video::tests::an_asymmetric_wxh_binds_when_either_axis_would_shrink ... ok
[INFO] [stdout] test exec::tests::each_retry_asks_for_less_than_the_last ... ok
[INFO] [stdout] test video::tests::an_image_estimate_goes_by_the_target_formats_bytes_per_pixel ... ok
[INFO] [stdout] test video::tests::an_overflowing_dimension_cannot_bind ... ok
[INFO] [stdout] test video::tests::an_unknown_source_rate_applies_the_value_and_admits_it ... ok
[INFO] [stdout] test video::tests::every_geometry_form_translates_and_every_one_clamps ... ok
[INFO] [stdout] test video::tests::exactly_four_times_the_pixels_warns_and_more_asks_first ... ok
[INFO] [stdout] test video::tests::fit_within_preserves_aspect_and_never_grows ... ok
[INFO] [stdout] test video::tests::just_past_four_times_says_so ... ok
[INFO] [stdout] test video::tests::no_probe_at_all_behaves_like_an_unknown_rate ... ok
[INFO] [stdout] test video::tests::of_several_pages_the_one_enlarged_most_decides ... ok
[INFO] [stdout] test video::tests::parse_rate_keeps_rates_exact ... ok
[INFO] [stdout] test video::tests::parse_rate_reduces_and_refuses_what_it_cannot_hold ... ok
[INFO] [stdout] test video::tests::rough_sizes_keep_two_significant_figures ... ok
[INFO] [stdout] test video::tests::upscale_on_a_shrinking_resize_changes_nothing_and_warns_nothing ... ok
[INFO] [stdout] test video::tests::the_cap_is_decided_against_displayed_dimensions_not_stored_ones ... ok
[INFO] [stdout] test video::tests::the_percentage_form_clamps_too ... ok
[INFO] [stdout] test video::tests::upscale_lets_every_form_enlarge_and_names_the_size_and_ratio ... ok
[INFO] [stdout] test winpath::tests::a_path_with_no_file_name_matches_nothing ... ok
[INFO] [stdout] test winpath::tests::a_unc_path_gets_the_unc_verbatim_prefix ... ok
[INFO] [stdout] test winpath::tests::an_already_verbatim_or_device_path_is_left_alone ... ok
[INFO] [stdout] test winpath::tests::an_unrecognised_shape_is_left_alone ... ok
[INFO] [stdout] test winpath::tests::check_is_a_no_op_off_windows ... ok
[INFO] [stdout] test winpath::tests::com0_and_lpt0_are_not_reserved ... ok
[INFO] [stdout] test winpath::tests::matching_is_case_insensitive ... ok
[INFO] [stdout] test trim::tests::every_form_parses_to_whole_milliseconds ... ok
[INFO] [stdout] test trim::tests::end_and_duration_together_are_refused ... ok
[INFO] [stdout] test winpath::tests::names_that_merely_start_with_a_device_word_are_fine ... ok
[INFO] [stdout] test trim::tests::extra_fraction_digits_round_to_the_millisecond ... ok
[INFO] [stdout] test winpath::tests::a_drive_path_gets_the_plain_verbatim_prefix ... ok
[INFO] [stdout] test video::tests::upscale_to_the_source_size_keeps_it_with_no_hint ... ok
[INFO] [stdout] test winpath::tests::the_long_path_note_names_the_longest_path_and_only_fires_past_the_limit ... ok
[INFO] [stdout] test video::tests::an_empty_tuning_resolves_to_nothing_at_all ... ok
[INFO] [stdout] test winpath::tests::the_long_path_note_says_nothing_about_an_empty_command ... ok
[INFO] [stdout] test winpath::tests::trailing_spaces_and_dots_are_stripped_before_matching ... ok
[INFO] [stdout] test video::tests::upscale_with_no_source_size_applies_as_given_and_warns_generically ... ok
[INFO] [stdout] test winpath::tests::only_the_final_component_is_examined ... ok
[INFO] [stdout] test winpath::tests::only_the_text_before_the_first_dot_decides ... ok
[INFO] [stdout] test winpath::tests::plain_device_names_are_reserved_with_or_without_an_extension ... ok
[INFO] [stdout] test resolve::tests::version_probe_uses_single_dash_for_ffmpeg_ffprobe_and_magick ... ok
[INFO] [stdout] test winpath::tests::verbatim_rewriting_is_a_no_op_off_windows ... ok
[INFO] [stdout] test resolve::tests::a_hung_version_probe_is_killed_and_reported_as_unknown_rather_than_hanging ... ok
[INFO] [stdout] test exec::tests::of_several_inputs_the_one_enlarged_most_decides_and_is_named ... ok
[INFO] [stdout] test resolve::tests::run_with_timeout_kills_a_hung_child_at_the_deadline_not_after ... ok
[INFO] [stdout] test sized::tests::the_preview_probes_and_plans_without_running_ffmpeg ... ok
[INFO] [stdout] test exec::tests::when_retries_run_out_the_last_attempt_is_kept_and_flagged ... ok
[INFO] [stdout] test exec::tests::every_sized_outcome_routes_its_sentences_the_same_way ... ok
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout] test budget::tests::no_extreme_choice_keeps_a_faster_frame_rate_than_its_suggestion ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- exec::tests::a_password_protected_doc_that_fails_says_so stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'exec::tests::a_password_protected_doc_that_fails_says_so' (1429) panicked at src/exec.rs:2014:9:
[INFO] [stdout] assertion `left == right` failed: ConvError { code: InputNotFound, message: "input not found: /opt/rustwide/workdir/../../tests/fixtures/encrypted.doc", backend: None, remediation: None }
[INFO] [stdout]   left: InputNotFound
[INFO] [stdout]  right: PasswordProtected
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5eafef1ca5d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5eafef1e28ca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5eafef1cef3c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5eafef1a2a16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5eafef1c0cb9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5eafef1578a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5eafef1c0e72 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5eafef1a2ac2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5eafef19b2b9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5eafef1a387d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5eafef1e2ffc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5eafef1e2f73 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x5eafef021c2f - core[a373ad73a504971]::panicking::assert_failed::<convkit_core[6657a6c427f76ce3]::error::ErrorCode, convkit_core[6657a6c427f76ce3]::error::ErrorCode>
[INFO] [stdout]   13:     0x5eafeefda2d8 - <convkit_core[6657a6c427f76ce3]::exec::tests::a_password_protected_doc_that_fails_says_so::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5eafef14aceb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x5eafef157ec5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5eafef1517b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5eafef15af52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5eafef1c951f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x72726b6b5dfa - <unknown>
[INFO] [stdout]   20:     0x72726b7493d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- exec::tests::a_password_protected_docx_is_refused_before_libreoffice_runs stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'exec::tests::a_password_protected_docx_is_refused_before_libreoffice_runs' (1431) panicked at src/exec.rs:2050:9:
[INFO] [stdout] assertion `left == right` failed: ConvError { code: InputNotFound, message: "input not found: /opt/rustwide/workdir/../../tests/fixtures/encrypted.docx", backend: None, remediation: None }
[INFO] [stdout]   left: InputNotFound
[INFO] [stdout]  right: PasswordProtected
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5eafef1ca5d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5eafef1e28ca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5eafef1cef3c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5eafef1a2a16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5eafef1c0cb9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5eafef1578a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5eafef1c0e72 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5eafef1a2ac2 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5eafef19b2b9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5eafef1a387d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5eafef1e2ffc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5eafef1e2f73 - core[a373ad73a504971]::panicking::assert_failed_inner
[INFO] [stdout]   12:     0x5eafef021c2f - core[a373ad73a504971]::panicking::assert_failed::<convkit_core[6657a6c427f76ce3]::error::ErrorCode, convkit_core[6657a6c427f76ce3]::error::ErrorCode>
[INFO] [stdout]   13:     0x5eafeefe9813 - <convkit_core[6657a6c427f76ce3]::exec::tests::a_password_protected_docx_is_refused_before_libreoffice_runs::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5eafef14aceb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x5eafef157ec5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5eafef1517b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5eafef15af52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5eafef1c951f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x72726b6b5dfa - <unknown>
[INFO] [stdout]   20:     0x72726b7493d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- office::tests::the_password_fixtures_read_as_encrypted stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'office::tests::the_password_fixtures_read_as_encrypted' (2179) panicked at src/office.rs:695:50:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5eafef1ca5d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5eafef1e28ca - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5eafef1cef3c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5eafef1a2a16 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5eafef1c0cb9 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5eafef1578a0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5eafef1c0e72 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5eafef1a2af4 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5eafef19b2b9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5eafef1a387d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5eafef1e2ffc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5eafef1e2fc2 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x5eafef1e2d79 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x5eafef1086c7 - <convkit_core[6657a6c427f76ce3]::office::tests::the_password_fixtures_read_as_encrypted::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x5eafef14aceb - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   15:     0x5eafef157ec5 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   16:     0x5eafef1517b4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x5eafef15af52 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x5eafef1c951f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x72726b6b5dfa - <unknown>
[INFO] [stdout]   20:     0x72726b7493d4 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     exec::tests::a_password_protected_doc_that_fails_says_so
[INFO] [stdout]     exec::tests::a_password_protected_docx_is_refused_before_libreoffice_runs
[INFO] [stdout]     office::tests::the_password_fixtures_read_as_encrypted
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 659 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.90s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae", kill_on_drop: false }`
[INFO] [stdout] bc92057d5c6649b01a200f8cc330f45b94e07312e377659a91dace76dd9de5ae
