[INFO] cloning repository https://github.com/libliflin/gnomon
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/libliflin/gnomon" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flibliflin%2Fgnomon", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flibliflin%2Fgnomon'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7e7eec8e737f9529ed75861c401c609c204a4edd
[INFO] testing libliflin/gnomon against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flibliflin%2Fgnomon" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/libliflin/gnomon
[INFO] finished tweaking git repo https://github.com/libliflin/gnomon
[INFO] tweaked toml for git repo https://github.com/libliflin/gnomon written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/libliflin/gnomon on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/libliflin/gnomon 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.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c
[INFO] running `Command { std: "docker" "start" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", 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" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", 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" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.185
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling rustls v0.23.38
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling compression-core v0.4.31
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling compression-codecs v0.4.37
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling servo_arc v0.3.0
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling iri-string v0.7.12
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling ego-tree v0.6.3
[INFO] [stderr]    Compiling brotli v7.0.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.7
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.12
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling async-compression v0.4.41
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling scraper v0.20.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling gnomon v0.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.62s
[INFO] running `Command { std: "docker" "inspect" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", 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" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling gnomon v0.0.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.37s
[INFO] running `Command { std: "docker" "inspect" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", 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" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gnomon-3d512122c8f0e924)
[INFO] [stdout] 
[INFO] [stdout] running 206 tests
[INFO] [stdout] test analyze::tests::classify_content_type_with_charset_suffix ... ok
[INFO] [stdout] test analyze::tests::charset_meta_via_charset_attr_is_detected ... ok
[INFO] [stdout] test analyze::tests::charset_meta_via_http_equiv_is_detected ... ok
[INFO] [stdout] test analyze::tests::classify_content_type_wins_over_extension ... ok
[INFO] [stdout] test analyze::tests::classify_json_extension_is_js ... ok
[INFO] [stdout] test analyze::tests::classify_url_with_query_string_uses_extension ... ok
[INFO] [stdout] test analyze::tests::async_script_in_head_is_not_blocking ... ok
[INFO] [stdout] test analyze::tests::font_preload_no_crossorigin_does_not_affect_font_urls ... ok
[INFO] [stdout] test analyze::tests::deferred_script_in_head_is_not_blocking ... ok
[INFO] [stdout] test analyze::tests::font_preload_with_crossorigin_anonymous_is_not_counted ... ok
[INFO] [stdout] test analyze::tests::font_preload_with_crossorigin_is_not_counted ... ok
[INFO] [stdout] test analyze::tests::font_preload_with_crossorigin_empty_string_not_counted ... ok
[INFO] [stdout] test analyze::tests::classify_no_extension_no_content_type_is_other ... ok
[INFO] [stdout] test analyze::tests::disabled_stylesheet_is_not_render_blocking ... ok
[INFO] [stdout] test analyze::tests::data_uri_img_src_is_not_added_to_image_urls ... ok
[INFO] [stdout] test analyze::tests::img_missing_both_dimensions_is_counted ... ok
[INFO] [stdout] test analyze::tests::font_preload_without_crossorigin_is_counted ... ok
[INFO] [stdout] test analyze::tests::inline_script_body_is_counted ... ok
[INFO] [stdout] test analyze::tests::img_missing_one_dimension_is_counted ... ok
[INFO] [stdout] test analyze::tests::lazy_lcp_candidate_case_insensitive ... ok
[INFO] [stdout] test analyze::tests::is_lcp_candidate_set_on_fetchpriority_high_img ... ok
[INFO] [stdout] test analyze::tests::lazy_lcp_candidate_clear_when_lazy_only_no_fetchpriority ... ok
[INFO] [stdout] test analyze::tests::inline_and_external_styles_are_independent ... ok
[INFO] [stdout] test analyze::tests::lazy_lcp_candidate_clear_when_fetchpriority_high_but_not_lazy ... ok
[INFO] [stdout] test analyze::tests::lazy_lcp_candidate_not_first_img_matters ... ok
[INFO] [stdout] test analyze::tests::img_with_both_dimensions_is_not_counted ... ok
[INFO] [stdout] test analyze::tests::javascript_uri_in_script_src_is_filtered ... ok
[INFO] [stdout] test analyze::tests::lazy_lcp_candidate_fires_on_fetchpriority_high_and_lazy ... ok
[INFO] [stdout] test analyze::tests::meta_http_equiv_content_type_does_not_set_refresh ... ok
[INFO] [stdout] test analyze::tests::meta_http_equiv_refresh_absent_is_false ... ok
[INFO] [stdout] test analyze::tests::modulepreload_also_increments_preload_hint_count ... ok
[INFO] [stdout] test analyze::tests::multiple_style_blocks_are_summed ... ok
[INFO] [stdout] test analyze::tests::meta_http_equiv_refresh_case_insensitive ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_counts_multiple_non_modern_pictures ... ok
[INFO] [stdout] test analyze::tests::non_preload_links_do_not_increment_preload_hint_count ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_counts_picture_with_no_sources ... ok
[INFO] [stdout] test analyze::tests::inline_style_bytes_counted ... ok
[INFO] [stdout] test analyze::tests::meta_http_equiv_refresh_is_detected ... ok
[INFO] [stdout] test analyze::tests::font_preload_with_crossorigin_use_credentials_not_counted ... ok
[INFO] [stdout] test analyze::tests::meta_http_equiv_refresh_in_body_is_detected ... ok
[INFO] [stdout] test analyze::tests::multiple_distinct_preload_and_stylesheet_urls_count_separately ... ok
[INFO] [stdout] test analyze::tests::missing_viewport_meta_is_false ... ok
[INFO] [stdout] test analyze::tests::non_font_preloads_without_crossorigin_not_counted ... ok
[INFO] [stdout] test analyze::tests::multiple_font_preloads_some_missing_crossorigin_counted_correctly ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_counts_picture_with_jpeg_only ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_zero_when_no_pictures ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_zero_when_webp_source_present ... ok
[INFO] [stdout] test analyze::tests::preload_as_script_is_not_render_blocking ... ok
[INFO] [stdout] test analyze::tests::preload_and_stylesheet_same_url_counts_once ... ok
[INFO] [stdout] test analyze::tests::preload_as_font_is_not_render_blocking ... ok
[INFO] [stdout] test analyze::tests::script_in_body_is_not_blocking ... ok
[INFO] [stdout] test analyze::tests::preload_hint_count_all_as_variants_are_counted ... ok
[INFO] [stdout] test analyze::tests::preload_hint_count_single_preload_is_one ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_zero_when_type_is_uppercase_webp ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_zero_when_avif_source_present ... ok
[INFO] [stdout] test analyze::tests::render_blocking_script_in_head_is_counted ... ok
[INFO] [stdout] test analyze::tests::preload_and_stylesheet_same_url_stylesheet_first_counts_once ... ok
[INFO] [stdout] test analyze::tests::speculation_prerender_clear_when_only_prefetch ... ok
[INFO] [stdout] test analyze::tests::speculation_prerender_clear_when_no_speculation_script ... ok
[INFO] [stdout] test analyze::tests::script_with_src_and_body_does_not_count_inline_bytes ... ok
[INFO] [stdout] test analyze::tests::print_media_stylesheet_is_not_render_blocking ... ok
[INFO] [stdout] test analyze::tests::speculation_prerender_does_not_count_inline_script_bytes ... ok
[INFO] [stdout] test analyze::tests::speculation_prerender_fires_on_prerender_key ... ok
[INFO] [stdout] test audit::tests::bytes_check_exactly_at_budget_no_violation ... ok
[INFO] [stdout] test analyze::tests::stylesheet_in_head_is_render_blocking ... ok
[INFO] [stdout] test audit::tests::audit_report_pass_false_when_violations_present ... ok
[INFO] [stdout] test analyze::tests::stylesheet_in_body_is_not_render_blocking ... ok
[INFO] [stdout] test audit::tests::audit_report_pass_true_and_preset_set_when_no_violations ... ok
[INFO] [stdout] test audit::tests::bytes_check_nonzero_budget_detail_format ... ok
[INFO] [stdout] test audit::tests::bytes_check_one_byte_over_fires ... ok
[INFO] [stdout] test analyze::tests::picture_missing_modern_source_partial_mix_counts_correctly ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_does_not_fire_for_webp_and_avif ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_excludes_fetch_errors ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_excludes_missing_content_type ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_fires_for_gif ... ok
[INFO] [stdout] test analyze::tests::preload_as_style_is_render_blocking ... ok
[INFO] [stdout] test analyze::tests::protocol_relative_url_is_resolved ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_strips_mime_parameters ... ok
[INFO] [stdout] test audit::tests::css_inline_only_shows_inline_style_contributor ... ok
[INFO] [stdout] test audit::tests::css_mixed_inline_too_small_for_top_two ... ok
[INFO] [stdout] test audit::tests::fonts_count_detail_exactly_two_fonts ... ok
[INFO] [stdout] test audit::tests::fonts_count_detail_single_font ... ok
[INFO] [stdout] test audit::tests::img_format_violation_returns_none_for_modern_formats ... ok
[INFO] [stdout] test audit::tests::img_format_violation_fires_with_correct_fields ... ok
[INFO] [stdout] test audit::tests::img_format_violation_returns_none_for_empty_list ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_is_case_insensitive ... ok
[INFO] [stdout] test audit::tests::js_mixed_inline_large_enough_to_rank_in_top_two ... ok
[INFO] [stdout] test audit::tests::js_inline_only_shows_inline_script_contributor ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_returns_zero_with_no_images ... ok
[INFO] [stdout] test audit::tests::fonts_count_detail_top_two_shown ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_mixed_formats_counts_only_legacy ... ok
[INFO] [stdout] test audit::tests::css_mixed_inline_large_enough_to_rank_in_top_two ... ok
[INFO] [stdout] test audit::tests::img_format_violation_excludes_fetch_errors ... ok
[INFO] [stdout] test audit::tests::js_mixed_inline_too_small_for_top_two ... ok
[INFO] [stdout] test audit::tests::registrable_domain_extracts_last_two_labels ... ok
[INFO] [stdout] test audit::tests::registrable_domain_lowercases_result ... ok
[INFO] [stdout] test audit::tests::registrable_domain_returns_empty_for_empty_input ... ok
[INFO] [stdout] test audit::tests::registrable_domain_returns_host_when_single_label ... ok
[INFO] [stdout] test audit::tests::registrable_domain_returns_host_when_two_labels ... ok
[INFO] [stdout] test audit::tests::render_blocking_detail_multiple_names ... ok
[INFO] [stdout] test audit::tests::render_blocking_detail_no_names ... ok
[INFO] [stdout] test audit::tests::render_blocking_detail_over_count_reflects_budget_delta ... ok
[INFO] [stdout] test audit::tests::render_blocking_detail_single_name ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_all_types ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_inline_exclusion ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_inline_exclusion_css ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_inline_only_css ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_inline_only_js ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_no_typed_resources ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_single_type ... ok
[INFO] [stdout] test audit::tests::fonts_count_detail_no_fonts ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_tie_breaks_alphabetically ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_zero_omission ... ok
[INFO] [stdout] test audit::tests::requests_count_detail_zero_budget ... ok
[INFO] [stdout] test audit::tests::theater_violations_all_four_fire ... ok
[INFO] [stdout] test audit::tests::theater_violations_clean_page_returns_empty ... ok
[INFO] [stdout] test audit::tests::theater_violations_img_dimensions_single_element ... ok
[INFO] [stdout] test audit::tests::theater_violations_img_dimensions_zero_no_violation ... ok
[INFO] [stdout] test audit::tests::theater_violations_img_missing_dimensions_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_lazy_lcp_and_missing_viewport_emit_two ... ok
[INFO] [stdout] test audit::tests::theater_violations_lazy_lcp_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_meta_http_equiv_refresh_absent_no_violation ... ok
[INFO] [stdout] test audit::tests::theater_violations_missing_charset_meta_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_missing_viewport_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_meta_http_equiv_refresh_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_picture_no_modern_source_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_picture_no_modern_source_single_element ... ok
[INFO] [stdout] test audit::tests::theater_violations_all_six_fire ... ok
[INFO] [stdout] test audit::tests::theater_violations_present_charset_meta_no_violation ... ok
[INFO] [stdout] test audit::tests::theater_violations_speculation_prerender_fires ... ok
[INFO] [stdout] test audit::tests::third_party_domains_detail_no_domains ... ok
[INFO] [stdout] test audit::tests::third_party_domains_detail_over_count_differs_from_domain_count ... ok
[INFO] [stdout] test audit::tests::total_bytes_violation_names_all_when_two_categories ... ok
[INFO] [stdout] test audit::tests::total_bytes_violation_names_top_two_categories ... ok
[INFO] [stdout] test audit::tests::third_party_domains_detail_single_domain ... ok
[INFO] [stdout] test audit::tests::total_bytes_violation_detail_exact_format ... ok
[INFO] [stdout] test audit::tests::theater_violations_picture_no_modern_source_zero_no_violation ... ok
[INFO] [stdout] test audit::tests::theater_violations_preload_font_no_crossorigin_fires ... ok
[INFO] [stdout] test audit::tests::theater_violations_preload_font_no_crossorigin_single ... ok
[INFO] [stdout] test audit::tests::theater_violations_preload_font_no_crossorigin_zero_no_violation ... ok
[INFO] [stdout] test audit::tests::theater_violations_speculation_prerender_silent_when_false ... ok
[INFO] [stdout] test audit::tests::url_filename_strips_query_string_from_segment ... ok
[INFO] [stdout] test audit::tests::third_party_domains_detail_multiple_domains ... ok
[INFO] [stdout] test audit::tests::total_bytes_violation_omits_zero_byte_categories ... ok
[INFO] [stdout] test audit::tests::url_filename_falls_back_to_host_on_no_path ... ok
[INFO] [stdout] test audit::tests::url_filename_falls_back_to_host_on_trailing_slash ... ok
[INFO] [stdout] test audit::tests::url_filename_returns_bare_filename ... ok
[INFO] [stdout] test audit::tests::url_filename_returns_last_path_segment ... ok
[INFO] [stdout] test budget::tests::allowlist_bytes_fonts_disambiguates_from_count_fonts ... ok
[INFO] [stdout] test audit::tests::total_bytes_no_violation_at_budget ... ok
[INFO] [stdout] test budget::tests::allowlist_ambiguous_fonts_metric_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_count_fonts_metric_loosens_count_budget ... ok
[INFO] [stdout] test budget::tests::allowlist_empty_justification_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_expired_entry_fails_with_actionable_message ... ok
[INFO] [stdout] test budget::tests::allowlist_multiple_entries_different_metrics_all_applied ... ok
[INFO] [stdout] test budget::tests::allowlist_placeholder_justification_todo_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_unrecognized_metric_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_valid_entry_loosens_css_bytes ... ok
[INFO] [stdout] test budget::tests::allowlist_valid_entry_loosens_third_party_domains ... ok
[INFO] [stdout] test budget::tests::allowlist_expires_exactly_today_is_accepted ... ok
[INFO] [stdout] test budget::tests::allowlist_temporary_justification_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_expired_entry_error_message_exact_pin ... ok
[INFO] [stdout] test budget::tests::allowlist_invalid_expires_format_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_whitespace_padded_placeholder_is_rejected ... ok
[INFO] [stdout] test budget::tests::allowlist_wip_placeholder_is_rejected ... ok
[INFO] [stdout] test budget::tests::mcmaster_byte_comments_are_correct_kib ... ok
[INFO] [stdout] test budget::tests::insley_byte_comments_are_correct_kib ... ok
[INFO] [stdout] test budget::tests::nonzero_count_fonts_is_labeled ... ok
[INFO] [stdout] test budget::tests::preset_toml_allowlist_docs_present_for_mcmaster ... ok
[INFO] [stdout] test budget::tests::preset_toml_allowlist_docs_appear_after_count_block ... ok
[INFO] [stdout] test budget::tests::nonzero_count_render_blocking_names_count_not_boolean ... ok
[INFO] [stdout] test budget::tests::nonzero_byte_value_shows_kib_comment ... ok
[INFO] [stdout] test budget::tests::nonzero_count_requests_names_what_is_included ... ok
[INFO] [stdout] test budget::tests::mcmaster_toml_round_trips_through_config_parser ... ok
[INFO] [stdout] test budget::tests::gnomon_toml_with_expired_allowlist_fails_resolve_budget ... ok
[INFO] [stdout] test budget::tests::insley_toml_round_trips_through_config_parser ... ok
[INFO] [stdout] test budget::tests::resolve_budget_auto_discovery_fails_closed_on_malformed_toml ... ok
[INFO] [stdout] test budget::tests::gnomon_toml_with_allowlist_parses_and_applies ... ok
[INFO] [stdout] test budget::tests::nonzero_count_third_party_domains_is_labeled ... ok
[INFO] [stdout] test budget::tests::preset_toml_header_explains_units ... ok
[INFO] [stdout] test budget::tests::preset_toml_closing_section_documents_allowlist_syntax ... ok
[INFO] [stdout] test budget::tests::zero_count_fonts_explains_enforcement ... ok
[INFO] [stdout] test budget::tests::zero_count_render_blocking_explains_enforcement ... ok
[INFO] [stdout] test budget::tests::zero_count_third_party_domains_explains_enforcement ... ok
[INFO] [stdout] test budget::tests::resolve_budget_explicit_config_overrides_auto_discovery ... ok
[INFO] [stdout] test budget::tests::resolve_budget_falls_back_to_preset_when_no_file ... ok
[INFO] [stdout] test budget::tests::resolve_budget_auto_discovers_gnomon_toml_in_cwd ... ok
[INFO] [stdout] test budget::tests::resolve_budget_with_valid_allowlist_loosens_budget_end_to_end ... ok
[INFO] [stdout] test report::tests::sarif_rule_id_format_is_kind_slash_metric ... ok
[INFO] [stdout] test report::tests::sarif_empty_violations_produces_empty_results ... ok
[INFO] [stdout] test report::tests::sarif_schema_fields_present ... ok
[INFO] [stdout] test report::tests::sarif_single_violation_maps_correctly ... ok
[INFO] [stdout] test analyze::tests::relative_script_url_resolves_against_base ... ok
[INFO] [stdout] test analyze::tests::viewport_meta_is_detected ... ok
[INFO] [stdout] test audit::tests::bytes_check_zero_budget_nonzero_actual_fires ... ok
[INFO] [stdout] test budget::tests::allowlist_valid_entry_loosens_render_blocking ... ok
[INFO] [stdout] test report::tests::sarif_duplicate_kind_metric_produces_one_rule_entry ... ok
[INFO] [stdout] test forbidden::tests::multiple_distinct_entries_each_match ... ok
[INFO] [stdout] test forbidden::tests::pattern_is_substring_not_equality ... ok
[INFO] [stdout] test forbidden::tests::known_url_matches_with_correct_tuple ... ok
[INFO] [stdout] test forbidden::tests::matching_is_case_insensitive ... ok
[INFO] [stdout] test forbidden::tests::clean_url_returns_none ... ok
[INFO] [stdout] test audit::tests::count_legacy_images_fires_for_jpeg_and_png ... ok
[INFO] [stdout] test audit::tests::theater_violations_all_eight_fire ... ok
[INFO] [stdout] test budget::tests::today_iso_returns_yyyy_mm_dd_format ... ok
[INFO] [stdout] test budget::tests::zero_byte_value_shows_zero_enforcement_comment ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 206 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gnomon-c5142af52f846689)
[INFO] [stderr]    Doc-tests gnomon
[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" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c", kill_on_drop: false }`
[INFO] [stdout] 7512a6fc3206244182584c2b6c4b11e26e7f17458e9db2697c682cd8ff22660c
