[INFO] cloning repository https://github.com/LudoBermejoES/lulu_build_pdf
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LudoBermejoES/lulu_build_pdf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLudoBermejoES%2Flulu_build_pdf", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLudoBermejoES%2Flulu_build_pdf'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d7eb858813826e0eac5d5369725e49f3475bce52
[INFO] testing LudoBermejoES/lulu_build_pdf/d7eb858813826e0eac5d5369725e49f3475bce52 against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLudoBermejoES%2Flulu_build_pdf" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-4-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/LudoBermejoES/lulu_build_pdf
[INFO] finished tweaking git repo https://github.com/LudoBermejoES/lulu_build_pdf
[INFO] tweaked toml for git repo https://github.com/LudoBermejoES/lulu_build_pdf written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LudoBermejoES/lulu_build_pdf on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LudoBermejoES/lulu_build_pdf 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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v1.1.5+spec-1.1.0
[INFO] [stderr]   Downloaded which v8.0.6
[INFO] [stderr]   Downloaded weezl v0.2.1
[INFO] [stderr]   Downloaded rangemap v1.8.0
[INFO] [stderr]   Downloaded lopdf v0.44.0
[INFO] [stderr]   Downloaded pdf-writer v0.15.0
[INFO] [stderr]   Downloaded ecb v0.2.1
[INFO] [stderr]   Downloaded aes v0.9.3
[INFO] [stderr]   Downloaded lcms2-sys v4.0.7
[INFO] [stderr]   Downloaded lcms2 v6.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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] 1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4
[INFO] running `Command { std: "docker" "start" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", 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" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", 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" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling crossbeam-utils v0.8.22
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.20
[INFO] [stderr]    Compiling crossbeam-deque v0.8.7
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crc32fast v1.5.1
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling chacha20 v0.10.2
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling either v1.18.0
[INFO] [stderr]    Compiling jiff-core v0.1.0
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling miniz_oxide v0.9.1
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling camino v1.2.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling indexmap v2.14.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-padding v0.4.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling inout v0.2.2
[INFO] [stderr]    Compiling flate2 v1.1.10
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling weezl v0.2.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling jiff v0.2.35
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling time v0.3.55
[INFO] [stderr]    Compiling rangemap v1.8.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling pdf-writer v0.15.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling cipher v0.5.2
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling ecb v0.2.1
[INFO] [stderr]    Compiling cbc v0.2.1
[INFO] [stderr]    Compiling md-5 v0.11.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling aes v0.9.3
[INFO] [stderr]    Compiling which v8.0.6
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.5+spec-1.1.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling lopdf v0.44.0
[INFO] [stderr]    Compiling lulu-prep v0.1.0 (/opt/rustwide/workdir/crates/lulu-prep)
[INFO] [stderr]    Compiling lulu-prep-cli v0.1.0 (/opt/rustwide/workdir/crates/lulu-prep-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.75s
[INFO] running `Command { std: "docker" "inspect" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", 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" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling mio v1.2.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling smallvec v1.16.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zerocopy v0.8.56
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling console v0.16.4
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.5
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling lopdf v0.44.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling futures-executor v0.3.34
[INFO] [stderr]    Compiling futures v0.3.34
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling insta v1.48.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling lulu-prep v0.1.0 (/opt/rustwide/workdir/crates/lulu-prep)
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling lulu-prep-cli v0.1.0 (/opt/rustwide/workdir/crates/lulu-prep-cli)
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 46.93s
[INFO] running `Command { std: "docker" "inspect" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", 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" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lulu_prep-718d5e1ff0a0ec2d)
[INFO] [stdout] 
[INFO] [stdout] running 330 tests
[INFO] [stdout] test catalog::tests::binding_page_count_multiples_match_lulu_rules ... ok
[INFO] [stdout] test catalog::tests::binding_has_spine_matches_lulu_rules ... ok
[INFO] [stdout] test catalog::tests::catalog_loads_all_products ... ok
[INFO] [stdout] test catalog::tests::search_filters_by_binding ... ok
[INFO] [stdout] test cover::tests::conformant_page_count_is_accepted ... ok
[INFO] [stdout] test catalog::tests::lookup_by_dotted_sku_resolves_worked_example ... ok
[INFO] [stdout] test catalog::tests::comic_paper_row_with_blank_paper_type_is_not_column_shifted ... ok
[INFO] [stdout] test catalog::tests::lookup_by_legacy_sku_resolves_the_same_entry ... ok
[INFO] [stdout] test catalog::tests::missing_ppi_on_a_spineless_product_does_not_panic ... ok
[INFO] [stdout] test catalog::tests::lookup_unknown_sku_names_the_catalog_fetch_date ... ok
[INFO] [stdout] test cover::tests::case_wrap_reports_hinge_zones ... ok
[INFO] [stdout] test cover::tests::case_wrap_trim_rect_is_inset_by_the_board_overhang_not_bleed ... ok
[INFO] [stdout] test cover::tests::correctly_sized_cover_passes_through_unscaled ... ok
[INFO] [stdout] test cover::tests::hardcover_geometry_is_never_invented_when_the_table_has_no_entry ... ok
[INFO] [stdout] test cover::tests::narrow_spine_finding_is_none_for_a_wide_spine ... ok
[INFO] [stdout] test cover::tests::cover_structural_rules_strip_annotations_and_refuse_encryption ... ok
[INFO] [stdout] test cover::tests::hardcover_lookup_misses_when_page_count_does_not_match_the_table ... ok
[INFO] [stdout] test cover::tests::perfect_bound_trim_rect_is_inset_by_bleed ... ok
[INFO] [stdout] test cover::tests::hardcover_lookup_mechanism_works_when_the_table_has_an_entry ... ok
[INFO] [stdout] test cover::tests::case_wrap_matches_live_lulu_data_6x9in ... ok
[INFO] [stdout] test cover::tests::case_wrap_matches_live_lulu_data_a4 ... ok
[INFO] [stdout] test cover::tests::case_wrap_height_is_independent_of_page_count ... ok
[INFO] [stdout] test catalog::tests::metadata_reports_provenance ... ok
[INFO] [stdout] test cover::tests::non_conformant_page_count_is_refused_naming_the_next_valid_count ... ok
[INFO] [stdout] test cover::tests::rotated_supplied_cover_is_measured_as_displayed ... ok
[INFO] [stdout] test cover::tests::narrow_spine_gets_no_inverted_safety_guide_and_a_legend_warning ... ok
[INFO] [stdout] test cover::tests::geometry_from_interior_reads_the_page_count_from_the_document ... ok
[INFO] [stdout] test cover::tests::perfect_bound_geometry_matches_lulus_published_example ... ok
[INFO] [stdout] test cover::tests::narrow_spine_finding_fires_below_the_eighth_inch_threshold ... ok
[INFO] [stdout] test cover::tests::template_guides_sit_in_one_named_removable_optional_content_group ... ok
[INFO] [stdout] test cover::tests::template_is_marked_as_a_design_aid_in_legend_and_metadata ... ok
[INFO] [stdout] test cover::tests::fit_supplied_cover_corrects_trim_box_for_case_wrap ... ok
[INFO] [stdout] test cover::tests::wrong_height_artwork_is_caught ... ok
[INFO] [stdout] test cover::tests::spineless_bindings_get_a_zero_width_spine_not_a_panic ... ok
[INFO] [stdout] test cover::tests::wrong_spine_artwork_is_caught_and_not_stretched ... ok
[INFO] [stdout] test cover::tests::template_case_wrap_trim_guide_and_page_boxes_read_the_board_overhang ... ok
[INFO] [stdout] test cover::tests::template_carries_the_right_canvas_and_trim_box ... ok
[INFO] [stdout] test ctm_walk::tests::budget_is_shared_across_nested_forms_not_reset_per_form ... ok
[INFO] [stdout] test cover::tests::template_safety_guides_are_inset_from_trim_not_from_the_panel ... ok
[INFO] [stdout] test ctm_walk::tests::form_xobject_composes_its_matrix_with_the_callers_ctm ... ok
[INFO] [stdout] test ctm_walk::tests::collect_page_layers_sees_the_page_and_every_nested_form ... ok
[INFO] [stdout] test ctm_walk::tests::indirect_page_resources_are_resolved ... ok
[INFO] [stdout] test ctm_walk::tests::nested_q_restores_prior_ctm ... ok
[INFO] [stdout] test cover::tests::safe_inset_reports_none_rather_than_inverting ... ok
[INFO] [stdout] test ctm_walk::tests::deeply_nested_forms_do_not_infinite_loop ... ok
[INFO] [stdout] test ctm_walk::tests::operation_budget_exceeded_is_reported_not_silently_truncated ... ok
[INFO] [stdout] test ctm_walk::tests::indirect_form_resources_are_resolved ... ok
[INFO] [stdout] test cover::tests::three_files_are_assembled_at_their_computed_panels ... ok
[INFO] [stdout] test external_tools::tests::changed_media_box_is_caught ... ok
[INFO] [stdout] test external_tools::tests::a_box_array_with_the_wrong_number_of_elements_is_rejected ... ok
[INFO] [stdout] test ctm_walk::tests::vector_only_page_yields_no_images ... ok
[INFO] [stdout] test ctm_walk::tests::operation_budget_not_exceeded_when_content_fits ... ok
[INFO] [stdout] test ctm_walk::tests::simple_do_reports_the_ctm_in_effect ... ok
[INFO] [stdout] test cover::tests::outer_panels_align_to_the_canvas_edge_not_centred ... ok
[INFO] [stdout] test external_tools::tests::cmyk_conversion_with_a_profile_names_it_in_the_arguments ... ok
[INFO] [stdout] test external_tools::tests::cmyk_conversion_without_a_profile_is_refused ... ok
[INFO] [stdout] test external_tools::tests::below_minimum_version_is_reported_as_unusable ... ok
[INFO] [stdout] test external_tools::tests::a_failed_repair_reports_qpdf_own_diagnostics_not_just_the_original_error ... ok
[INFO] [stdout] test external_tools::tests::absent_binary_is_not_found ... ok
[INFO] [stdout] test external_tools::tests::identical_geometry_passes ... ok
[INFO] [stdout] test external_tools::tests::changed_page_count_is_caught ... ok
[INFO] [stdout] test external_tools::tests::configured_path_overrides_path_lookup ... ok
[INFO] [stdout] test external_tools::tests::indirect_box_elements_that_resolve_are_compared_correctly ... ok
[INFO] [stdout] test external_tools::tests::flatten_with_a_nonexistent_ghostscript_path_reports_tool_unavailable ... ok
[INFO] [stdout] test external_tools::tests::detects_a_real_installed_binary ... ok
[INFO] [stdout] test external_tools::tests::load_with_optional_repair_recovers_a_broken_file_when_qpdf_is_available ... ok
[INFO] [stdout] test external_tools::tests::qpdf_repairs_a_broken_startxref ... ok
[INFO] [stdout] test external_tools::tests::repair_bytes_if_needed_returns_parseable_bytes_for_a_broken_file ... ok
[INFO] [stdout] test external_tools::tests::load_with_optional_repair_passes_through_a_healthy_file_unrepaired ... ok
[INFO] [stdout] test external_tools::tests::report_entry_omits_path_and_version_when_unavailable ... ok
[INFO] [stdout] test external_tools::tests::tiny_floating_point_noise_is_tolerated ... ok
[INFO] [stdout] test external_tools::tests::unavailable_reason_is_none_only_when_available ... ok
[INFO] [stdout] test external_tools::tests::unparseable_version_string_returns_none ... ok
[INFO] [stdout] test external_tools::tests::ghostscript_args_preserve_geometry_and_embed_fonts ... ok
[INFO] [stdout] test external_tools::tests::vacuous_empty_box_comparison_is_rejected ... ok
[INFO] [stdout] test external_tools::tests::version_ordering_is_numeric_not_lexical ... ok
[INFO] [stdout] test external_tools::tests::load_with_optional_repair_without_qpdf_surfaces_the_original_parse_error ... ok
[INFO] [stdout] test geometry::tests::a_padding_amount_that_would_wrap_past_u32_max_errors_rather_than_overflowing ... ok
[INFO] [stdout] test geometry::tests::derived_bleed_size_agrees_with_the_whole_catalog ... ok
[INFO] [stdout] test geometry::tests::gutter_band_boundaries_resolve_unambiguously ... ok
[INFO] [stdout] test external_tools::tests::repair_bytes_if_needed_passes_through_a_healthy_file_unchanged ... ok
[INFO] [stdout] test external_tools::tests::version_parses_common_formats ... ok
[INFO] [stdout] test external_tools::tests::repair_with_a_nonexistent_qpdf_path_reports_tool_unavailable ... ok
[INFO] [stdout] test geometry::tests::hardcover_at_800_pages_matches_the_tables_final_row ... ok
[INFO] [stdout] test geometry::tests::mid_size_book_gutter_is_not_flagged ... ok
[INFO] [stdout] test geometry::tests::page_count_over_maximum_is_refused ... ok
[INFO] [stdout] test geometry::tests::hardcover_below_the_tables_floor_is_undefined ... ok
[INFO] [stdout] test geometry::tests::page_count_rules_from_catalog_entry ... ok
[INFO] [stdout] test geometry::tests::hardcover_spine_comes_from_the_table_not_the_formula ... ok
[INFO] [stdout] test geometry::tests::page_count_raised_to_product_minimum ... ok
[INFO] [stdout] test geometry::tests::perfect_bound_cover_canvas_matches_lulus_published_example ... ok
[INFO] [stdout] test geometry::tests::perfect_bound_spine_at_444_ppi ... ok
[INFO] [stdout] test geometry::tests::saddle_stitch_pads_to_multiple_of_four ... ok
[INFO] [stdout] test geometry::tests::six_by_nine_yields_450_by_666_points ... ok
[INFO] [stdout] test geometry::tests::spine_under_an_eighth_inch_is_too_narrow_for_text ... ok
[INFO] [stdout] test geometry::tests::spineless_bindings_return_none_spine ... ok
[INFO] [stdout] test geometry::tests::thin_book_gutter_is_flagged_below_advisory_floor ... ok
[INFO] [stdout] test geometry::tests::page_count_pads_to_binding_multiple ... ok
[INFO] [stdout] test geometry::tests::zero_multiple_is_an_error_not_a_panic ... ok
[INFO] [stdout] test geometry::tests::safety_margins_match_lulu ... ok
[INFO] [stdout] test normalize::tests::a_gutter_shift_beyond_the_sources_own_margin_is_reported ... ok
[INFO] [stdout] test normalize::tests::a_gutter_shift_within_the_sources_own_margin_reports_no_overflow ... ok
[INFO] [stdout] test geometry::tests::perfect_bound_spine_at_460_ppi ... ok
[INFO] [stdout] test cover::tests::case_wrap_goes_through_cover_geometry_not_the_table ... ok
[INFO] [stdout] test external_tools::tests::ghostscript_flatten_captures_large_stderr_without_deadlock ... ok
[INFO] [stdout] test normalize::tests::acroform_is_removed_and_reported ... ok
[INFO] [stdout] test normalize::tests::added_pages_have_the_required_boxes_and_no_content ... ok
[INFO] [stdout] test normalize::tests::already_bled_content_is_passed_through_unscaled_with_zero_offset ... ok
[INFO] [stdout] test normalize::tests::annotations_are_stripped_and_reported ... ok
[INFO] [stdout] test external_tools::tests::qpdf_repair_captures_output_larger_than_a_pipe_buffer_without_deadlock ... ok
[INFO] [stdout] test cover::tests::oversized_back_panel_is_clipped_and_reported ... ok
[INFO] [stdout] test normalize::tests::clean_document_reports_no_changes_except_forced_layout ... ok
[INFO] [stdout] test normalize::tests::center_fit_on_6x9_gives_9pt_offset_at_unit_scale ... ok
[INFO] [stdout] test normalize::tests::deduplicate_aliased_pages_splits_a_page_referenced_twice ... ok
[INFO] [stdout] test normalize::tests::document_javascript_and_embedded_files_are_removed_and_reported ... ok
[INFO] [stdout] test normalize::tests::fit_placement_never_produces_non_finite_operands_for_degenerate_content ... ok
[INFO] [stdout] test normalize::tests::even_pages_shift_toward_decreasing_x ... ok
[INFO] [stdout] test normalize::tests::gutter_shift_composes_as_the_extra_transform_in_nest_page ... ok
[INFO] [stdout] test normalize::tests::javascript_behind_an_indirect_names_tree_is_removed ... ok
[INFO] [stdout] test normalize::tests::already_conformant_count_adds_nothing ... ok
[INFO] [stdout] test cover::tests::preview_is_marked_as_a_proof_in_stamp_and_metadata ... ok
[INFO] [stdout] test normalize::tests::nest_page_bakes_rotation_so_original_bottom_left_lands_correctly ... ok
[INFO] [stdout] test normalize::tests::nest_page_center_fit_places_content_at_the_bleed_offset ... ok
[INFO] [stdout] test normalize::tests::nest_page_handles_a_nonzero_origin_mediabox ... ok
[INFO] [stdout] test normalize::tests::nest_page_own_resources_win_over_inherited ... ok
[INFO] [stdout] test normalize::tests::left_half_lands_at_the_original_offset_and_right_half_shifts_by_half_width ... ok
[INFO] [stdout] test normalize::tests::nest_page_refuses_a_zero_width_page_under_scale_to_bleed ... ok
[INFO] [stdout] test normalize::tests::nest_page_refuses_when_resources_are_unresolvable ... ok
[INFO] [stdout] test normalize::tests::nest_page_resolves_indirect_own_resources ... ok
[INFO] [stdout] test normalize::tests::nest_page_resolves_resources_inherited_from_the_pages_node ... ok
[INFO] [stdout] test normalize::tests::nest_page_scale_to_bleed_reports_the_scale_used ... ok
[INFO] [stdout] test normalize::tests::nest_page_sets_required_boxes_and_removes_rotate ... ok
[INFO] [stdout] test normalize::tests::no_gutter_shift_never_reports_trim_overflow ... ok
[INFO] [stdout] test external_tools::tests::ghostscript_flatten_times_out_rather_than_hanging_forever ... ok
[INFO] [stdout] test normalize::tests::nest_page_preserves_original_content_bytes_unchanged ... ok
[INFO] [stdout] test external_tools::tests::qpdf_repair_times_out_rather_than_hanging_forever ... ok
[INFO] [stdout] test external_tools::tests::unresponsive_binary_times_out_rather_than_hanging ... ok
[INFO] [stdout] test cover::tests::preview_front_and_back_pages_are_trim_sized_not_wrap_sized ... ok
[INFO] [stdout] test normalize::tests::odd_pages_shift_toward_increasing_x ... ok
[INFO] [stdout] test cover::tests::preview_generation_does_not_mutate_the_cover_or_interior_inputs ... ok
[INFO] [stdout] test normalize::tests::pads_to_the_binding_multiple ... ok
[INFO] [stdout] test normalize::tests::pads_to_the_product_minimum ... ok
[INFO] [stdout] test normalize::tests::page_boxes_match_lulus_geometry_for_6x9 ... ok
[INFO] [stdout] test normalize::tests::page_layout_is_always_forced_to_single_page ... ok
[INFO] [stdout] test normalize::tests::over_the_maximum_is_refused_and_adds_no_pages ... ok
[INFO] [stdout] test cover::tests::preview_page_order_is_front_then_interior_then_back ... ok
[INFO] [stdout] test external_tools::tests::ghostscript_is_reported_unavailable_on_this_test_machine_or_detected_if_present ... ok
[INFO] [stdout] test normalize::tests::a_file_needing_a_real_password_is_refused ... ok
[INFO] [stdout] test normalize::tests::rotation_180_maps_corners_into_the_same_sized_box ... ok
[INFO] [stdout] test normalize::tests::rotation_270_maps_corners_into_the_swapped_bounding_box ... ok
[INFO] [stdout] test normalize::tests::rotation_90_maps_corners_into_the_swapped_bounding_box ... ok
[INFO] [stdout] test normalize::tests::rotation_90_then_270_is_the_original_orientation ... ok
[INFO] [stdout] test normalize::tests::rotation_zero_is_identity ... ok
[INFO] [stdout] test normalize::tests::scale_to_bleed_scales_uniformly_and_reports_the_enlargement ... ok
[INFO] [stdout] test normalize::tests::split_spreads_option_produces_no_landscape_finding ... ok
[INFO] [stdout] test normalize::tests::spread_halves_are_half_the_original_width_and_the_full_height ... ok
[INFO] [stdout] test normalize::tests::spread_split_doubles_page_count_in_reading_order ... ok
[INFO] [stdout] test normalize::tests::resources_indirect_fixture_font_survives_normalization ... ok
[INFO] [stdout] test normalize::tests::rotate_indirect_fixture_is_read_and_baked_correctly ... ok
[INFO] [stdout] test normalize::tests::stretch_margins_is_rejected_rather_than_silently_aliasing_center ... ok
[INFO] [stdout] test pdf::tests::a_parent_cycle_terminates_instead_of_looping_forever ... ok
[INFO] [stdout] test pdf::tests::bleed_box_takes_priority_over_media_box ... ok
[INFO] [stdout] test pdf::tests::catalog_names_is_none_when_absent ... ok
[INFO] [stdout] test pdf::tests::catalog_names_mut_mutates_a_direct_dictionary ... ok
[INFO] [stdout] test pdf::tests::catalog_names_mut_mutates_through_an_indirect_reference ... ok
[INFO] [stdout] test pdf::tests::catalog_names_resolves_a_direct_dictionary ... ok
[INFO] [stdout] test normalize::tests::resources_inherited_fixture_font_survives_normalization ... ok
[INFO] [stdout] test normalize::tests::rotate_real_number_fixture_is_read_and_baked_correctly ... ok
[INFO] [stdout] test pdf::tests::catalog_names_resolves_an_indirect_reference ... ok
[INFO] [stdout] test normalize::tests::check_and_interior_agree_on_the_unembedded_font_fixture ... ok
[INFO] [stdout] test pdf::tests::copy_page_preserves_content_bytes_and_box ... ok
[INFO] [stdout] test pdf::tests::copy_page_preserves_a_dctdecode_images_filter_and_bytes ... ok
[INFO] [stdout] test pdf::tests::crop_box_is_used_when_bleed_box_absent ... ok
[INFO] [stdout] test pdf::tests::deep_copy_handles_reference_cycles_without_looping_forever ... ok
[INFO] [stdout] test pdf::tests::deep_copy_keeps_filter_and_bytes_verbatim_when_decoding_fails ... ok
[INFO] [stdout] test pdf::tests::copy_page_reports_a_dangling_reference_as_an_error ... ok
[INFO] [stdout] test pdf::tests::deep_copy_object_reporting_names_a_dangling_reference ... ok
[INFO] [stdout] test pdf::tests::copy_page_deep_copies_an_embedded_font_and_strips_its_stale_filter ... ok
[INFO] [stdout] test normalize::tests::normalize_interior_refuses_stretch_margins_rather_than_aliasing_center ... ok
[INFO] [stdout] test pdf::tests::deep_copy_strips_filter_when_decoding_succeeds ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_overwrites_an_existing_info_dict_rather_than_duplicating_it ... ok
[INFO] [stdout] test normalize::tests::thin_book_below_advisory_gutter_floor_gets_a_warning_not_a_blocker ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_produces_byte_identical_output_across_two_runs ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_reports_a_dangling_info_reference ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_reports_when_info_is_not_a_dictionary ... ok
[INFO] [stdout] test normalize::tests::landscape_pages_are_reported_but_never_split_without_the_option ... ok
[INFO] [stdout] test normalize::tests::normalize_interior_reports_degenerate_page_as_blocking_rather_than_writing_nan ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_sets_trailer_id_and_info_dates ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_on_a_dangling_indirect_reference_is_an_error ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_merges_child_over_parent_at_the_sub_dictionary_level ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_resolves_a_direct_dictionary ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_resolves_an_inherited_dictionary ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_resolves_an_indirect_reference ... ok
[INFO] [stdout] test pdf::tests::deep_copy_object_silently_substitutes_null_for_a_dangling_reference ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_with_no_resources_anywhere_is_an_empty_dictionary_not_an_error ... ok
[INFO] [stdout] test pdf::tests::load_from_bytes_on_garbage_returns_an_error_not_a_panic ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_terminates_on_a_parent_cycle ... ok
[INFO] [stdout] test pdf::tests::deterministic_identity_still_sets_the_trailer_id_even_when_info_is_unresolvable ... ok
[INFO] [stdout] test pdf::tests::deep_copy_object_reporting_truncates_a_long_reference_chain_instead_of_overflowing ... ok
[INFO] [stdout] test pdf::tests::media_box_is_inherited_from_the_pages_tree_when_absent_on_the_page ... ok
[INFO] [stdout] test pdf::tests::missing_media_box_is_an_error_not_a_panic ... ok
[INFO] [stdout] test pdf::tests::own_box_rect_dereferences_an_indirect_box_array ... ok
[INFO] [stdout] test pdf::tests::own_box_rect_dereferences_indirect_array_elements ... ok
[INFO] [stdout] test pdf::tests::rotate_180_does_not_swap_width_and_height ... ok
[INFO] [stdout] test pdf::tests::rotation_degrees_treats_unreadable_and_off_multiple_as_unrotated ... ok
[INFO] [stdout] test pdf::tests::rotate_90_swaps_width_and_height ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_absent_is_normalized_zero ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_accepts_a_real_number ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_dangling_reference_is_unreadable ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_dereferences_an_indirect_rotate ... ok
[INFO] [stdout] test pdf::tests::media_box_only_page_resolves_to_media_box ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_non_numeric_is_unreadable ... ok
[INFO] [stdout] test pdf::tests::rotation_outcome_not_a_multiple_of_90_is_distinguished ... ok
[INFO] [stdout] test pdf::tests::round_trip_through_bytes_preserves_page_size ... ok
[INFO] [stdout] test pipeline::tests::own_process_findings_are_distinguished_from_preflight_findings ... ok
[INFO] [stdout] test pdf::tests::effective_page_resources_conflicting_key_fixture_page_own_entry_wins ... ok
[INFO] [stdout] test pipeline::tests::pipeline_repairs_a_broken_input_when_qpdf_is_available ... ok
[INFO] [stdout] test normalize::tests::names_indirect_javascript_fixture_is_reported_and_removed ... ok
[INFO] [stdout] test pod_package_id::tests::dotted_id_is_parsed ... ok
[INFO] [stdout] test pod_package_id::tests::legacy_id_parses_to_the_same_descriptor_and_is_flagged ... ok
[INFO] [stdout] test pod_package_id::tests::malformed_trim_segment_is_rejected_with_position ... ok
[INFO] [stdout] test pod_package_id::tests::unrecognised_binding_code_is_rejected_with_position ... ok
[INFO] [stdout] test pod_package_id::tests::wrong_legacy_length_is_rejected ... ok
[INFO] [stdout] test pod_package_id::tests::wrong_segment_count_is_rejected ... ok
[INFO] [stdout] test preflight::tests::a_genuinely_blank_page_is_not_flagged_by_resource_reference_check ... ok
[INFO] [stdout] test preflight::tests::absent_rotation_has_no_rotation_finding ... ok
[INFO] [stdout] test preflight::tests::acroform_and_fields_are_reported ... ok
[INFO] [stdout] test normalize::tests::a_fixed_input_finding_is_not_repeated_in_the_output_report ... ok
[INFO] [stdout] test preflight::tests::clean_colour_has_no_findings ... ok
[INFO] [stdout] test normalize::tests::normalize_produces_a_print_ready_conformant_output ... ok
[INFO] [stdout] test preflight::tests::clean_structure_has_no_findings ... ok
[INFO] [stdout] test preflight::tests::composite_font_descendant_embedding_is_checked ... ok
[INFO] [stdout] test preflight::tests::composite_font_descendant_fonts_as_indirect_reference_is_resolved ... ok
[INFO] [stdout] test preflight::tests::conformant_page_count_has_no_finding ... ok
[INFO] [stdout] test preflight::tests::content_naming_an_unresolvable_font_is_a_blocking_finding ... ok
[INFO] [stdout] test preflight::tests::content_naming_an_unresolvable_image_inside_a_form_is_reported ... ok
[INFO] [stdout] test preflight::tests::correctly_bled_pages_are_not_flagged ... ok
[INFO] [stdout] test preflight::tests::devicecmyk_is_not_reported_as_unsupported ... ok
[INFO] [stdout] test preflight::tests::document_level_javascript_is_reported ... ok
[INFO] [stdout] test preflight::tests::embedded_files_are_reported ... ok
[INFO] [stdout] test preflight::tests::embedded_font_inside_a_form_xobject_is_not_flagged ... ok
[INFO] [stdout] test preflight::tests::excessive_resolution_image_is_a_warning ... ok
[INFO] [stdout] test preflight::tests::font_inside_a_form_xobject_is_found ... ok
[INFO] [stdout] test preflight::tests::annotations_are_reported_with_subtypes_and_pages ... ok
[INFO] [stdout] test preflight::tests::image_bleeding_past_the_trim_edge_is_not_flagged ... ok
[INFO] [stdout] test preflight::tests::image_stopping_short_inside_the_safety_margin_is_a_warning ... ok
[INFO] [stdout] test preflight::tests::interior_safety_margin_matches_geometrys_published_value ... ok
[INFO] [stdout] test preflight::tests::low_resolution_image_is_a_warning ... ok
[INFO] [stdout] test preflight::tests::colour_inside_a_form_xobject_is_reported ... ok
[INFO] [stdout] test preflight::tests::low_tint_uses_its_own_code_not_unsupported_space ... ok
[INFO] [stdout] test preflight::tests::many_low_resolution_images_fold_into_one_finding_naming_the_worst ... ok
[INFO] [stdout] test preflight::tests::low_tint_is_reported ... ok
[INFO] [stdout] test preflight::tests::mixed_page_sizes_lists_each_distinct_size ... ok
[INFO] [stdout] test preflight::tests::mediabox_indirect_unresolved_fixture_is_a_blocking_finding_naming_the_page ... ok
[INFO] [stdout] test preflight::tests::image_fully_inside_the_safe_area_is_not_flagged ... ok
[INFO] [stdout] test preflight::tests::multimedia_annotation_is_reported ... ok
[INFO] [stdout] test preflight::tests::no_annotations_means_no_finding ... ok
[INFO] [stdout] test preflight::tests::non_normal_blend_mode_is_reported ... ok
[INFO] [stdout] test preflight::tests::normal_rotation_has_no_rotation_finding ... ok
[INFO] [stdout] test preflight::tests::optional_content_properties_are_reported ... ok
[INFO] [stdout] test preflight::tests::nested_form_indirect_resources_image_fixture_reports_the_correct_ppi ... ok
[INFO] [stdout] test preflight::tests::page_count_not_divisible_states_the_padding ... ok
[INFO] [stdout] test preflight::tests::page_within_tolerance_is_not_flagged ... ok
[INFO] [stdout] test preflight::tests::parent_cycle_fixture_preflights_within_a_generous_bound_instead_of_hanging ... ok
[INFO] [stdout] test preflight::tests::preflight_cover_accepts_matching_canvas_size ... ok
[INFO] [stdout] test preflight::tests::page_count_above_maximum_is_blocking_and_unfixable ... ok
[INFO] [stdout] test preflight::tests::preflight_cover_rejects_more_than_one_page ... ok
[INFO] [stdout] test preflight::tests::preflight_never_modifies_the_input_file ... ok
[INFO] [stdout] test preflight::tests::preflight_on_unparseable_bytes_still_returns_a_report ... ok
[INFO] [stdout] test normalize::tests::normalize_interior_reports_gutter_overflow_as_a_warning_not_a_blocker ... ok
[INFO] [stdout] test preflight::tests::resolution_within_range_has_no_finding ... ok
[INFO] [stdout] test preflight::tests::preflight_cover_rejects_wrong_canvas_size_but_not_low_page_count ... ok
[INFO] [stdout] test preflight::tests::resolvable_font_reference_has_no_finding ... ok
[INFO] [stdout] test preflight::tests::resolvable_page_box_has_no_geometry_resolution_finding ... ok
[INFO] [stdout] test preflight::tests::rotated_page_is_checked_by_visible_size ... ok
[INFO] [stdout] test preflight::tests::rotation_not_a_multiple_of_90_is_a_blocking_finding ... ok
[INFO] [stdout] test preflight::tests::single_page_layout_has_no_spread_finding ... ok
[INFO] [stdout] test preflight::tests::soft_mask_is_reported_as_live_transparency ... ok
[INFO] [stdout] test preflight::tests::spot_colour_space_is_reported ... ok
[INFO] [stdout] test preflight::tests::spread_layout_is_reported_and_forced_to_single_page ... ok
[INFO] [stdout] test preflight::tests::preflight_reports_readiness_for_a_clean_file ... ok
[INFO] [stdout] test preflight::tests::total_area_coverage_over_270_percent_is_warning ... ok
[INFO] [stdout] test preflight::tests::subset_embedded_font_passes ... ok
[INFO] [stdout] test preflight::tests::unembedded_standard_font_is_blocking ... ok
[INFO] [stdout] test preflight::tests::uniform_sizes_are_not_flagged_as_mixed ... ok
[INFO] [stdout] test preflight::tests::uniform_wrong_size_is_one_blocking_fixable_finding ... ok
[INFO] [stdout] test preflight::tests::unreadable_rotation_is_a_blocking_finding ... ok
[INFO] [stdout] test preflight::tests::unresolvable_page_box_is_reported_not_silently_skipped ... ok
[INFO] [stdout] test preflight::tests::unresolved_resources_dictionary_is_a_blocking_finding ... ok
[INFO] [stdout] test preflight::tests::vector_only_page_has_no_image_finding ... ok
[INFO] [stdout] test report::tests::codes_are_stable_strings ... ok
[INFO] [stdout] test report::tests::finding_builder_carries_observed_and_expected ... ok
[INFO] [stdout] test preflight::tests::total_area_coverage_within_limit_has_no_finding ... ok
[INFO] [stdout] test preflight::tests::page_count_below_minimum_states_the_padding ... ok
[INFO] [stdout] test report::tests::text_report_groups_findings_by_severity_and_leads_with_verdict ... ok
[INFO] [stdout] test report::tests::two_runs_differ_only_in_volatile_fields ... ok
[INFO] [stdout] test report::tests::verdict_line_reports_both_counts_when_not_print_ready ... ok
[INFO] [stdout] test report::tests::verdict_line_reports_readiness_with_product_and_page_count ... ok
[INFO] [stdout] test units::matrix_tests::cm_operands_match_pdf_operator_order ... ok
[INFO] [stdout] test units::matrix_tests::identity_is_a_no_op ... ok
[INFO] [stdout] test units::matrix_tests::rotate_90_degrees_maps_x_axis_onto_y_axis ... ok
[INFO] [stdout] test units::matrix_tests::then_composes_scale_before_translate ... ok
[INFO] [stdout] test units::matrix_tests::scale_uniform_scales_both_axes ... ok
[INFO] [stdout] test units::matrix_tests::translate_offsets_a_point ... ok
[INFO] [stdout] test units::tests::checked_from_points_rejects_nan_and_infinity ... ok
[INFO] [stdout] test report::tests::json_report_round_trips_and_carries_schema_version ... ok
[INFO] [stdout] test units::tests::arithmetic_producing_nan_panics_in_debug - should panic ... ok
[INFO] [stdout] test units::tests::from_inches_of_nan_panics_in_debug - should panic ... ok
[INFO] [stdout] test units::tests::inch_round_trip_stays_within_tolerance ... ok
[INFO] [stdout] test units::tests::mm_round_trip_stays_within_tolerance ... ok
[INFO] [stdout] test units::tests::outset_adds_amount_to_each_side ... ok
[INFO] [stdout] test units::tests::is_finite_reflects_the_underlying_value ... ok
[INFO] [stdout] test units::tests::points_round_trip_is_exact ... ok
[INFO] [stdout] test units::tests::rect_inset_exactly_at_the_midpoint_is_not_inverted ... ok
[INFO] [stdout] test units::tests::rect_inset_moves_all_four_edges ... ok
[INFO] [stdout] test units::tests::six_by_nine_inches_is_432_by_648_points ... ok
[INFO] [stdout] test units::tests::rect_inset_larger_than_half_the_width_clamps_instead_of_inverting ... ok
[INFO] [stdout] test pipeline::tests::pipeline_completes_and_reports_detected_tools ... ok
[INFO] [stdout] test normalize::tests::thick_book_above_advisory_gutter_floor_has_no_warning ... ok
[INFO] [stdout] test pipeline::tests::requesting_flatten_without_ghostscript_fails_explicitly ... ok
[INFO] [stdout] test pdf::tests::loading_a_real_password_pdf_without_a_password_leaves_it_encrypted ... ok
[INFO] [stdout] test pipeline::tests::pipeline_completes_fully_with_both_tools_forced_unavailable ... ok
[INFO] [stdout] test normalize::tests::above_maximum_page_count_is_refused_before_writing_anything ... ok
[INFO] [stdout] test pdf::tests::loading_an_empty_password_pdf_transparently_decrypts_it ... ok
[INFO] [stdout] test pdf::tests::copy_page_does_not_overflow_the_stack_on_a_long_reference_chain ... ok
[INFO] [stdout] test normalize::tests::aliased_page_is_nested_independently_per_occurrence_end_to_end ... ok
[INFO] [stdout] test pdf::tests::deep_copy_object_does_not_overflow_the_stack_on_a_long_reference_chain ... ok
[INFO] [stdout] test pipeline::tests::flatten_stage_reports_a_fresh_preflight_of_the_flattened_bytes_not_the_pre_flatten_output ... ok
[INFO] [stdout] test normalize::tests::normalizing_normalized_output_is_idempotent ... ok
[INFO] [stdout] test preflight::tests::traversal_budget_exceeded_is_reported_as_a_blocking_finding ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 330 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 13.83s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/fixture_snapshots.rs (/opt/rustwide/target/debug/deps/fixture_snapshots-927bf7e85634ded9)
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test parent_cycle ... ok
[INFO] [stdout] test no_bleed ... ok
[INFO] [stdout] test nested_form_xobject_image ... ok
[INFO] [stdout] test low_resolution_image ... ok
[INFO] [stdout] test live_transparency ... ok
[INFO] [stdout] test resources_conflicting_key ... ok
[INFO] [stdout] test nested_form_indirect_resources_image ... ok
[INFO] [stdout] test mediabox_indirect_unresolved ... ok
[INFO] [stdout] test names_indirect_javascript ... ok
[INFO] [stdout] test resources_indirect ... ok
[INFO] [stdout] test optional_content_groups ... ok
[INFO] [stdout] test zero_pages ... ok
[INFO] [stdout] test unembedded_font ... ok
[INFO] [stdout] test resources_inherited ... ok
[INFO] [stdout] test mixed_sizes ... ok
[INFO] [stdout] test rotated ... ok
[INFO] [stdout] test zero_dimension_page ... ok
[INFO] [stdout] test correct_bleed ... ok
[INFO] [stdout] test two_up_spread ... ok
[INFO] [stdout] test rotate_indirect ... ok
[INFO] [stdout] test rotate_real_number ... ok
[INFO] [stdout] test aliased_page ... ok
[INFO] [stdout] test empty_password_encrypted ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.54s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/normalize_properties.rs (/opt/rustwide/target/debug/deps/normalize_properties-9a6d090713f99c91)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/lulu_prep_cli-4772da21dae4897d)
[INFO] [stdout] test normalized_output_is_always_uniform_conformant_and_correctly_boxed ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.89s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 48 tests
[INFO] [stdout] test commands::tests::book_report_json_is_one_parseable_document_with_both_reports ... ok
[INFO] [stdout] test commands::tests::book_report_verdict_is_not_print_ready_if_either_side_has_a_blocking_finding ... ok
[INFO] [stdout] test config::tests::env_beats_project_file_which_beats_user_file ... ok
[INFO] [stdout] test config::tests::effective_configuration_is_printable_with_sources ... ok
[INFO] [stdout] test config::tests::config_file_parses_toml ... ok
[INFO] [stdout] test config::tests::all_defaults_when_nothing_set ... ok
[INFO] [stdout] test config::tests::invalid_project_file_fit_mode_is_an_error ... ok
[INFO] [stdout] test commands::tests::book_report_text_leads_with_a_combined_verdict ... ok
[INFO] [stdout] test config::tests::config_file_rejects_invalid_toml ... ok
[INFO] [stdout] test config::tests::misspelled_env_fit_mode_does_not_fall_through_to_project_file ... ok
[INFO] [stdout] test commands::tests::gutter_floor_findings_is_empty_when_actual_gutter_meets_the_floor ... ok
[INFO] [stdout] test commands::tests::gutter_floor_findings_warns_when_actual_gutter_is_below_the_configured_floor ... ok
[INFO] [stdout] test config::tests::flag_beats_configuration_file ... ok
[INFO] [stdout] test commands::tests::gutter_floor_findings_is_a_true_no_op_at_the_default_zero_floor ... ok
[INFO] [stdout] test config::tests::user_file_is_last_resort_before_defaults ... ok
[INFO] [stdout] test exit_code::tests::info_only_never_affects_exit_code ... ok
[INFO] [stdout] test config::tests::no_color_env_convention_is_respected ... ok
[INFO] [stdout] test config::tests::unparseable_env_gutter_floor_is_an_error ... ok
[INFO] [stdout] test config::tests::unparseable_env_strict_is_an_error_not_a_silent_disable ... ok
[INFO] [stdout] test config::tests::valid_gutter_floor_flag_is_consumed_as_is ... ok
[INFO] [stdout] test exit_code::tests::blocking_finding_exits_one_regardless_of_strict ... ok
[INFO] [stdout] test exit_code::tests::clean_report_exits_zero ... ok
[INFO] [stdout] test exit_code::tests::warning_only_is_clean_unless_strict ... ok
[INFO] [stdout] test output_paths::tests::default_interior_path_uses_suffix_and_dir ... ok
[INFO] [stdout] test config::tests::misspelled_env_fit_mode_is_an_error_not_a_silent_default ... ok
[INFO] [stdout] test output_paths::tests::default_cover_path_from_a_sku_keeps_the_full_dotted_identifier ... ok
[INFO] [stdout] test output_paths::tests::overwrite_without_force_is_refused_when_path_exists ... ok
[INFO] [stdout] test output_paths::tests::nonexistent_path_never_needs_force ... ok
[INFO] [stdout] test output_paths::tests::overwrite_with_force_succeeds_even_if_path_exists ... ok
[INFO] [stdout] test output_paths::tests::default_cover_path_uses_suffix_and_dir ... ok
[INFO] [stdout] test output_paths::tests::input_with_no_extension_still_works ... ok
[INFO] [stdout] test product_selection::tests::no_components_given_is_an_error_not_matching_everything ... ok
[INFO] [stdout] test products_command::tests::empty_results_say_so ... ok
[INFO] [stdout] test product_selection::tests::ambiguous_components_list_every_candidate ... ok
[INFO] [stdout] test spine_command::tests::reports_spine_width_and_canvas_for_a_valid_product_and_page_count ... ok
[INFO] [stdout] test products_command::tests::lists_every_required_column ... ok
[INFO] [stdout] test spine_command::tests::non_conformant_page_count_is_an_error_not_a_guess ... ok
[INFO] [stdout] test product_selection::tests::components_matching_nothing_is_reported ... ok
[INFO] [stdout] test product_selection::tests::components_resolving_to_exactly_one_product_succeeds ... ok
[INFO] [stdout] test product_selection::tests::resolves_by_legacy_sku ... ok
[INFO] [stdout] test product_selection::tests::resolves_by_exact_sku ... ok
[INFO] [stdout] test product_selection::tests::unknown_sku_is_reported ... ok
[INFO] [stdout] test commands::tests::cover_rejects_non_conformant_page_count_before_writing_anything ... ok
[INFO] [stdout] test commands::tests::check_runs_preflight_without_writing_anything ... ok
[INFO] [stdout] test commands::tests::a_supplied_cover_with_no_pages_is_a_clean_error_not_a_panic ... ok
[INFO] [stdout] test commands::tests::cover_template_generates_for_a_conformant_page_count ... ok
[INFO] [stdout] test commands::tests::interior_normalizes_and_reports_final_page_count ... ok
[INFO] [stdout] test commands::tests::book_derives_cover_page_count_from_the_normalized_interior_not_the_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 48 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/lulu_prep-a7800e2b69f44bf6)
[INFO] [stderr]      Running tests/book_end_to_end.rs (/opt/rustwide/target/debug/deps/book_end_to_end-7a429af2e1c16f3e)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]      Running tests/cli_contracts.rs (/opt/rustwide/target/debug/deps/cli_contracts-939ad1ca1c98c978)
[INFO] [stdout] test book_takes_a_raw_one_page_fixture_to_a_matching_interior_and_cover ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test print_config_reports_config_errors_too ... ok
[INFO] [stdout] test products_rejects_an_unparseable_binding ... ok
[INFO] [stdout] test products_rejects_an_unparseable_trim_rather_than_listing_the_whole_catalog ... ok
[INFO] [stdout] test misspelled_fit_mode_env_var_exits_two_naming_accepted_values ... ok
[INFO] [stdout] test unparseable_strict_env_var_exits_two_rather_than_disabling_strict ... ok
[INFO] [stdout] test legacy_sku_form_surfaces_a_deprecation_warning ... ok
[INFO] [stdout] test dotted_sku_form_never_surfaces_a_deprecation_warning ... ok
[INFO] [stderr] wrote /tmp/.tmp5dQpqe/0600X0900.BW.STD.PB.060UW444.MXX-cover.pdf
[INFO] [stdout] not print-ready: 1 blocking issue, 1 warning
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [fonts.not-embedded] font 'Helvetica' is not embedded
[INFO] [stdout]     pages: [1]
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [structure.optional-content] the document declares optional content (layers), which must be flattened before printing
[INFO] [stderr] wrote /tmp/.tmp5dQpqe/0600X0900.BW.STD.PB.060UW444.GXX-cover.pdf
[INFO] [stdout] not print-ready: 1 blocking issue, 1 warning
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [fonts.not-embedded] font 'Helvetica' is not embedded
[INFO] [stdout]     pages: [1]
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [structure.optional-content] the document declares optional content (layers), which must be flattened before printing
[INFO] [stdout] test matte_and_gloss_cover_templates_do_not_collide_on_the_default_filename ... ok
[INFO] [stdout] test gutter_floor_in_produces_a_warning_when_the_applied_gutter_is_below_it ... ok
[INFO] [stdout] test text_report_never_contains_ansi_escapes ... ok
[INFO] [stdout] test doc_id_with_a_multi_byte_character_is_rejected_cleanly_not_a_panic ... ok
[INFO] [stdout] test book_json_on_stdout_is_one_parseable_document_with_interior_and_cover ... ok
[INFO] [stderr] wrote /tmp/.tmpl4O7wU/correct_bleed-interior.pdf
[INFO] [stderr] wrote /tmp/.tmpl4O7wU/correct_bleed-cover.pdf
[INFO] [stdout] test book_text_report_leads_with_a_verdict_and_covers_both_documents ... ok
[INFO] [stdout] test doc_id_without_creation_date_is_reported_not_silently_ignored ... ok
[INFO] [stdout] test book_report_out_is_not_truncated_by_the_second_write ... ok
[INFO] [stdout] print-ready for 0600X0900.BW.STD.PB.060UW444.MXX at 32 pages (1 warning remaining)
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [gutter.below-advisory-floor] at 32 pages, Lulu's page-count-banded gutter table gives 0.000 in, below the 0.200 in minimum Lulu's own PDF creation settings advise; this is a warning only — the banded table, not the advisory floor, is what this tool applies
[INFO] [stderr] could not write /tmp/.tmpVYQ6RT/does/not/exist/correct_bleed-interior.pdf: No such file or directory (os error 2)
[INFO] [stdout] test write_failure_to_a_nonexistent_directory_exits_three_not_two ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.88s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/exit_codes.rs (/opt/rustwide/target/debug/deps/exit_codes-0981f034e830f08e)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test unresolvable_product_exits_two_without_writing ... ok
[INFO] [stderr] unknown pod_package_id 'not-a-real-sku'
[INFO] [stderr] could not read /nonexistent/does-not-exist.pdf: No such file or directory (os error 2)
[INFO] [stderr] 20 products match the given filters; narrow the selection:
[INFO] [stdout] test ambiguous_component_selection_exits_two ... ok
[INFO] [stderr]   0600X0900.BW.STD.PB.060UC444.GXX
[INFO] [stdout] not print-ready: 2 blocking issues, 0 warnings
[INFO] [stderr]   0600X0900.BW.STD.PB.060UC444.MXX
[INFO] [stdout] 
[INFO] [stderr]   0600X0900.BW.STD.PB.060UW444.GXX
[INFO] [stdout] Blocking:
[INFO] [stderr]   0600X0900.BW.STD.PB.060UW444.MXX
[INFO] [stdout]   [fonts.not-embedded] font 'Helvetica' is not embedded
[INFO] [stderr]   0600X0900.BW.STD.PB.080CW444.GXX
[INFO] [stdout]     pages: [1]
[INFO] [stderr]   0600X0900.BW.STD.PB.080CW444.MXX
[INFO] [stdout]   [page-count.below-minimum] 1 pages is below this product's 32-page minimum; 31 blank page(s) would be appended to reach 32
[INFO] [stderr]   0600X0900.FC.PRE.PB.060UW444.GXX
[INFO] [stdout]     observed: 1
[INFO] [stderr]   0600X0900.FC.PRE.PB.060UW444.MXX
[INFO] [stdout] test missing_input_file_exits_three ... ok
[INFO] [stderr]   0600X0900.FC.PRE.PB.080CW444.GXX
[INFO] [stdout]     expected: >= 32
[INFO] [stderr]   0600X0900.FC.PRE.PB.080CW444.MXX
[INFO] [stderr]   0600X0900.FC.STD.PB.060UW444.GXX
[INFO] [stderr]   0600X0900.FC.STD.PB.060UW444.MXX
[INFO] [stderr]   0600X0900.FC.STD.PB.080CW444.GXX
[INFO] [stderr]   0600X0900.FC.STD.PB.080CW444.MXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.060UC444.GXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.060UC444.MXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.060UW444.GXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.060UW444.MXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.080CW444.GXX
[INFO] [stderr]   0600X0900.BW.PRE.PB.080CW444.MXX
[INFO] [stderr] 
[INFO] [stdout] print-ready for 0600X0900.BW.STD.PB.060UW444.MXX at 32 pages
[INFO] [stdout] not print-ready: 1 blocking issue, 1 warning
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [page-count.below-minimum] 1 pages is below this product's 32-page minimum; 31 blank page(s) would be appended to reach 32
[INFO] [stdout]     observed: 1
[INFO] [stdout]     expected: >= 32
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [structure.optional-content] the document declares optional content (layers), which must be flattened before printing
[INFO] [stdout] test strict_mode_promotes_warning_only_report_to_exit_one ... ok
[INFO] [stderr] refusing to overwrite existing file '/tmp/.tmpl9knoY/existing.pdf' without --force
[INFO] [stdout] print-ready for 0600X0900.BW.STD.PB.060UW444.MXX at 32 pages (1 warning remaining)
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [gutter.below-advisory-floor] at 32 pages, Lulu's page-count-banded gutter table gives 0.000 in, below the 0.200 in minimum Lulu's own PDF creation settings advise; this is a warning only — the banded table, not the advisory floor, is what this tool applies
[INFO] [stdout] test overwrite_without_force_exits_two_and_writes_nothing_new ... ok
[INFO] [stdout] test blocking_findings_exit_one ... ok
[INFO] [stdout] test clean_run_exits_zero ... ok
[INFO] [stdout] test missing_external_tool_exits_four ... ok
[INFO] [stderr] the 'flatten' stage was requested but Ghostscript is not available: not found on PATH
[INFO] [stderr] (dry run) would write /tmp/.tmpNSlBS1/correct_bleed-interior.pdf
[INFO] [stdout] print-ready for 0600X0900.BW.STD.PB.060UW444.MXX at 32 pages (1 warning remaining)
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [gutter.below-advisory-floor] at 32 pages, Lulu's page-count-banded gutter table gives 0.000 in, below the 0.200 in minimum Lulu's own PDF creation settings advise; this is a warning only — the banded table, not the advisory floor, is what this tool applies
[INFO] [stdout] test dry_run_writes_nothing ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/harden_pdf_correctness.rs (/opt/rustwide/target/debug/deps/harden_pdf_correctness-701a61e32ec06ca5)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] not print-ready: 2 blocking issues, 0 warnings
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [fonts.not-embedded] font 'Helvetica' is not embedded
[INFO] [stdout]     pages: [1]
[INFO] [stdout]   [page-count.below-minimum] 1 pages is below this product's 32-page minimum; 31 blank page(s) would be appended to reach 32
[INFO] [stdout]     observed: 1
[INFO] [stdout]     expected: >= 32
[INFO] [stdout] not print-ready: 1 blocking issue, 1 warning
[INFO] [stderr] wrote /tmp/.tmpfWOQXH/0600X0900.BW.STD.CW.060UW444.MXX-cover.pdf
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [fonts.not-embedded] font 'Helvetica' is not embedded
[INFO] [stdout]     pages: [1]
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [structure.optional-content] the document declares optional content (layers), which must be flattened before printing
[INFO] [stdout] not print-ready: 3 blocking issues, 1 warning
[INFO] [stdout] 
[INFO] [stdout] Blocking:
[INFO] [stdout]   [geometry.degenerate] page 1 resolves to a non-finite or zero-area size and could not be placed; it was left unmodified
[INFO] [stdout]     pages: [1]
[INFO] [stdout]   [geometry.mixed-page-sizes] interior pages are not a uniform size: 0.000 x 9.000 in on page(s) [1]; 6.250 x 9.250 in on page(s) [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
[INFO] [stdout]     pages: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
[INFO] [stdout]   [geometry.page-size-mismatch] 1 page(s) measure 0.000 x 9.000 in but this product requires 6.250 x 9.250 in (0.125 in bleed per side)
[INFO] [stdout]     pages: [1]
[INFO] [stdout]     observed: 0.000 x 9.000 in
[INFO] [stdout]     expected: 6.250 x 9.250 in
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [gutter.below-advisory-floor] at 32 pages, Lulu's page-count-banded gutter table gives 0.000 in, below the 0.200 in minimum Lulu's own PDF creation settings advise; this is a warning only — the banded table, not the advisory floor, is what this tool applies
[INFO] [stdout] 
[INFO] [stdout] Info:
[INFO] [stdout]   [normalize.pages-padded] appended 31 blank page(s) to satisfy this product's page-count rules: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
[INFO] [stdout]     pages: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
[INFO] [stderr] wrote /tmp/.tmpmZbirn/zero_dimension_page-interior.pdf
[INFO] [stdout] test case_wrap_cover_command_writes_a_trim_box_inset_by_the_board_overhang ... ok
[INFO] [stdout] test zero_dimension_page_fixture_is_refused_and_writes_no_nan_or_inf ... ok
[INFO] [stdout] test a_zero_page_supplied_cover_is_a_clean_error_not_a_panic_through_the_real_binary ... ok
[INFO] [stdout] test check_and_interior_both_report_blocking_and_exit_one_on_the_unembedded_font_fixture ... ok
[INFO] [stderr] wrote /tmp/.tmpUWsjLz/aliased_page-interior.pdf
[INFO] [stdout] print-ready for 0600X0900.BW.STD.PB.060UW444.MXX at 100 pages (101 warnings remaining)
[INFO] [stdout] 
[INFO] [stdout] Warning:
[INFO] [stdout]   [gutter.below-advisory-floor] at 100 pages, Lulu's page-count-banded gutter table gives 0.125 in, below the 0.200 in minimum Lulu's own PDF creation settings advise; this is a warning only — the banded table, not the advisory floor, is what this tool applies
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 1's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [1]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 2's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [2]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 3's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [3]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 4's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [4]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 5's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [5]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 6's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [6]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 7's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [7]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 8's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [8]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 9's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [9]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 10's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [10]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 11's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [11]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 12's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [12]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 13's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [13]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 14's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [14]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 15's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [15]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 16's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [16]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 17's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [17]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 18's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [18]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 19's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [19]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 20's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [20]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 21's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [21]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 22's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [22]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 23's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [23]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 24's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [24]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 25's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [25]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 26's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [26]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 27's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [27]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 28's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [28]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 29's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [29]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 30's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [30]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 31's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [31]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 32's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [32]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 33's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [33]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 34's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [34]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 35's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [35]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 36's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [36]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 37's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [37]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 38's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [38]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 39's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [39]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 40's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [40]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 41's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [41]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 42's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [42]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 43's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [43]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 44's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [44]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 45's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [45]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 46's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [46]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 47's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [47]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 48's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [48]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 49's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [49]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 50's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [50]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 51's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [51]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 52's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [52]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 53's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [53]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 54's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [54]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 55's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [55]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 56's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [56]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 57's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [57]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 58's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [58]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 59's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [59]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 60's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [60]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 61's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [61]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 62's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [62]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 63's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [63]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 64's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [64]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 65's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [65]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 66's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [66]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 67's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [67]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 68's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [68]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 69's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [69]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 70's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [70]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 71's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [71]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 72's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [72]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 73's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [73]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 74's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [74]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 75's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [75]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 76's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [76]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 77's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [77]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 78's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [78]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 79's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [79]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 80's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [80]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 81's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [81]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 82's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [82]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 83's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [83]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 84's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [84]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 85's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [85]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 86's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [86]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 87's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [87]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 88's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [88]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 89's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [89]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 90's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [90]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 91's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [91]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 92's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [92]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 93's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [93]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 94's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [94]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 95's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [95]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 96's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [96]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 97's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [97]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 98's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [98]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 99's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [99]
[INFO] [stdout]   [gutter.exceeds-safe-area] the gutter shift pushes page 100's content 0.125 in beyond the trim rectangle
[INFO] [stdout]     pages: [100]
[INFO] [stdout] test aliased_page_fixture_is_nested_independently_per_occurrence_through_the_real_binary ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.68s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests lulu_prep
[INFO] [stderr]    Doc-tests lulu_prep_cli
[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] [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" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4", kill_on_drop: false }`
[INFO] [stdout] 1426ed6fa9dcbd139de54f219ef72d4654255080128616864cda1772dfb8ace4
