[INFO] cloning repository https://github.com/Tevillo/portfolio-site
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tevillo/portfolio-site" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTevillo%2Fportfolio-site", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTevillo%2Fportfolio-site'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0f08fe7cfe185437fecedfa7bf36497214fa8b98
[INFO] testing Tevillo/portfolio-site/0f08fe7cfe185437fecedfa7bf36497214fa8b98 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%2FTevillo%2Fportfolio-site" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Tevillo/portfolio-site
[INFO] finished tweaking git repo https://github.com/Tevillo/portfolio-site
[INFO] tweaked toml for git repo https://github.com/Tevillo/portfolio-site written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Tevillo/portfolio-site 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/Tevillo/portfolio-site 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 zip v2.4.2
[INFO] [stderr]   Downloaded rustls-webpki v0.103.14
[INFO] [stderr]   Downloaded h2 v0.4.16
[INFO] [stderr]   Downloaded maud_macros v0.26.0
[INFO] [stderr]   Downloaded pulldown-cmark-escape v0.11.0
[INFO] [stderr]   Downloaded maud v0.26.0
[INFO] [stderr]   Downloaded pulldown-cmark v0.12.2
[INFO] [stderr]   Downloaded mutate_once v0.1.2
[INFO] [stderr]   Downloaded kamadak-exif v0.5.5
[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] 67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8
[INFO] running `Command { std: "docker" "start" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", 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" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8" "/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" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", 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" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling alloc-stdlib v0.2.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling brotli-decompressor v5.0.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling compression-core v0.4.32
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling mutate_once v0.1.2
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling kamadak-exif v0.5.5
[INFO] [stderr]    Compiling brotli v8.0.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.5
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling compression-codecs v0.4.38
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling maud_macros v0.26.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.7
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling thiserror v1.0.69
[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.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling maud v0.26.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 rusqlite v0.31.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling async-compression v0.4.43
[INFO] [stderr]    Compiling h2 v0.4.16
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.14
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling portfolio-site v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 56s
[INFO] running `Command { std: "docker" "inspect" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", 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" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8" "/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 getrandom v0.4.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling portfolio-site v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.87s
[INFO] running `Command { std: "docker" "inspect" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", 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" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8" "/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.35s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/portfolio_site-6572bbc02f5e56ae)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test handlers::tests::an_orphan_favs_group_is_kept ... ok
[INFO] [stdout] test handlers::tests::form_values_are_percent_decoded ... ok
[INFO] [stdout] test handlers::tests::repeated_form_keys_keep_every_value ... ok
[INFO] [stdout] test nether::tests::expands_obsidian_image_embeds_only ... ok
[INFO] [stdout] test audit::tests::top_n_breaks_ties_by_name ... ok
[INFO] [stdout] test nether::tests::embed_syntax_renders_through_to_an_img ... ok
[INFO] [stdout] test handlers::tests::the_rate_limit_key_is_the_original_client ... ok
[INFO] [stdout] test audit::tests::download_lines_are_forward_and_backward_compatible ... ok
[INFO] [stdout] test nether::tests::private_dirs_cover_the_folder_and_its_contents ... ok
[INFO] [stdout] test handlers::tests::a_roll_is_the_year_folders_own_child ... ok
[INFO] [stdout] test audit::tests::dates_round_trip_against_known_instants ... ok
[INFO] [stdout] test nether::tests::rejects_anything_outside_the_media_dir ... ok
[INFO] [stdout] test nether::tests::resolves_a_bare_filename_in_the_media_dir ... ok
[INFO] [stdout] test nether::tests::resolves_relative_to_the_note ... ok
[INFO] [stdout] test nether::tests::rewrites_allowed_images_and_drops_the_rest ... ok
[INFO] [stdout] test notify::tests::a_digest_with_nobody_named_still_reads ... ok
[INFO] [stdout] test nether::tests::rejects_non_image_and_hidden_files ... ok
[INFO] [stdout] test handlers::tests::favs_fold_into_the_front_of_their_roll ... ok
[INFO] [stdout] test notify::tests::email_handles_are_checked_loosely_discord_exactly ... ok
[INFO] [stdout] test audit::tests::public_downloads_carry_no_job ... ok
[INFO] [stdout] test notify::tests::compose_uses_the_owners_wording_and_links_every_roll ... ok
[INFO] [stdout] test notify::tests::the_confirmation_message_says_what_it_is_for ... ok
[INFO] [stdout] test notify::tests::the_digest_opener_keeps_its_name_slot ... ok
[INFO] [stdout] test notify::tests::the_digest_and_the_confirmation_say_a_list_the_same_way ... ok
[INFO] [stdout] test notify::tests::the_all_rolls_clause_never_looks_like_another_name ... ok
[INFO] [stdout] test handlers::tests::the_single_valued_view_still_takes_the_last ... ok
[INFO] [stdout] test notify::tests::the_rate_limiter_lets_a_burst_through_then_stops_it ... ok
[INFO] [stdout] test handlers::tests::favs_parent_matches_only_a_trailing_favs_segment ... ok
[INFO] [stdout] test notify::tests::the_sentence_reads_at_every_length ... ok
[INFO] [stdout] test notify::tests::tokens_are_hex_and_do_not_repeat ... ok
[INFO] [stdout] test paths::tests::leading_year_reads_the_digit_prefix ... ok
[INFO] [stdout] test paths::tests::rejects_root ... ok
[INFO] [stdout] test paths::tests::rejects_null ... ok
[INFO] [stdout] test notify::tests::a_corrupt_line_does_not_lose_the_rest_of_the_log ... ok
[INFO] [stdout] test paths::tests::rejects_parent ... ok
[INFO] [stdout] test audit::tests::ages_pick_one_unit ... ok
[INFO] [stdout] test portfolio::tests::assign_slugs_disambiguates_collisions ... ok
[INFO] [stdout] test paths::tests::accepts_trailing_slash ... ok
[INFO] [stdout] test notify::tests::the_last_line_for_a_handle_wins ... ok
[INFO] [stdout] test portfolio::tests::slug_lowercases_and_collapses_separators ... ok
[INFO] [stdout] test notify::tests::later_sends_merge_into_the_recipients_existing_row ... ok
[INFO] [stdout] test notify::tests::confirming_removes_the_row_from_pending ... ok
[INFO] [stdout] test recent::tests::skips_blanks_and_comments ... ok
[INFO] [stdout] test portfolio::tests::display_order_is_identity_when_unspecified ... ok
[INFO] [stdout] test notify::tests::unknown_and_expired_tokens_are_refused ... ok
[INFO] [stdout] test portfolio::tests::display_order_promotes_listed_slugs_and_keeps_the_tail ... ok
[INFO] [stdout] test paths::tests::accepts_normal ... ok
[INFO] [stdout] test portfolio::tests::slug_drops_non_ascii ... ok
[INFO] [stdout] test tests::a_crop_never_leaves_the_photograph ... ok
[INFO] [stdout] test recent::tests::trims_slashes_and_dedupes_keeping_order ... ok
[INFO] [stdout] test tests::a_face_near_an_edge_loses_padding_before_it_loses_centring ... ok
[INFO] [stdout] test tests::a_face_rectangle_is_read_off_the_tag_region ... ok
[INFO] [stdout] test tests::a_different_face_is_a_different_cached_file ... ok
[INFO] [stdout] test portfolio::tests::assign_slugs_names_a_sectionless_slug ... ok
[INFO] [stdout] test portfolio::tests::display_order_ignores_a_slug_that_names_no_section ... ok
[INFO] [stdout] test recent::tests::empty_file_is_an_empty_set ... ok
[INFO] [stdout] test tests::a_face_is_cut_square_with_room_around_it ... ok
[INFO] [stdout] test notify::tests::logs_and_credentials_live_in_separate_directories ... ok
[INFO] [stdout] test tests::a_face_against_the_frame_edge_shifts_rather_than_shrink ... ok
[INFO] [stdout] test notify::tests::recipients_keep_their_own_rows ... ok
[INFO] [stdout] test handlers::tests::a_persons_photos_read_newest_year_then_newest_roll ... ok
[INFO] [stdout] test notify::tests::a_signup_is_inert_until_confirmed_and_replays_are_no_ops ... ok
[INFO] [stdout] test notify::tests::following_every_roll_is_a_subscription_on_its_own ... ok
[INFO] [stdout] test tests::all_reads_newest_year_first_then_most_recently_published_roll ... ok
[INFO] [stdout] test tests::a_person_with_no_face_gets_a_letter_and_not_a_photograph ... ok
[INFO] [stdout] test tests::an_empty_portfolio_still_renders_the_front_page ... ok
[INFO] [stdout] test tests::a_download_that_404s_is_not_logged ... ok
[INFO] [stdout] test tests::an_undecodable_tag_thumbnail_fails_to_render ... ok
[INFO] [stdout] test tests::a_tag_thumbnail_on_a_tiff_is_kept_and_not_substituted ... ok
[INFO] [stdout] test tests::browse_still_serves_after_losing_its_tab ... ok
[INFO] [stdout] test tests::a_panorama_never_climbs_past_a_full_band ... ok
[INFO] [stdout] test tests::client_galleries_are_excluded_from_search ... ok
[INFO] [stdout] test tests::a_panorama_outranks_a_band_too_short_to_fill_a_row ... ok
[INFO] [stdout] test tests::a_small_panorama_offers_no_second_candidate ... ok
[INFO] [stdout] test tests::a_panorama_is_promoted_to_the_full_width ... ok
[INFO] [stdout] test tests::each_section_has_its_own_page ... ok
[INFO] [stdout] test tests::an_unknown_section_slug_is_a_404_page ... ok
[INFO] [stdout] test tests::html_pages_are_revalidated ... ok
[INFO] [stdout] test tests::only_panoramas_are_warmed_at_the_wide_size ... ok
[INFO] [stdout] test tests::back_to_back_panoramas_stack_above_the_band ... ok
[INFO] [stdout] test tests::listing_pages_have_exactly_one_heading ... ok
[INFO] [stdout] test tests::a_panorama_cuts_the_band_around_it ... ok
[INFO] [stdout] test tests::misses_render_the_404_page ... ok
[INFO] [stdout] test tests::page_meta_matches_version_endpoint ... ok
[INFO] [stdout] test tests::pages_declare_themselves_canonical ... ok
[INFO] [stdout] test tests::mosaic_tiles_carry_an_aspect_ratio ... ok
[INFO] [stdout] test tests::recent_folds_favs_into_the_roll_with_a_divider ... ok
[INFO] [stdout] test tests::front_door_renders_only_the_leading_section ... ok
[INFO] [stdout] test tests::recent_renders_only_the_declared_folders ... ok
[INFO] [stdout] test tests::recent_ignores_entries_outside_the_photos_root ... ok
[INFO] [stdout] test tests::a_job_is_named_by_its_title_file_and_falls_back_to_its_folder ... ok
[INFO] [stdout] test tests::only_the_archive_pages_load_the_collapse_script ... ok
[INFO] [stdout] test tests::recent_serves_grid_renditions_with_intrinsic_dimensions ... ok
[INFO] [stdout] test tests::a_job_stops_checking_passwords_after_five_wrong_ones ... ok
[INFO] [stdout] test tests::robots_and_sitemap_are_absolute_and_agree ... ok
[INFO] [stdout] test tests::recent_tiles_offer_a_larger_srcset_candidate ... ok
[INFO] [stdout] test tests::share_cards_use_the_preview_rendition ... ok
[INFO] [stdout] test tests::refused_work_downloads_are_not_logged ... ok
[INFO] [stdout] test tests::portfolio_root_and_trailing_slash_redirect ... ok
[INFO] [stdout] test tests::static_assets_stay_immutable ... ok
[INFO] [stdout] test tests::an_accepted_password_lands_with_the_downloads_open ... ok
[INFO] [stdout] test tests::client_facing_names_have_their_separators_spelled_out ... ok
[INFO] [stdout] test tests::only_genuinely_wide_photographs_are_promoted ... ok
[INFO] [stdout] test tests::the_failure_says_which_file_and_what_to_do ... ok
[INFO] [stdout] test tests::served_work_downloads_record_their_scope_and_kind ... ok
[INFO] [stdout] test tests::stars_do_not_reorder_or_split_sections ... ok
[INFO] [stdout] test tests::the_404_page_is_not_indexable ... ok
[INFO] [stdout] test tests::the_real_frame_that_the_clamp_pushed_a_face_out_of ... ok
[INFO] [stdout] test tests::the_404_is_revalidated_like_a_page ... ok
[INFO] [stdout] test tests::the_face_route_serves_a_square_crop_or_nothing ... ok
[INFO] [stdout] test tests::the_biggest_face_is_the_one_shown ... ok
[INFO] [stdout] test tests::only_a_live_file_inside_a_job_becomes_a_cover ... ok
[INFO] [stdout] test tests::the_tag_thumbnail_outranks_a_bigger_face ... ok
[INFO] [stdout] test tests::the_leading_sections_slug_redirects_to_the_front_door ... ok
[INFO] [stdout] test tests::stars_order_a_section_highest_first ... ok
[INFO] [stdout] test tests::section_pages_carry_their_own_canonical_and_no_person_block ... ok
[INFO] [stdout] test tests::routes_follow_the_database_not_the_code ... ok
[INFO] [stdout] test tests::the_mosaic_classes_are_ones_the_lightbox_binds_to ... ok
[INFO] [stdout] test tests::thumb_200_is_cacheable ... ok
[INFO] [stdout] test tests::trailing_slash_redirects_to_the_canonical_path ... ok
[INFO] [stdout] test tests::version_is_never_cached ... ok
[INFO] [stdout] test tests::the_photographs_run_to_the_footer ... ok
[INFO] [stdout] test tests::thumb_304_preserves_cache_control ... ok
[INFO] [stdout] test work::tests::constant_time_verify ... ok
[INFO] [stdout] test work::tests::edited_detection_is_segmentwise ... ok
[INFO] [stdout] test work::tests::jpeg_detection ... ok
[INFO] [stdout] test work::tests::kind_both_matches_either ... ok
[INFO] [stdout] test work::tests::parent_path_works ... ok
[INFO] [stdout] test work::tests::parses_download_kind ... ok
[INFO] [stdout] test work::tests::raw_detection_is_allowlist ... ok
[INFO] [stdout] test work::tests::sanitize_strips_unsafe ... ok
[INFO] [stdout] test work::tests::scope_includes_is_segmentwise ... ok
[INFO] [stdout] test work::tests::sort_pairs_siblings_with_edited_first ... ok
[INFO] [stdout] test tests::the_sitemap_lists_sections_but_not_the_redirecting_slug ... ok
[INFO] [stdout] test tests::wrong_work_passwords_are_counted_and_right_ones_are_not ... ok
[INFO] [stdout] test tests::the_sub_tab_strip_is_portfolio_only ... ok
[INFO] [stdout] test tests::the_set_query_picks_the_gallery_and_tolerates_a_stale_slug ... ok
[INFO] [stdout] test tests::the_download_panel_and_everything_that_opens_it_agree_on_one_id ... ok
[INFO] [stdout] test tests::a_panorama_offers_the_higher_resolution_rendition ... ok
[INFO] [stdout] test tests::a_work_card_shows_the_photograph_tagged_thumbnail ... ok
[INFO] [stdout] test tests::unrated_zero_star_and_missing_rows_rank_together ... ok
[INFO] [stdout] test tests::the_top_band_is_the_top_ranked_photographs ... ok
[INFO] [stdout] test tests::tiles_carry_a_reading_index_that_disagrees_with_document_order ... ok
[INFO] [stdout] test tests::the_title_file_is_not_served_as_part_of_the_job ... ok
[INFO] [stdout] test tests::only_the_download_route_is_logged ... ok
[INFO] [stdout] test tests::work_tabs_offer_the_edited_sets_and_not_the_originals ... ok
[INFO] [stdout] test tests::work_tiles_carry_the_post_download_route_and_no_get_link ... ok
[INFO] [stdout] test tests::every_rendition_has_a_route ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 39.96s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8", kill_on_drop: false }`
[INFO] [stdout] 67f23a6abfb41c4363bb922c7eacb6645b96f62af9e0d3611db0f0c18f0adff8
