[INFO] cloning repository https://github.com/shdwfruit/convkit
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shdwfruit/convkit" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshdwfruit%2Fconvkit", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshdwfruit%2Fconvkit'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b7d53a8647373a9bb2d607f8e52ebf5c9c8a34ac
[INFO] testing shdwfruit/convkit against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshdwfruit%2Fconvkit" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shdwfruit/convkit
[INFO] finished tweaking git repo https://github.com/shdwfruit/convkit
[INFO] tweaked toml for git repo https://github.com/shdwfruit/convkit written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shdwfruit/convkit 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 git repo https://github.com/shdwfruit/convkit 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]  --> crates/convkit-core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/conv/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-diff/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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-diff` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765
[INFO] running `Command { std: "docker" "start" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", 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" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765" "/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" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", 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" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/conv/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-diff/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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-diff` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling indexmap v2.14.1
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling xattr v1.6.1
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling portable-atomic v1.15.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling tar v0.4.46
[INFO] [stderr]    Compiling lzma-rs v0.3.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling which v8.0.6
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling wild v2.2.1
[INFO] [stderr]    Compiling glob v0.3.4
[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 zerotrie v0.2.5
[INFO] [stderr]    Compiling clap_derive v4.6.4
[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 icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling clap v4.6.6
[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.3.1 (/opt/rustwide/workdir/crates/convkit-core)
[INFO] [stderr]    Compiling convkit v0.3.1 (/opt/rustwide/workdir/crates/conv)
[INFO] [stderr]    Compiling convkit-diff v0.3.1 (/opt/rustwide/workdir/crates/convkit-diff)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 30s
[INFO] running `Command { std: "docker" "inspect" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", 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" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/conv/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-diff/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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-diff` (manifest) generated 1 warning
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[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 wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling convkit-diff v0.3.1 (/opt/rustwide/workdir/crates/convkit-diff)
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling convkit-core v0.3.1 (/opt/rustwide/workdir/crates/convkit-core)
[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.3.1 (/opt/rustwide/workdir/crates/conv)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 39.67s
[INFO] running `Command { std: "docker" "inspect" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", 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" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/conv/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-core/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]  --> crates/convkit-diff/Cargo.toml:9:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | repository.workspace = true
[INFO] [stderr]   | ----------
[INFO] [stderr] 9 | homepage.workspace = true
[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-diff` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/convkit/5a55d45278b4544c/out/conv-5a55d45278b4544c)
[INFO] [stdout] running 166 tests
[INFO] [stdout] test batch::tests::exit_code_is_zero_when_every_job_succeeds ... ok
[INFO] [stdout] test cli::tests::max_size_and_crf_conflict ... ok
[INFO] [stdout] test cli::tests::max_size_parses_and_rejects_a_bare_number ... ok
[INFO] [stdout] test batch::tests::the_retry_label_names_the_attempt_and_how_far_over ... ok
[INFO] [stdout] test batch::tests::a_step_message_carries_the_retry_label_when_there_is_one ... 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::convert::tests::failed_on_missing_backend_is_false_for_a_different_error_code ... ok
[INFO] [stdout] test batch::tests::exit_code_is_batch_partial_failure_on_a_genuinely_mixed_result ... ok
[INFO] [stdout] test commands::convert::tests::available_for_skips_the_check_for_a_pair_with_no_fallback ... 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::convert::tests::failed_on_missing_backend_matches_only_the_named_backend ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_is_none_when_two_different_backends_are_missing ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_finds_the_sole_backend_missing_failure ... ok
[INFO] [stdout] test commands::convert::tests::missing_backend_tolerates_repeats_of_the_same_backend ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_skips_the_probe_for_a_pair_that_can_never_remux ... ok
[INFO] [stdout] test commands::doctor::tests::a_long_real_ffmpeg_version_token_is_capped_at_the_column_width ... ok
[INFO] [stdout] test cli::tests::resolver_maps_every_flag_to_its_own_backend_override ... 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_recognises_every_canonical_exe_name ... ok
[INFO] [stdout] test commands::install::tests::parse_backend_rejects_nonsense ... ok
[INFO] [stdout] test commands::install::tests::parse_backend_is_case_insensitive ... ok
[INFO] [stdout] test commands::install::tests::success_envelope_installed_array_has_one_entry_when_nothing_is_bundled ... ok
[INFO] [stdout] test commands::install::tests::success_envelope_keeps_backend_and_path_and_adds_installed ... ok
[INFO] [stdout] test commands::install::tests::success_lines_human_names_the_requested_backend_first_regardless_of_vec_order ... 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::convert::tests::probed_for_reads_the_image_a_jpg_targets_notes_depend_on ... ok
[INFO] [stdout] test commands::update::tests::cargo_update_hint_installs_the_published_crate_with_a_locked_dependency_set ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_nonzero_when_a_managed_backend_is_outdated ... 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::a_stale_receipt_never_overrides_a_homebrew_path ... 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::check_exit_code_is_zero_when_a_managed_backend_was_never_installed ... ok
[INFO] [stdout] test commands::update::tests::check_exit_code_is_zero_when_every_managed_backend_is_current ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_magick_as_unmanaged_on_every_platform ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_not_installed_when_a_managed_backend_is_absent_everywhere ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_reports_a_webm_video_knobs_missing_probe_as_the_real_error ... ok
[INFO] [stdout] test commands::convert::tests::available_for_checks_availability_for_a_pair_with_a_fallback_recipe ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_soffice_as_unmanaged_and_not_installed_when_unresolvable ... ok
[INFO] [stdout] test commands::convert::tests::probed_for_runs_ffprobe_on_a_pair_that_might_remux ... 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::conv_self_report_always_reports_the_running_cargo_pkg_version ... ok
[INFO] [stdout] test commands::update::tests::detects_a_cargo_bin_install ... 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_a_backend_resolved_outside_the_managed_dir_as_external_never_outdated ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_opt_homebrew_prefix ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_through_a_symlink_via_canonicalization ... 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::no_receipt_file_falls_through_to_the_ordinary_path_based_detection ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_intel_cellar_prefix ... ok
[INFO] [stdout] test commands::update::tests::dist_update_hint_points_at_the_readme_installer_one_liner ... ok
[INFO] [stdout] test commands::update::tests::falls_back_to_unknown_for_an_unrecognised_location ... ok
[INFO] [stdout] test commands::update::tests::classify_reports_outdated_when_the_managed_dir_copy_differs_from_the_pin ... ok
[INFO] [stdout] test commands::update::tests::detects_homebrew_via_the_linuxbrew_prefix ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_never_touches_an_external_backends_report ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_never_touches_an_unmanaged_backends_report ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_reinstalls_an_outdated_backend ... 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 batch::tests::run_stamps_elapsed_ms_and_carries_the_target_format ... ok
[INFO] [stdout] test commands::update::tests::update_exit_code_is_nonzero_when_every_attempted_install_failed ... 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_records_a_failure_without_stopping_other_backends ... ok
[INFO] [stdout] test commands::update::tests::update_exit_code_is_zero_when_nothing_errored ... ok
[INFO] [stdout] test commands::update::tests::perform_updates_calls_the_installer_once_for_a_bundled_pair ... 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_derived_name_that_another_job_also_writes_is_refused ... ok
[INFO] [stdout] test input::tests::a_glob_the_shell_quoted_is_expanded_here ... 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_directory_with_a_non_pdf_output_positional_is_rejected ... ok
[INFO] [stdout] test input::tests::a_derived_name_that_is_another_jobs_input_is_refused ... ok
[INFO] [stdout] test input::tests::a_directory_in_the_output_position_is_rejected_not_expanded ... ok
[INFO] [stdout] test input::tests::a_fan_out_suffixes_only_the_outputs_that_would_land_on_their_input ... 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_path_with_no_wildcard_is_untouched ... ok
[INFO] [stdout] test input::tests::a_pattern_matching_nothing_is_left_alone ... ok
[INFO] [stdout] test input::tests::a_read_only_extension_is_accepted_as_an_input ... ok
[INFO] [stdout] test input::tests::a_read_only_extension_is_refused_in_every_output_slot ... ok
[INFO] [stdout] test input::tests::a_quoted_glob_matching_several_files_under_max_size_is_refused ... ok
[INFO] [stdout] test input::tests::a_single_directory_positional_without_to_is_rejected ... ok
[INFO] [stdout] test input::tests::a_single_path_whose_format_cannot_be_sized_names_the_fix ... ok
[INFO] [stdout] test input::tests::a_real_file_named_like_a_pattern_wins_over_globbing_it ... ok
[INFO] [stdout] test input::tests::a_quoted_glob_matching_one_file_under_max_size_is_the_single_form ... 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_pair_is_refused_only_when_its_output_exists_in_the_inputs_format ... ok
[INFO] [stdout] test input::tests::colliding_basenames_under_outdir_are_rejected ... 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::an_output_landing_on_another_inputs_path_is_refused ... 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::a_pair_that_cannot_be_sized_is_not_told_to_add_to ... ok
[INFO] [stdout] test input::tests::bare_extension_shorthand_typo_still_suggests_a_correction ... ok
[INFO] [stdout] test input::tests::dot_backslash_relative_path_is_not_bare_extension_shorthand ... ok
[INFO] [stdout] test input::tests::dot_dot_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::many_images_and_a_pdf_become_one_merge_job ... ok
[INFO] [stdout] test input::tests::outdir_redirects_outputs ... ok
[INFO] [stdout] test input::tests::natural_cmp_orders_numeric_runs_by_value_not_first_digit ... ok
[INFO] [stdout] test input::tests::distinct_stems_still_batch_cleanly_without_outdir ... ok
[INFO] [stdout] test input::tests::plan_jobs_creates_the_outdir_when_it_does_not_exist ... ok
[INFO] [stdout] test input::tests::parent_relative_path_is_not_bare_extension_shorthand ... 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_does_not_create_the_outdir_under_dry_run ... ok
[INFO] [stdout] test input::tests::plan_jobs_tolerates_an_outdir_that_already_exists ... ok
[INFO] [stdout] test input::tests::plan_jobs_expands_a_directory_of_scans_in_natural_page_order ... ok
[INFO] [stdout] test input::tests::dot_slash_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_glob_refusal_suggests_the_pattern_own_container_when_it_can_be_sized ... ok
[INFO] [stdout] test input::tests::several_paths_under_max_size_without_to_name_the_fix ... ok
[INFO] [stdout] test input::tests::relative_and_absolute_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::the_ext_shorthand_is_derived_and_so_is_suffixed ... ok
[INFO] [stdout] test input::tests::two_positionals_are_a_single_pair_not_a_merge ... ok
[INFO] [stdout] test input::tests::symlinked_directory_spellings_of_one_output_collide ... ok
[INFO] [stdout] test input::tests::the_single_form_suggests_to_mp4_only_where_it_would_work ... ok
[INFO] [stdout] test input::tests::outdir_matching_the_scanned_directory_still_converts_fresh_input ... ok
[INFO] [stdout] test input::tests::directory_expansion_skips_files_already_in_the_target_format ... ok
[INFO] [stdout] test input::tests::the_output_positional_is_never_globbed ... ok
[INFO] [stdout] test input::tests::to_flag_makes_one_job_per_input ... ok
[INFO] [stdout] test input::tests::with_an_outdir_elsewhere_the_name_is_kept ... ok
[INFO] [stdout] test install_prompt::tests::no_install_always_wins_even_with_yes_also_set ... ok
[INFO] [stdout] test input::tests::without_max_size_a_single_path_is_still_an_incomplete_invocation ... ok
[INFO] [stdout] test install_prompt::tests::json_mode_never_installs_even_with_yes ... ok
[INFO] [stdout] test install_prompt::tests::magick_is_never_offerable_on_any_platform ... ok
[INFO] [stdout] test input::tests::with_the_inputs_own_directory_as_outdir_the_name_is_suffixed ... ok
[INFO] [stdout] test install_prompt::tests::plain_no_install_flag_refuses_a_managed_backend_too ... ok
[INFO] [stdout] test install_prompt::tests::soffice_is_never_offerable ... ok
[INFO] [stdout] test render::tests::a_combining_mark_survives_as_itself ... ok
[INFO] [stdout] test install_prompt::tests::yes_proceeds_without_prompting_when_a_managed_build_exists ... ok
[INFO] [stdout] test render::tests::a_note_already_shown_is_not_printed_again ... ok
[INFO] [stdout] test install_prompt::tests::prompt_message_has_no_bundle_note_when_nothing_is_bundled ... ok
[INFO] [stdout] test install_prompt::tests::quiet_mode_never_installs_even_with_yes ... 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 prompt::tests::who_answers_the_extreme_question ... ok
[INFO] [stdout] test install_prompt::tests::prompt_message_names_the_bundled_sibling_on_windows_x64 ... ok
[INFO] [stdout] test render::tests::a_suggested_command_swaps_only_the_size ... ok
[INFO] [stdout] test render::tests::a_path_with_a_space_keeps_its_real_backslashes ... ok
[INFO] [stdout] test render::tests::ansi_is_always_supported_off_windows ... ok
[INFO] [stdout] test render::tests::a_suggestion_follows_an_extreme_result ... ok
[INFO] [stdout] test render::tests::batch_summary_counts_a_genuine_conversion_failure_as_failed ... ok
[INFO] [stdout] test render::tests::ansi_support_is_decided_once_and_stays_decided ... ok
[INFO] [stdout] test render::tests::batch_summary_shows_a_representative_output_location ... ok
[INFO] [stdout] test render::tests::batch_summary_counts_output_exists_as_skipped_not_failed ... ok
[INFO] [stdout] test render::tests::a_batch_hint_names_the_file_and_leaves_the_command_out ... ok
[INFO] [stdout] test render::tests::batch_summary_unstyled_has_no_escape_codes ... ok
[INFO] [stdout] test render::tests::failure_styled_has_the_cross_glyph_and_arrow ... ok
[INFO] [stdout] test render::tests::failure_unstyled_is_plain_ascii_using_an_ascii_arrow ... ok
[INFO] [stdout] test render::tests::human_size_uses_whole_kb_below_one_mb ... ok
[INFO] [stdout] test render::tests::json_carries_the_sizing_report_only_when_sized ... ok
[INFO] [stdout] test render::tests::ordinary_flags_and_names_are_left_bare ... ok
[INFO] [stdout] test render::tests::styling_needs_both_a_terminal_and_a_console_that_reads_ansi ... ok
[INFO] [stdout] test render::tests::an_embedded_quote_is_escaped_the_way_the_host_shell_spells_it ... ok
[INFO] [stdout] test render::tests::an_empty_token_is_quoted_rather_than_vanishing ... ok
[INFO] [stdout] test render::tests::human_elapsed_shows_one_decimal_below_a_minute ... ok
[INFO] [stdout] test render::tests::human_elapsed_switches_to_minutes_and_seconds_at_a_minute ... ok
[INFO] [stdout] test render::tests::human_size_matches_the_briefs_worked_example ... ok
[INFO] [stdout] test render::tests::failure_prefers_the_managed_remediation_over_the_manual_one ... ok
[INFO] [stdout] test render::tests::success_output_is_never_more_than_four_lines ... ok
[INFO] [stdout] test render::tests::the_extreme_block_names_files_only_when_there_are_several ... ok
[INFO] [stdout] test render::tests::success_styled_has_the_check_glyph_ansi_and_the_absolute_path ... ok
[INFO] [stdout] test render::tests::success_unstyled_is_plain_ascii_with_no_escape_codes ... ok
[INFO] [stdout] test render::tests::success_demotes_a_warning_onto_its_own_note_line ... ok
[INFO] [stdout] test render::tests::success_names_a_lossless_remux_on_the_result_line ... ok
[INFO] [stdout] test render::tests::the_gif_filter_graph_is_quoted_even_though_it_has_no_spaces ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 166 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/build/convkit/ef4604b038159be9/out/cli-ef4604b038159be9)
[INFO] [stdout] 
[INFO] [stdout] running 98 tests
[INFO] [stdout] test a_conversion_only_flag_after_a_subcommand_is_rejected ... ok
[INFO] [stdout] test a_frame_rate_accepts_integers_decimals_and_rationals ... ok
[INFO] [stdout] test a_large_percentage_upscale_without_yes_writes_nothing_and_says_why ... ok
[INFO] [stdout] test a_json_refusal_is_confirmation_required_with_no_human_block ... ok
[INFO] [stdout] test a_batch_with_extreme_jobs_asks_once_and_writes_nothing ... ok
[INFO] [stdout] test a_negative_frame_rate_is_refused_by_the_argument_parser_before_the_validator ... ok
[INFO] [stdout] test a_large_upscale_dry_run_warns_and_never_asks ... ok
[INFO] [stdout] test a_batch_of_large_upscales_asks_once_and_names_each ... ok
[INFO] [stdout] test a_nonsense_frame_rate_is_refused_with_the_forms_named ... ok
[INFO] [stdout] test a_real_failing_conversion_writes_nothing_to_stdout_and_reports_on_stderr ... ok
[INFO] [stdout] test a_job_whose_output_exists_is_not_asked_about ... ok
[INFO] [stdout] test a_sized_dry_run_of_an_extreme_source_warns_and_suggests ... ok
[INFO] [stdout] test a_confirmed_extreme_conversion_prints_its_warning_once ... ok
[INFO] [stdout] test a_webm_knob_with_no_ffprobe_names_ffprobe_not_a_false_refusal ... ok
[INFO] [stdout] test an_argument_that_is_not_utf8_does_not_break_the_result_printer ... ok
[INFO] [stdout] test a_sized_json_dry_run_carries_the_choice ... ok
[INFO] [stdout] test an_existing_same_format_output_is_refused_under_max_size_even_with_y ... ok
[INFO] [stdout] test a_sized_dry_run_shows_both_passes_and_the_plan ... ok
[INFO] [stdout] test a_zero_dimension_geometry_is_refused ... ok
[INFO] [stdout] test an_upscaled_image_dry_run_drops_the_shrink_only_flag_and_warns ... ok
[INFO] [stdout] test capabilities_advertises_the_video_chain_flags_for_webm_targets ... ok
[INFO] [stdout] test capabilities_and_scan_agree_on_the_kind_spelling ... ok
[INFO] [stdout] test a_png_target_notes_only_a_multi_frame_source ... ok
[INFO] [stdout] test capabilities_lists_max_size_for_video_targets_only ... ok
[INFO] [stdout] test an_existing_same_format_output_that_cannot_be_sized_is_refused_by_the_flag ... ok
[INFO] [stdout] test capabilities_lists_the_video_knobs_for_a_video_target ... ok
[INFO] [stdout] test an_argument_that_is_not_utf8_does_not_break_the_extreme_warning ... ok
[INFO] [stdout] test capabilities_json_lists_pairs_with_their_backends ... ok
[INFO] [stdout] test capabilities_lists_upscale_wherever_it_lists_resize ... ok
[INFO] [stdout] test defaults_are_per_target_because_one_format_has_several ... ok
[INFO] [stdout] test capabilities_no_longer_advertises_quality_for_video ... ok
[INFO] [stdout] test capabilities_say_max_size_keeps_the_tracks_the_mp4_recipe_drops ... ok
[INFO] [stdout] test dot_extension_form_derives_the_output_name ... ok
[INFO] [stdout] test capabilities_with_a_format_lists_tuning_flags_and_defaults ... ok
[INFO] [stdout] test an_extreme_target_without_yes_writes_nothing_and_says_why ... 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 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_of_an_extreme_source_plans_without_asking ... ok
[INFO] [stdout] test dry_run_still_previews_soffice_when_it_is_available_even_alongside_pandoc_and_typst ... ok
[INFO] [stdout] test help_carries_no_notes_meant_for_the_source ... ok
[INFO] [stdout] test install_magick_reports_no_managed_build_on_every_platform ... ok
[INFO] [stdout] test install_rejects_an_unrecognised_backend_name ... ok
[INFO] [stdout] test failing_conversion_prints_a_fail_header_message_and_one_remediation_line ... ok
[INFO] [stdout] test install_soffice_json_refusal_has_no_managed_remediation ... ok
[INFO] [stdout] test install_soffice_refuses_without_attempting_a_download ... ok
[INFO] [stdout] test json_dry_run_reports_ok_and_the_first_step_program ... ok
[INFO] [stdout] test json_error_envelope_lands_on_stderr_when_no_job_could_be_built_at_all ... ok
[INFO] [stdout] test json_mode_never_prompts_on_a_missing_backend ... ok
[INFO] [stdout] test json_dry_run_reports_a_per_job_plan_failure_inside_the_plans_array_not_stderr ... ok
[INFO] [stdout] test max_size_on_a_gif_target_is_refused_by_name ... ok
[INFO] [stdout] test json_success_is_unchanged_except_for_the_additive_elapsed_ms_key ... ok
[INFO] [stdout] test a_large_upscale_asks_and_yes_answers_it ... ok
[INFO] [stdout] test no_install_flag_never_prompts_even_though_it_would_otherwise_be_offerable ... ok
[INFO] [stdout] test max_size_without_a_unit_is_a_usage_error ... ok
[INFO] [stdout] test max_size_with_an_output_equal_to_the_input_is_refused_even_with_y ... ok
[INFO] [stdout] test quiet_flag_never_prompts_either ... ok
[INFO] [stdout] test piped_stdin_never_prompts_and_reports_the_structured_error ... ok
[INFO] [stdout] test quiet_suppresses_success_output_entirely ... ok
[INFO] [stdout] test resize_geometry_rejects_magick_operators ... ok
[INFO] [stdout] test scan_json_keeps_the_listing_when_one_path_is_missing ... ok
[INFO] [stdout] test scan_honours_quiet ... ok
[INFO] [stdout] test scan_json_reports_failure_in_the_envelope_not_only_the_exit_code ... ok
[INFO] [stdout] test scan_json_reports_each_file_with_its_targets ... ok
[INFO] [stdout] test scan_lists_convertible_files_with_their_targets ... ok
[INFO] [stdout] test four_times_the_pixels_warns_without_asking ... ok
[INFO] [stdout] test scan_json_uses_the_types_own_kind_spelling ... ok
[INFO] [stdout] test scan_still_lists_what_it_found_alongside_a_missing_path ... ok
[INFO] [stdout] test scan_reports_a_missing_path_instead_of_describing_it ... ok
[INFO] [stdout] test scan_needs_no_backends ... ok
[INFO] [stdout] test scan_truncates_an_overlong_name_instead_of_breaking_the_columns ... ok
[INFO] [stdout] test several_videos_under_max_size_without_to_are_told_to_add_to ... ok
[INFO] [stdout] test subcommand_help_never_lists_conversion_only_flags ... ok
[INFO] [stdout] test subcommand_help_still_lists_the_genuinely_global_flags ... ok
[INFO] [stdout] test the_conversion_path_still_accepts_every_conversion_only_flag ... ok
[INFO] [stdout] test top_level_help_lists_the_update_subcommand ... 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 unknown_extension_exits_two_and_suggests ... ok
[INFO] [stdout] test unsupported_pair_exits_two ... ok
[INFO] [stdout] test tuning_without_a_slot_is_refused_with_the_reason ... ok
[INFO] [stdout] test update_check_json_envelope_lands_on_stderr_when_a_managed_backend_is_outdated ... ok
[INFO] [stdout] test update_check_json_reports_a_never_installed_backend_as_not_installed_and_ok ... ok
[INFO] [stdout] test update_help_explains_the_pinned_not_latest_design_and_no_self_replace ... ok
[INFO] [stdout] test update_check_reports_every_managed_backend_as_not_installed_in_an_isolated_environment ... ok
[INFO] [stdout] test update_no_install_behaves_like_check_and_never_downloads ... ok
[INFO] [stdout] test upscale_needs_resize_and_cannot_join_max_size ... ok
[INFO] [stdout] test verbose_and_quiet_together_is_a_usage_error ... ok
[INFO] [stdout] test yes_and_no_install_together_is_a_usage_error ... ok
[INFO] [stdout] test verbose_prints_the_spawned_command_line_on_stderr ... ok
[INFO] [stdout] test yes_answers_the_extreme_question_and_the_conversion_starts ... ok
[INFO] [stdout] test the_gif_buffering_note_shows_only_for_a_long_source ... ok
[INFO] [stdout] test a_jpg_targets_note_says_only_what_the_source_holds ... ok
[INFO] [stdout] test scan_json_survives_a_closed_pipe ... ok
[INFO] [stdout] test doctor_json_marks_imagemagick_as_manual_install_only ... ok
[INFO] [stdout] test doctor_json_marks_libreoffice_as_manual_install_only ... ok
[INFO] [stdout] test doctor_reports_every_backend_and_never_exits_nonzero_for_missing_ones ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 98 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/convkit-core/eed0fb10c2cec1fd/out/convkit_core-eed0fb10c2cec1fd)
[INFO] [stdout] 
[INFO] [stdout] running 509 tests
[INFO] [stdout] test backend_overrides::tests::explicit_ffprobe_wins_over_the_ffmpeg_sibling_inference ... ok
[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::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 backend_overrides::tests::ffmpeg_alone_still_infers_the_sibling_ffprobe ... ok
[INFO] [stdout] test backend_overrides::tests::an_inferred_ffprobe_sibling_that_does_not_exist_also_errors ... ok
[INFO] [stdout] test backend_overrides::tests::each_override_lands_on_exactly_its_own_backend ... ok
[INFO] [stdout] test budget::tests::a_cap_leaves_out_larger_pictures_and_is_charged_as_loss ... ok
[INFO] [stdout] test budget::tests::a_generous_target_keeps_the_source_as_it_is ... 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_very_short_clip_under_a_normal_target_is_left_alone ... ok
[INFO] [stdout] test budget::tests::a_portrait_source_steps_its_short_side_and_stays_portrait ... ok
[INFO] [stdout] test budget::tests::audio_is_never_raised_above_the_source ... 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::a_larger_target_never_costs_more ... 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::audio_tracks_are_counted_and_a_silent_source_gets_no_audio_rate ... ok
[INFO] [stdout] test budget::tests::computed_dimensions_round_to_the_nearest_even_value ... ok
[INFO] [stdout] test budget::tests::loss_is_spread_rather_than_drained_from_one_dial ... ok
[INFO] [stdout] test budget::tests::from_probe_names_what_is_missing ... ok
[INFO] [stdout] test budget::tests::from_probe_refuses_a_zero_dimension ... ok
[INFO] [stdout] test budget::tests::nothing_is_ever_upscaled_or_sped_up ... ok
[INFO] [stdout] test budget::tests::ntsc_and_variable_rates_divide_exactly ... ok
[INFO] [stdout] test budget::tests::the_next_short_side_below_is_the_next_step_down ... 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_payload_reserves_margin_overhead_subtitles_and_mkv_attachments ... 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 error::tests::backend_missing_offers_managed_install_for_managed_backends ... ok
[INFO] [stdout] test budget::tests::user_ceilings_are_respected ... ok
[INFO] [stdout] test error::tests::confirmation_required_has_a_stable_json_name ... ok
[INFO] [stdout] test error::tests::exit_codes_match_the_spec ... ok
[INFO] [stdout] test error::tests::no_managed_build_never_offers_a_managed_install_either ... ok
[INFO] [stdout] test error::tests::serialises_to_the_documented_json_envelope ... ok
[INFO] [stdout] test budget::tests::a_choice_publishes_its_rate_in_lowest_terms ... ok
[INFO] [stdout] test error::tests::unknown_format_carries_a_suggestion_in_its_message ... ok
[INFO] [stdout] test error::tests::not_installable_never_offers_a_managed_install ... ok
[INFO] [stdout] test error::tests::unsupported_pair_names_both_formats ... ok
[INFO] [stdout] test budget::tests::a_starved_144_fps_clip_does_not_keep_144_fps ... ok
[INFO] [stdout] test exec::tests::a_backend_that_writes_nothing_is_a_failure_even_on_exit_zero ... ok
[INFO] [stdout] test budget::tests::raising_a_weight_protects_that_dial ... 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_genuine_stream_copy_is_still_reported_as_one ... ok
[INFO] [stdout] test exec::tests::a_fallback_encode_that_is_extreme_is_refused_unless_allowed ... 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_cost_extreme_plan_keeps_its_quality_note_when_the_encode_fits ... ok
[INFO] [stdout] test exec::tests::a_read_only_source_is_copied_to_a_writable_output ... ok
[INFO] [stdout] test exec::tests::a_mid_recipe_failure_leaves_no_scratch_directory_behind ... 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_large_upscale_is_refused_unless_allowed_and_nothing_runs ... ok
[INFO] [stdout] test budget::tests::a_picture_capped_144_fps_clip_does_not_keep_144_fps ... 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_jpg_targets_note_follows_the_image_read ... 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_retry_replaces_the_notes_of_the_attempt_before_it ... ok
[INFO] [stdout] test exec::tests::a_remux_that_comes_out_over_falls_back_to_an_encode ... ok
[INFO] [stdout] test exec::tests::a_retry_that_would_turn_extreme_waits_for_consent ... ok
[INFO] [stdout] test exec::tests::a_retry_stops_at_the_encoder_floor_rather_than_repeating_an_attempt ... ok
[INFO] [stdout] test exec::tests::a_shrinking_upscale_warns_nothing ... ok
[INFO] [stdout] test exec::tests::a_retry_that_turns_extreme_runs_with_consent_and_says_so ... ok
[INFO] [stdout] test budget::tests::no_capped_choice_is_larger_than_its_cap ... ok
[INFO] [stdout] test exec::tests::a_successful_step_renames_into_place_and_reports_size ... ok
[INFO] [stdout] test exec::tests::a_source_already_small_enough_is_copied_byte_for_byte ... 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_sized_encode_that_fits_first_time_runs_two_passes ... ok
[INFO] [stdout] test exec::tests::a_size_retry_event_carries_the_attempt_and_the_measurement ... 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::a_target_missed_only_by_the_margin_is_a_quality_note_when_the_encode_fits ... ok
[INFO] [stdout] test exec::tests::an_ordinary_step_is_left_in_plain_path_form ... ok
[INFO] [stdout] test exec::tests::an_extreme_plan_is_refused_unless_allowed_and_nothing_runs ... 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::classifier_dedups_and_caps_with_an_honest_overflow_count ... ok
[INFO] [stdout] test exec::tests::an_encode_over_the_target_is_planned_again_and_runs_both_passes ... ok
[INFO] [stdout] test exec::tests::an_image_on_its_side_is_sized_as_it_will_be_shown ... ok
[INFO] [stdout] test exec::tests::an_svg_is_sized_at_the_density_it_renders_at ... 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::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::fallback_recipe_substitutes_the_real_typst_path_and_never_touches_soffice ... 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::an_image_is_only_sized_for_upscale ... 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::every_page_an_input_brings_is_sized ... ok
[INFO] [stdout] test exec::tests::locate_outdir_result_ignores_directories ... 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::an_unreadable_size_warns_generically_and_does_not_ask ... 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::no_temp_files_survive_a_successful_run ... 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::four_times_the_pixels_runs_unasked_and_reports_the_enlargement ... ok
[INFO] [stdout] test exec::tests::run_emits_step_spawned_with_the_resolved_program_and_final_argv ... 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::run_emits_step_report_with_the_backend_transcript_even_on_failure ... ok
[INFO] [stdout] test exec::tests::the_mkv_per_stream_transcode_is_also_not_a_stream_copy ... ok
[INFO] [stdout] test exec::tests::outdir_recipe_never_touches_a_decoy_already_in_the_destination_directory ... ok
[INFO] [stdout] test exec::tests::run_permits_clobbering_an_existing_output_when_overwrite_is_true ... 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::the_real_soffice_invocation_substitutes_the_real_url_for_the_dry_run_placeholder ... 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 format::tests::classifies_kinds ... ok
[INFO] [stdout] test exec::tests::the_stderr_tail_reads_in_natural_top_to_bottom_order ... ok
[INFO] [stdout] test format::tests::parses_extensions_case_insensitively_and_with_dots ... ok
[INFO] [stdout] test format::tests::round_trips_canonical_extension ... ok
[INFO] [stdout] test format::tests::no_extension_is_both_writable_and_read_only ... 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 format::tests::suggest_returns_none_for_empty_needle ... 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 install::tests::capped_writer_accepts_writes_up_to_and_including_the_cap ... 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 install::tests::extract_tar_gz_tolerates_a_leading_dot_slash_in_the_entry_name ... 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_tar_xz_finds_the_named_member ... ok
[INFO] [stdout] test install::tests::extract_zip_finds_the_named_member ... ok
[INFO] [stdout] test install::tests::install_bytes_leaves_dest_untouched_when_the_final_rename_fails ... ok
[INFO] [stdout] test install::tests::extract_zip_reports_a_missing_member ... 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::install_bytes_leaves_no_temp_file_when_the_write_itself_fails ... ok
[INFO] [stdout] test install::tests::verify_accepts_the_real_digest ... 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::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_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::every_ffmpeg_and_ffprobe_entry_pins_the_same_version_across_every_platform ... 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 manifest::tests::version_is_current_accepts_an_exact_match ... ok
[INFO] [stdout] test manifest::tests::version_is_current_rejects_a_genuinely_different_version ... 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_rate_on_a_silent_source_adds_no_audio_arguments ... ok
[INFO] [stdout] test media::tests::a_silent_source_gets_no_audio_rate ... 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 manifest::tests::version_is_current_rejects_a_longer_version_that_merely_shares_a_prefix ... ok
[INFO] [stdout] test media::tests::a_transcode_to_mp4_carries_an_encoder_and_a_pixel_format ... 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::a_transcode_to_webm_uses_vp9_and_its_own_anchor ... 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::an_illegal_audio_track_reencodes_only_itself ... ok
[INFO] [stdout] test media::tests::both_passes_encode_at_the_same_frame_rate_mode ... ok
[INFO] [stdout] test media::tests::data_stream_warnings_track_what_each_muxer_actually_does ... ok
[INFO] [stdout] test media::tests::every_audio_track_shares_one_reencode_rate ... 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_copies_text_subtitles_explicitly ... 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_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::non_video_targets_and_videoless_sources_get_none ... ok
[INFO] [stdout] test media::tests::incompatible_audio_alone_never_reencodes_the_video ... 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::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 plan::tests::a_cap_that_does_not_bind_reaches_the_plans_warnings ... 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 exec::tests::of_several_inputs_the_one_enlarged_most_decides_and_is_named ... 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_plan_carries_only_the_notes_its_source_needs ... 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_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_resize_that_does_not_bind_keeps_the_stream_copy ... ok
[INFO] [stdout] test plan::tests::a_video_knob_reaches_the_gif_to_mp4_static_recipe ... 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::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::build_tuned_fills_the_image_recipe_slots ... 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_unsized_plan_serialises_without_a_sizing_key ... ok
[INFO] [stdout] test plan::tests::compatible_codecs_select_the_remux_recipe ... 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::build_without_tuning_is_byte_identical_to_the_static_table ... 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::empty_inputs_is_rejected_rather_than_panicking ... ok
[INFO] [stdout] test plan::tests::mp4_to_mov_with_compatible_codecs_selects_the_mov_remux_variant ... ok
[INFO] [stdout] test plan::tests::no_availability_hint_yields_the_canonical_soffice_recipe ... ok
[INFO] [stdout] test plan::tests::odt_to_pdf_also_falls_back_to_pandoc_and_typst ... ok
[INFO] [stdout] test plan::tests::planned_step_output_is_the_path_that_step_writes ... ok
[INFO] [stdout] test plan::tests::program_is_the_bare_exe_name_so_snapshots_are_machine_independent ... ok
[INFO] [stdout] test plan::tests::quality_on_a_lossless_target_is_refused_but_resize_works ... ok
[INFO] [stdout] test plan::tests::only_the_soffice_step_of_a_multi_step_plan_gets_the_placeholder ... 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::soffice_step_shows_the_user_installation_placeholder_first_in_its_argv ... ok
[INFO] [stdout] test plan::tests::no_refusal_message_says_for_now_any_more ... ok
[INFO] [stdout] test plan::tests::tuning_on_media_pairs_is_refused_on_both_paths ... 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_video_resize_enlarge_and_warns ... ok
[INFO] [stdout] test plan::tests::upscale_lets_an_image_resize_enlarge_and_warns ... ok
[INFO] [stdout] test plan::tests::warnings_travel_on_the_plan ... ok
[INFO] [stdout] test plan::tests::xlsx_and_pptx_never_fall_back_even_when_soffice_is_unavailable ... 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_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_rotated_source_reports_stored_dimensions_and_displayed_ones_separately ... 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::a_video_stream_yields_dimensions_and_a_rational_frame_rate ... ok
[INFO] [stdout] test probe::tests::a_zero_audio_bitrate_is_unknown ... ok
[INFO] [stdout] test plan::tests::upscale_lets_a_gif_resize_enlarge_and_warns ... 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::audio_bitrates_stay_parallel_to_audio_codecs ... ok
[INFO] [stdout] test probe::tests::cover_art_contributes_no_dimensions ... ok
[INFO] [stdout] test probe::tests::extracts_first_video_and_audio_codec ... ok
[INFO] [stdout] test probe::tests::extracts_the_first_subtitle_codec_too ... ok
[INFO] [stdout] test probe::tests::malformed_json_yields_an_empty_probe_rather_than_failing ... ok
[INFO] [stdout] test probe::tests::a_tiff_ping_cannot_rule_alpha_out ... 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::records_the_full_stream_inventory ... ok
[INFO] [stdout] test probe::tests::the_lower_of_the_two_reported_rates_wins ... 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_alpha_and_whether_a_second_frame_follows ... ok
[INFO] [stdout] test procutil::tests::backend_command_targets_the_given_path ... ok
[INFO] [stdout] test recipe::tests::a_size_target_alone_makes_tuning_non_empty ... ok
[INFO] [stdout] test recipe::tests::an_image_resize_only_enlarges_with_upscale ... 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::empty_tuning_renders_exactly_the_static_default_argv ... ok
[INFO] [stdout] test recipe::tests::every_tuning_field_on_its_own_makes_the_struct_non_empty ... 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::path_positions_track_tune_slot_expansion ... ok
[INFO] [stdout] test recipe::tests::a_tuned_crf_slot_renders_the_users_value ... ok
[INFO] [stdout] test recipe::tests::renders_positional_input_and_output ... ok
[INFO] [stdout] test recipe::tests::the_first_frame_selector_is_still_a_path_position ... ok
[INFO] [stdout] test recipe::tests::tuning_fills_its_slots_and_only_its_slots ... ok
[INFO] [stdout] test registry::tests::a_jpg_target_notes_only_what_the_source_holds ... ok
[INFO] [stdout] test registry::tests::a_tuned_fps_overrides_the_recipes_authored_default ... 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::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::audio_to_wav_still_drops_video_and_warns_about_bit_depth ... 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::docx_and_odt_to_pdf_have_a_pandoc_typst_fallback ... ok
[INFO] [stdout] test registry::tests::every_libx264_transcode_scales_to_even_dimensions ... 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_recipe_tonemaps_only_hdr_transfers ... 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 probe::tests::durations_parse_without_floating_point ... ok
[INFO] [stdout] test registry::tests::a_webm_video_knob_requires_a_probe_and_nothing_else_does ... ok
[INFO] [stdout] test registry::tests::lossless_targets_do_not_carry_a_quality_flag ... ok
[INFO] [stdout] test registry::tests::images_merge_into_pdf_using_every_input ... ok
[INFO] [stdout] test registry::tests::md_to_html_is_standalone ... ok
[INFO] [stdout] test registry::tests::md_to_pdf_is_two_steps_via_docx_and_never_touches_latex ... ok
[INFO] [stdout] test registry::tests::image_to_pdf_compresses_with_jpeg_at_the_quality_anchor ... 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 registry::tests::mp4_and_mov_to_mkv_use_the_srt_subs_variant ... ok
[INFO] [stdout] test exec::tests::each_retry_asks_for_less_than_the_last ... 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::notes_about_the_pair_never_depend_on_the_source ... ok
[INFO] [stdout] test registry::tests::no_recipe_sets_user_installation ... ok
[INFO] [stdout] test registry::tests::office_to_pdf_uses_outdir_mode ... ok
[INFO] [stdout] test registry::tests::needs_probe_covers_mov_and_mkv_targets ... ok
[INFO] [stdout] test registry::tests::only_single_image_raster_targets_read_the_source ... ok
[INFO] [stdout] test registry::tests::no_pdf_route_uses_pandoc ... 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::svg_to_png_is_lossless_with_transparent_background ... ok
[INFO] [stdout] test registry::tests::svg_to_jpg_flattens_transparency_onto_white ... ok
[INFO] [stdout] test registry::tests::video_to_mkv_preserves_every_stream_and_carries_no_lossy_warning ... ok
[INFO] [stdout] test registry::tests::single_image_targets_select_the_first_frame_explicitly ... 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::webm_transcode_coerces_channel_layouts_for_libopus ... ok
[INFO] [stdout] test registry::tests::the_gif_buffering_note_shows_only_past_the_threshold ... ok
[INFO] [stdout] test registry::tests::video_transcode_uses_the_spec_quality_anchors ... ok
[INFO] [stdout] test registry::tests::png_and_bmp_targets_note_only_a_multi_frame_source ... ok
[INFO] [stdout] test resolve::tests::a_missing_backend_produces_a_remediable_error ... ok
[INFO] [stdout] test registry::tests::xlsx_and_pptx_to_pdf_have_no_fallback ... ok
[INFO] [stdout] test resolve::tests::an_override_wins_over_everything_else ... ok
[INFO] [stdout] test resolve::tests::available_backends_collects_from_an_iterator_of_backends ... 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 exec::tests::the_encode_after_an_oversized_remux_is_budgeted_at_the_sources_size ... ok
[INFO] [stdout] test resolve::tests::a_convert_that_is_not_imagemagick_is_rejected_by_the_fallback ... ok
[INFO] [stdout] test resolve::tests::check_availability_never_probes_a_backend_outside_the_given_candidates ... ok
[INFO] [stdout] test resolve::tests::convert_fallback_applies_to_magick_off_windows ... 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_ffmpeg_banner ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_imagemagick_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_on_windows ... ok
[INFO] [stdout] test resolve::tests::extracts_the_version_token_from_a_real_soffice_banner ... ok
[INFO] [stdout] test resolve::tests::libreoffice_is_never_offered_as_a_managed_install ... 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::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 exec::tests::when_retries_run_out_the_last_attempt_is_kept_and_flagged ... 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::magick_takes_precedence_over_the_convert_fallback_when_both_exist ... ok
[INFO] [stdout] test resolve::tests::the_redirect_does_not_apply_off_windows ... 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 resolve::tests::run_with_timeout_returns_output_for_a_child_that_exits_promptly ... 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 resolve::tests::version_falls_back_to_stderr_when_stdout_is_empty ... ok
[INFO] [stdout] test resolve::tests::version_probe_uses_double_dash_for_pandoc_and_soffice ... ok
[INFO] [stdout] test size::tests::case_is_ignored_and_the_spelling_is_normalised ... 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::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::malformed_sizes_are_refused_with_the_fix ... ok
[INFO] [stdout] test sized::tests::a_dry_run_of_a_remux_keeps_the_re_encode_fallback_in_view ... 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_says_what_would_happen ... ok
[INFO] [stdout] test sized::tests::a_found_size_is_scaled_up_by_target_over_budget_and_rounded_up ... 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_report_for_a_copy_has_no_encode_settings ... 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_resize_that_binds_caps_the_chosen_picture_and_forces_an_encode ... ok
[INFO] [stdout] test sized::tests::a_resize_that_does_not_bind_leaves_a_small_source_copied ... ok
[INFO] [stdout] test sized::tests::a_retry_held_back_for_consent_says_how_to_give_it ... 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_retry_budget_scales_by_the_overshoot_and_aims_two_percent_lower ... ok
[INFO] [stdout] test sized::tests::a_retry_after_a_saturated_attempt_plans_a_smaller_picture ... ok
[INFO] [stdout] test sized::tests::a_saturated_attempt_caps_the_next_picture_below_its_own ... ok
[INFO] [stdout] test sized::tests::a_sizing_report_serialises_in_its_json_shape ... ok
[INFO] [stdout] test sized::tests::a_rotated_source_is_scaled_in_its_displayed_orientation ... 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_small_source_whose_streams_fit_another_container_is_remuxed ... ok
[INFO] [stdout] test sized::tests::a_sizing_report_writes_its_rate_in_lowest_terms ... 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_source_exactly_at_the_target_fits ... ok
[INFO] [stdout] test sized::tests::a_source_of_unknown_size_is_never_copied_or_remuxed ... ok
[INFO] [stdout] test resolve::tests::version_probe_uses_single_dash_for_ffmpeg_ffprobe_and_magick ... ok
[INFO] [stdout] test sized::tests::a_source_missing_a_fact_the_budget_needs_is_refused_by_name ... ok
[INFO] [stdout] test resolve::tests::a_hung_version_probe_is_killed_and_reported_as_unknown_rather_than_hanging ... ok
[INFO] [stdout] test sized::tests::a_source_that_fits_is_still_encoded_by_the_fallback_planner ... ok
[INFO] [stdout] test sized::tests::an_attempt_saturates_when_its_video_runs_more_than_five_percent_over ... 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::a_retry_that_would_ask_for_no_less_is_not_planned ... 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_suggestion_against_a_small_sources_budget_is_not_scaled_up ... ok
[INFO] [stdout] test sized::tests::an_fps_equal_to_the_source_rate_does_not_bind ... ok
[INFO] [stdout] test sized::tests::an_oversized_source_gets_two_passes ... ok
[INFO] [stdout] test sized::tests::an_fps_that_cannot_be_held_exactly_is_refused_not_dropped ... ok
[INFO] [stdout] test sized::tests::an_mkv_pass_log_is_registered_under_its_stream_scoped_flag ... ok
[INFO] [stdout] test sized::tests::an_unsupported_pair_does_not_ask_for_a_probe ... ok
[INFO] [stdout] test sized::tests::an_unsupported_pair_or_an_image_flag_is_refused_by_name ... 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::binding_caps_force_an_encode_even_when_the_source_fits ... ok
[INFO] [stdout] test sized::tests::requires_probe_covers_a_sized_video_target_only ... ok
[INFO] [stdout] test sized::tests::refusals_name_the_flag_and_the_fix ... ok
[INFO] [stdout] test sized::tests::an_extreme_target_carries_a_warning_and_a_suggestion ... ok
[INFO] [stdout] test sized::tests::the_errors_without_a_probe_or_a_codec_say_what_to_do ... ok
[INFO] [stdout] test sized::tests::the_measured_over_sentence_counts_its_attempts_in_the_right_number ... ok
[INFO] [stdout] test sized::tests::the_notes_read_as_sentences ... 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_confirmation_names_the_flag_and_offers_the_suggestion ... 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 video::tests::a_cap_above_the_source_does_nothing_and_says_so ... ok
[INFO] [stdout] test video::tests::a_cap_below_the_source_binds ... ok
[INFO] [stdout] test video::tests::a_cap_equal_to_the_source_does_nothing ... ok
[INFO] [stdout] test video::tests::a_dense_source_raises_the_top_of_a_video_estimate ... 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_resize_that_binds_does_not_keep_the_source_size ... ok
[INFO] [stdout] test sized::tests::only_the_four_video_containers_are_sized ... ok
[INFO] [stdout] test sized::tests::an_extreme_retry_says_so_and_suggests_more_than_the_target_tried ... ok
[INFO] [stdout] test sized::tests::the_extreme_sentence_says_could_not_fit_only_when_the_smallest_file_is_over ... 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::an_empty_tuning_resolves_to_nothing_at_all ... 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::a_video_size_is_rounded_to_even_as_the_encode_will_be ... ok
[INFO] [stdout] test video::tests::every_geometry_form_translates_and_every_one_clamps ... ok
[INFO] [stdout] test video::tests::an_asymmetric_wxh_binds_when_either_axis_would_shrink ... ok
[INFO] [stdout] test video::tests::an_unknown_source_rate_applies_the_value_and_admits_it ... ok
[INFO] [stdout] test video::tests::exactly_four_times_the_pixels_warns_and_more_asks_first ... 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::no_probe_at_all_behaves_like_an_unknown_rate ... ok
[INFO] [stdout] test video::tests::rough_sizes_keep_two_significant_figures ... 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 video::tests::upscale_on_a_shrinking_resize_changes_nothing_and_warns_nothing ... ok
[INFO] [stdout] test video::tests::upscale_to_the_source_size_keeps_it_with_no_hint ... ok
[INFO] [stdout] test video::tests::upscale_with_no_source_size_applies_as_given_and_warns_generically ... ok
[INFO] [stdout] test winpath::tests::a_drive_path_gets_the_plain_verbatim_prefix ... ok
[INFO] [stdout] test winpath::tests::a_path_with_no_file_name_matches_nothing ... 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 winpath::tests::a_unc_path_gets_the_unc_verbatim_prefix ... ok
[INFO] [stdout] test video::tests::parse_rate_reduces_and_refuses_what_it_cannot_hold ... 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::matching_is_case_insensitive ... ok
[INFO] [stdout] test winpath::tests::names_that_merely_start_with_a_device_word_are_fine ... 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 winpath::tests::the_long_path_note_names_the_longest_path_and_only_fires_past_the_limit ... ok
[INFO] [stdout] test winpath::tests::the_long_path_note_says_nothing_about_an_empty_command ... ok
[INFO] [stdout] test winpath::tests::verbatim_rewriting_is_a_no_op_off_windows ... ok
[INFO] [stdout] test winpath::tests::trailing_spaces_and_dots_are_stripped_before_matching ... 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 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::every_sized_outcome_routes_its_sentences_the_same_way ... ok
[INFO] [stderr]      Running tests/output_properties.rs (/opt/rustwide/target/debug/build/convkit-core/e15732f2dd62800a/out/output_properties-e15732f2dd62800a)
[INFO] [stdout] test budget::tests::no_extreme_choice_keeps_a_faster_frame_rate_than_its_suggestion ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 509 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.39s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test a_gif_fps_at_or_above_the_source_keeps_the_source_rate ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_gif_resize_only_enlarges_with_upscale ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_gif_resize_past_the_source_keeps_the_source_size ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_heic_size_is_read_without_decoding_it ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_resize_that_does_not_bind_keeps_the_stream_copy ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_source_already_under_the_target_is_copied_untouched ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_source_already_under_the_target_is_not_grown_by_an_encode ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_ten_bit_source_comes_out_eight_bit ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_three_track_mkv_keeps_every_track ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_transcode_keeps_the_tracks_the_static_recipe_would_drop ... ignored, requires backends; run with --ignored
[INFO] [stdout] test a_tuned_gif_still_has_an_optimised_palette ... ignored, requires backends; run with --ignored
[INFO] [stdout] test an_audio_first_mkv_is_sized_without_losing_its_pass_log ... ignored, requires backends; run with --ignored
[INFO] [stdout] test an_extreme_target_converts_only_when_allowed ... ignored, requires backends; run with --ignored
[INFO] [stdout] test an_image_resize_only_enlarges_with_upscale ... ignored, requires backends; run with --ignored
[INFO] [stdout] test an_svg_is_sized_at_the_density_it_renders_at ... ignored, requires backends; run with --ignored
[INFO] [stdout] test an_upscaled_photo_on_its_side_is_sized_as_it_is_shown ... ignored, requires backends; run with --ignored
[INFO] [stdout] test docx_to_pdf_produces_a_real_pdf ... ignored, requires backends; run with --ignored
[INFO] [stdout] test docx_to_pdf_succeeds_in_a_deep_destination_directory ... ignored, requires backends; run with --ignored
[INFO] [stdout] test fps_caps_and_never_raises ... ignored, requires backends; run with --ignored
[INFO] [stdout] test gif_output_uses_more_than_a_trivial_palette ... ignored, requires backends; run with --ignored
[INFO] [stdout] test heic_to_jpg_preserves_orientation_and_stays_reasonably_sized ... ignored, requires backends; run with --ignored
[INFO] [stdout] test heic_to_jpg_succeeds_when_the_input_itself_approaches_max_path ... ignored, requires backends; run with --ignored
[INFO] [stdout] test image_notes_say_only_what_the_source_holds ... ignored, requires backends; run with --ignored
[INFO] [stdout] test max_size_lands_close_under_the_target_first_time_with_x264 ... ignored, requires backends; run with --ignored
[INFO] [stdout] test max_size_lands_under_the_target_and_close_to_it ... ignored, requires backends; run with --ignored
[INFO] [stdout] test max_size_works_for_webm_too ... ignored, requires backends; run with --ignored
[INFO] [stdout] test md_to_pdf_succeeds_in_a_destination_that_approaches_max_path ... ignored, requires backends; run with --ignored
[INFO] [stdout] test mkv_to_mp4_with_compatible_codecs_is_a_stream_copy ... ignored, requires backends; run with --ignored
[INFO] [stdout] test mp4_to_mkv_with_no_probe_available_transcodes_and_preserves_every_stream ... ignored, requires backends; run with --ignored
[INFO] [stdout] test parallel_sized_jobs_keep_their_pass_logs_apart ... ignored, requires backends; run with --ignored
[INFO] [stdout] test resize_caps_and_lands_on_even_dimensions ... ignored, requires backends; run with --ignored
[INFO] [stdout] test several_images_into_one_pdf_are_decided_by_the_one_enlarged_most ... ignored, requires backends; run with --ignored
[INFO] [stdout] test the_gif_buffering_note_is_for_long_sources_only ... ignored, requires backends; run with --ignored
[INFO] [stdout] test upscale_enlarges_a_video_and_warns ... ignored, requires backends; run with --ignored
[INFO] [stdout] test tests::magick_windows_style_path_is_a_subcommand_on_both_platforms ... ok
[INFO] [stdout] test tests::convert_windows_style_path_uses_a_sibling_identify_binary ... ok
[INFO] [stdout] test tests::identify_command_matches_the_real_platform ... ok
[INFO] [stderr]      Running tests/recipes.rs (/opt/rustwide/target/debug/build/convkit-core/366a323057c1b75e/out/recipes-366a323057c1b75e)
[INFO] [stdout] test tests::convert_unix_style_path_uses_a_sibling_identify_binary ... ok
[INFO] [stdout] test tests::magick_unix_style_path_is_a_subcommand_on_both_platforms ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 34 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test every_registered_pair_has_at_least_one_step ... ok
[INFO] [stdout] test every_registered_pair_renders_stable_argv ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/convkit-diff/ccc7c78cf3151cfd/out/convkit_diff-ccc7c78cf3151cfd)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test backend_paths::tests::resolver_maps_every_flag_to_its_own_backend_override ... ok
[INFO] [stdout] test gif_colors::tests::every_pixel_distinct_counts_every_one ... ok
[INFO] [stdout] test scope::tests::applicable_targets_for_gif_is_exactly_mp4 ... ok
[INFO] [stdout] test scope::tests::applicable_targets_matches_registry_for_a_known_image_source ... ok
[INFO] [stdout] test inspect::tests::parses_the_normalised_metric_out_of_a_real_compare_line ... ok
[INFO] [stdout] test gif_colors::tests::empty_input_has_zero_colours ... ok
[INFO] [stdout] test scope::tests::image_to_image_pairs_are_in_scope ... ok
[INFO] [stdout] test scope::tests::inspectability_matches_kind ... ok
[INFO] [stdout] test gif_colors::tests::counts_distinct_colours_exactly_once_each ... ok
[INFO] [stdout] test scope::tests::mp4_targets_include_gif_but_not_other_video_containers ... ok
[INFO] [stdout] test scope::tests::unrelated_video_and_document_pairs_are_out_of_scope ... ok
[INFO] [stdout] test scope::tests::the_two_gif_pathways_are_in_scope ... ok
[INFO] [stdout] test inspect::tests::parses_dims ... ok
[INFO] [stdout] test synth::tests::exif_segment_carries_the_requested_orientation_value ... ok
[INFO] [stdout] test synth::tests::icc_profile_embeds_the_description_text ... ok
[INFO] [stdout] test synth::tests::icc_profile_has_a_valid_acsp_signature_and_declared_size ... ok
[INFO] [stdout] test synth::tests::injection_places_the_segment_immediately_after_soi ... ok
[INFO] [stdout] test synth::tests::injection_rejects_a_non_jpeg_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests convkit_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765", kill_on_drop: false }`
[INFO] [stdout] e40ed887945984673ea47164aa191fa5e5182922bbba60da812ecfef69192765
