[INFO] fetching crate email-auth 0.1.3...
[INFO] testing email-auth-0.1.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate email-auth 0.1.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate email-auth 0.1.3
[INFO] finished tweaking crates.io crate email-auth 0.1.3
[INFO] tweaked toml for crates.io crate email-auth 0.1.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate email-auth 0.1.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate email-auth 0.1.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6
[INFO] running `Command { std: "docker" "start" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", 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" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", 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" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling cc v1.2.55
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling oid-registry v0.7.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling psl-types v2.0.11
[INFO] [stderr]    Compiling resolv-conf v0.7.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling psl v2.1.188
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling moka v0.12.13
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rusticata-macros v4.1.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling asn1-rs-impl v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling asn1-rs-derive v0.5.1
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling asn1-rs v0.6.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling der-parser v9.0.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling x509-parser v0.16.0
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling email-auth v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `hickory-resolver`
[INFO] [stderr]  --> Cargo.toml:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | [dependencies.hickory-resolver]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hickory-resolver`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", 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" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling email-auth v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `hickory-resolver`
[INFO] [stderr]  --> Cargo.toml:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | [dependencies.hickory-resolver]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hickory-resolver`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 39.45s
[INFO] running `Command { std: "docker" "inspect" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", 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" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | homepage = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 62 | repository = "https://github.com/sderosiaux/email-auth-rs"
[INFO] [stderr]    |              ---------------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `hickory-resolver`
[INFO] [stderr]  --> Cargo.toml:4:15
[INFO] [stderr]   |
[INFO] [stderr] 4 | [dependencies.hickory-resolver]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `hickory-resolver`
[INFO] [stderr] warning: `email-auth` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/email-auth/9bf8c9f01dcbc1ff/out/email_auth-9bf8c9f01dcbc1ff)
[INFO] [stdout] 
[INFO] [stdout] running 611 tests
[INFO] [stdout] test arc::parser::tests::ams_optional_tags ... ok
[INFO] [stdout] test arc::parser::tests::instance_51_fails ... ok
[INFO] [stdout] test arc::parser::tests::ams_h_rejects_arc_headers ... ok
[INFO] [stdout] test arc::parser::tests::ams_c_tag_parsing ... ok
[INFO] [stdout] test arc::parser::tests::ams_h_rejects_authentication_results ... ok
[INFO] [stdout] test arc::parser::tests::collect_duplicate_instance_fails ... ok
[INFO] [stdout] test arc::parser::tests::ams_duplicate_tag_fails ... ok
[INFO] [stdout] test arc::parser::tests::collect_empty_headers ... ok
[INFO] [stdout] test arc::parser::tests::ams_missing_i_tag ... ok
[INFO] [stdout] test arc::parser::tests::collect_instance_gap_fails ... ok
[INFO] [stdout] test arc::parser::tests::instance_0_fails ... ok
[INFO] [stdout] test arc::parser::tests::parse_seal_cv_pass ... ok
[INFO] [stdout] test arc::parser::tests::parse_seal_cv_fail ... ok
[INFO] [stdout] test arc::parser::tests::ams_no_version_tag ... ok
[INFO] [stdout] test arc::parser::tests::collect_single_valid_set ... ok
[INFO] [stdout] test arc::parser::tests::parse_seal_cv_none ... ok
[INFO] [stdout] test arc::parser::tests::parse_valid_aar ... ok
[INFO] [stdout] test arc::parser::tests::parse_valid_ams ... ok
[INFO] [stdout] test arc::seal::tests::ams_h_includes_dkim_signature ... ok
[INFO] [stdout] test arc::seal::tests::seal_no_chain_instance_1_cv_none ... ok
[INFO] [stdout] test arc::seal::tests::multi_hop_body_mod_cv_fail ... ok
[INFO] [stdout] test arc::seal::tests::seal_modify_body_ams_fails ... ok
[INFO] [stdout] test arc::parser::tests::seal_missing_cv_tag ... ok
[INFO] [stdout] test arc::parser::tests::seal_optional_timestamp ... ok
[INFO] [stdout] test arc::seal::tests::cv_none_for_first_instance ... ok
[INFO] [stdout] test arc::seal::tests::seal_tamper_arc_header_as_fails ... ok
[INFO] [stdout] test arc::seal::tests::multi_hop_three_sealers_pass ... ok
[INFO] [stdout] test arc::parser::tests::seal_with_h_tag_fails ... ok
[INFO] [stdout] test arc::parser::tests::unknown_algorithm_fails ... ok
[INFO] [stdout] test arc::seal::tests::ams_h_includes_multiple_dkim_signatures ... ok
[INFO] [stdout] test arc::seal::tests::ams_h_no_dkim_sig_when_none_present ... ok
[INFO] [stdout] test arc::seal::tests::seal_as_covers_all_prior_sets ... ok
[INFO] [stdout] test arc::seal::tests::seal_cv_fail_stops ... ok
[INFO] [stdout] test arc::seal::tests::seal_instance_exceeds_50 ... ok
[INFO] [stdout] test arc::parser::tests::malformed_base64_fails ... ok
[INFO] [stdout] test arc::validate::tests::gap_in_instances_fails ... ok
[INFO] [stdout] test arc::validate::tests::instance_1_cv_pass_structure_fail ... ok
[INFO] [stdout] test arc::seal::tests::seal_validate_roundtrip_with_dkim_sig ... ok
[INFO] [stdout] test arc::validate::tests::ams_body_hash_mismatch_fails ... ok
[INFO] [stdout] test arc::validate::tests::instance_2_cv_none_fails ... ok
[INFO] [stdout] test arc::validate::tests::highest_cv_fail_fast ... ok
[INFO] [stdout] test arc::validate::tests::instance_2_cv_none_structure_fail ... ok
[INFO] [stdout] test arc::validate::tests::instance_1_cv_pass_fails ... ok
[INFO] [stdout] test arc::seal::tests::seal_uses_dkim_primitives ... ok
[INFO] [stdout] test arc::validate::tests::latest_cv_fail_immediately ... ok
[INFO] [stdout] test arc::seal::tests::seal_then_validate_pass ... ok
[INFO] [stdout] test arc::validate::tests::no_arc_headers_none ... ok
[INFO] [stdout] test arc::validate::tests::duplicate_instances_fails ... ok
[INFO] [stdout] test arc::validate::tests::seal_tampered_fails ... ok
[INFO] [stdout] test arc::seal::tests::seal_with_existing_chain_increments ... ok
[INFO] [stdout] test arc::validate::tests::oldest_pass_after_body_modification ... ok
[INFO] [stdout] test auth::tests::authenticate_no_from_header ... ok
[INFO] [stdout] test auth::tests::dkimpy_oversigned_simple_passes ... ok
[INFO] [stdout] test arc::validate::tests::single_arc_set_pass ... ok
[INFO] [stdout] test auth::tests::authenticate_full_pipeline ... ok
[INFO] [stdout] test auth::tests::extract_from_case_insensitive ... ok
[INFO] [stdout] test auth::tests::authenticate_from_with_rfc5322_comment ... ok
[INFO] [stdout] test arc::validate::tests::too_many_sets_fails ... ok
[INFO] [stdout] test auth::tests::dkimpy_oversigned_relaxed_passes ... ok
[INFO] [stdout] test auth::tests::extract_from_display_name_with_comma ... ok
[INFO] [stdout] test arc::validate::tests::validate_structure_valid ... ok
[INFO] [stdout] test arc::validate::tests::three_sets_pass ... ok
[INFO] [stdout] test auth::tests::authenticate_spf_fail_dmarc_reject ... ok
[INFO] [stdout] test auth::tests::extract_from_bare_address ... ok
[INFO] [stdout] test auth::tests::extract_from_missing ... ok
[INFO] [stdout] test auth::tests::parse_headers_folded ... ok
[INFO] [stdout] test auth::tests::extract_from_nested_comments ... ok
[INFO] [stdout] test auth::tests::parse_headers_simple ... ok
[INFO] [stdout] test auth::tests::parse_headers_bare_lf ... ok
[INFO] [stdout] test auth::tests::extract_from_no_at ... ok
[INFO] [stdout] test auth::tests::extract_from_with_comment ... ok
[INFO] [stdout] test auth::tests::authenticate_folded_from_header ... ok
[INFO] [stdout] test auth::tests::authenticate_empty_mail_from_uses_helo ... ok
[INFO] [stdout] test auth::tests::extract_from_angle_brackets ... ok
[INFO] [stdout] test auth::tests::strip_comments_escaped_paren ... ok
[INFO] [stdout] test auth::tests::strip_comments_basic ... ok
[INFO] [stdout] test auth::tests::unfold_no_fold ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_multiple_valid_fail ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_custom_selector ... ok
[INFO] [stdout] test auth::tests::unfold_crlf_sp ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_author_domain ... ok
[INFO] [stdout] test auth::tests::split_message_lf_fallback ... ok
[INFO] [stdout] test auth::tests::unfold_crlf_tab ... ok
[INFO] [stdout] test auth::tests::strip_comments_nested ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_dns_tempfail ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_no_record_none ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_dmarc_not_eligible_skipped ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_declination ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_quarantine_eligible ... ok
[INFO] [stdout] test bimi::discovery::tests::format_headers_declined_returns_none ... ok
[INFO] [stdout] test auth::tests::split_message_crlf ... ok
[INFO] [stdout] test bimi::discovery::tests::format_location_on_pass ... ok
[INFO] [stdout] test bimi::discovery::tests::format_location_on_fail ... ok
[INFO] [stdout] test auth::tests::split_message_no_body ... ok
[INFO] [stdout] test bimi::discovery::tests::format_headers_pass_with_vmc_svg ... ok
[INFO] [stdout] test bimi::discovery::tests::strip_bimi_indicator ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_fallback_org_domain ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_pct_100_eligible ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_dkim_aligned_eligible ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_pct_50_not_eligible ... ok
[INFO] [stdout] test bimi::parser::tests::declination_with_empty_l ... ok
[INFO] [stdout] test bimi::parser::tests::a_tag_valid ... ok
[INFO] [stdout] test bimi::parser::tests::declination_record ... ok
[INFO] [stdout] test bimi::discovery::tests::strip_no_bimi_noop ... ok
[INFO] [stdout] test bimi::parser::tests::non_https_l_error ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_fail_not_eligible ... ok
[INFO] [stdout] test bimi::discovery::tests::format_headers_none_returns_none ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_none_not_eligible ... ok
[INFO] [stdout] test bimi::parser::tests::parse_selector_missing_v ... ok
[INFO] [stdout] test bimi::parser::tests::parse_selector_v_not_first ... ok
[INFO] [stdout] test bimi::parser::tests::trailing_semicolons ... ok
[INFO] [stdout] test bimi::discovery::tests::format_headers_fail_returns_none ... ok
[INFO] [stdout] test bimi::discovery::tests::discover_one_valid_one_invalid ... ok
[INFO] [stdout] test bimi::parser::tests::unknown_tags_ignored ... ok
[INFO] [stdout] test bimi::parser::tests::parse_multiple_logo_uris ... ok
[INFO] [stdout] test bimi::parser::tests::parse_selector_default ... ok
[INFO] [stdout] test bimi::svg::tests::comma_viewbox ... ok
[INFO] [stdout] test bimi::parser::tests::parse_selector_valid ... ok
[INFO] [stdout] test bimi::svg::tests::animate_element_prohibited ... ok
[INFO] [stdout] test bimi::parser::tests::missing_l_with_a_is_declination ... ok
[INFO] [stdout] test bimi::discovery::tests::format_headers_pass_no_vmc ... ok
[INFO] [stdout] test bimi::parser::tests::non_https_a_error ... ok
[INFO] [stdout] test bimi::discovery::tests::strip_bimi_location ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_reject_eligible ... ok
[INFO] [stdout] test bimi::discovery::tests::dmarc_no_alignment_not_eligible ... ok
[INFO] [stdout] test bimi::svg::tests::event_handler_start_element ... ok
[INFO] [stdout] test bimi::parser::tests::v_not_bimi1_error ... ok
[INFO] [stdout] test bimi::svg::tests::missing_title ... ok
[INFO] [stdout] test bimi::svg::tests::exceeds_32kb ... ok
[INFO] [stdout] test bimi::svg::tests::missing_base_profile ... ok
[INFO] [stdout] test bimi::svg::tests::animate_transform_prohibited ... ok
[INFO] [stdout] test bimi::svg::tests::entity_declaration_xxe ... ok
[INFO] [stdout] test bimi::svg::tests::non_square_aspect_ratio ... ok
[INFO] [stdout] test bimi::svg::tests::foreign_object_prohibited ... ok
[INFO] [stdout] test bimi::svg::tests::image_element_prohibited ... ok
[INFO] [stdout] test bimi::svg::tests::javascript_uri_in_href ... ok
[INFO] [stdout] test bimi::svg::tests::event_handler_self_closing ... ok
[INFO] [stdout] test bimi::svg::tests::title_too_long ... ok
[INFO] [stdout] test bimi::svg::tests::size_exactly_at_limit ... ok
[INFO] [stdout] test bimi::parser::tests::v_not_first_error ... ok
[INFO] [stdout] test bimi::vmc::tests::logo_hash_match ... ok
[INFO] [stdout] test bimi::vmc::tests::missing_logotype ... ok
[INFO] [stdout] test bimi::vmc::tests::missing_bimi_eku ... ok
[INFO] [stdout] test bimi::vmc::tests::multiple_vmcs_in_chain ... ok
[INFO] [stdout] test bimi::svg::tests::valid_svg_tiny_ps ... ok
[INFO] [stdout] test bimi::svg::tests::wrong_base_profile_value ... ok
[INFO] [stdout] test bimi::vmc::tests::duplicate_cert_in_chain ... ok
[INFO] [stdout] test bimi::vmc::tests::logo_hash_mismatch ... ok
[INFO] [stdout] test bimi::vmc::tests::expired_cert ... ok
[INFO] [stdout] test bimi::vmc::tests::valid_pem_chain ... ok
[INFO] [stdout] test bimi::svg::tests::root_not_svg ... ok
[INFO] [stdout] test bimi::svg::tests::script_element_prohibited ... ok
[INFO] [stdout] test bimi::vmc::tests::extract_logotype_svg_test ... ok
[INFO] [stdout] test bimi::svg::tests::title_exactly_65_chars_ok ... ok
[INFO] [stdout] test bimi::parser::tests::parse_valid_record ... ok
[INFO] [stdout] test bimi::vmc::tests::no_certificates ... ok
[INFO] [stdout] test bimi::vmc::tests::san_match ... ok
[INFO] [stdout] test bimi::parser::tests::too_many_uris_error ... ok
[INFO] [stdout] test bimi::vmc::tests::san_mismatch ... ok
[INFO] [stdout] test bimi::vmc::tests::missing_san ... ok
[INFO] [stdout] test bimi::vmc::tests::out_of_order_chain ... ok
[INFO] [stdout] test bimi::vmc::tests::not_yet_valid_cert ... ok
[INFO] [stdout] test common::cidr::tests::ip4_prefix_0_matches_all ... ok
[INFO] [stdout] test common::cidr::tests::ip4_prefix_too_large ... ok
[INFO] [stdout] test common::cidr::tests::ip6_slash_64_boundary ... ok
[INFO] [stdout] test common::cidr::tests::ip6_exact_match ... ok
[INFO] [stdout] test common::cidr::tests::ip4_subnet_no_match ... ok
[INFO] [stdout] test common::cidr::tests::ip6_prefix_0_matches_all ... ok
[INFO] [stdout] test common::cidr::tests::ip4_subnet_match ... ok
[INFO] [stdout] test common::cidr::tests::ip4_exact_match ... ok
[INFO] [stdout] test common::dns::tests::blanket_impl_ref_resolver ... ok
[INFO] [stdout] test bimi::vmc::tests::valid_vmc ... ok
[INFO] [stdout] test common::cidr::tests::ip4_slash_16_boundary ... ok
[INFO] [stdout] test common::dns::tests::query_aaaa_returns_addresses ... ok
[INFO] [stdout] test common::cidr::tests::ip6_prefix_too_large ... ok
[INFO] [stdout] test common::cidr::tests::ip6_subnet_match ... ok
[INFO] [stdout] test common::dns::tests::query_a_returns_addresses ... ok
[INFO] [stdout] test common::cidr::tests::ip6_slash_64 ... ok
[INFO] [stdout] test common::dns::tests::dns_error_nxdomain ... ok
[INFO] [stdout] test common::dns::tests::query_exists_returns_bool ... ok
[INFO] [stdout] test common::cidr::tests::ip4_slash_16 ... ok
[INFO] [stdout] test common::cidr::tests::ip6_subnet_no_match ... ok
[INFO] [stdout] test common::domain::tests::domain_from_email_no_at ... ok
[INFO] [stdout] test common::dns::tests::query_txt_returns_records ... ok
[INFO] [stdout] test common::dns::tests::dns_error_tempfail ... ok
[INFO] [stdout] test common::domain::tests::domains_equal_case_insensitive ... ok
[INFO] [stdout] test common::domain::tests::domains_equal_trailing_dot ... ok
[INFO] [stdout] test common::dns::tests::query_mx_returns_records ... ok
[INFO] [stdout] test common::dns::tests::mock_case_insensitive ... ok
[INFO] [stdout] test common::domain::tests::normalize_lowercase ... ok
[INFO] [stdout] test common::domain::tests::local_part_normal ... ok
[INFO] [stdout] test common::domain::tests::org_domain_cctld ... ok
[INFO] [stdout] test common::domain::tests::domains_equal_same ... ok
[INFO] [stdout] test common::dns::tests::query_ptr_returns_names ... ok
[INFO] [stdout] test common::domain::tests::local_part_no_at ... ok
[INFO] [stdout] test common::domain::tests::normalize_combined ... ok
[INFO] [stdout] test common::dns::tests::dns_error_no_records ... ok
[INFO] [stdout] test common::domain::tests::org_domain_cctld_deep ... ok
[INFO] [stdout] test common::domain::tests::org_domain_very_deep ... ok
[INFO] [stdout] test common::domain::tests::org_domain_deep_subdomain ... ok
[INFO] [stdout] test common::domain::tests::subdomain_case_insensitive ... ok
[INFO] [stdout] test common::domain::tests::org_domain_cctld_subdomain ... ok
[INFO] [stdout] test common::domain::tests::org_domain_subdomain ... ok
[INFO] [stdout] test common::domain::tests::org_domain_normalizes_input ... ok
[INFO] [stdout] test common::domain::tests::subdomain_deep ... ok
[INFO] [stdout] test common::domain::tests::subdomain_different_domain ... ok
[INFO] [stdout] test common::domain::tests::org_domain_tld_only_fallback ... ok
[INFO] [stdout] test common::domain::tests::subdomain_partial_label_no_match ... ok
[INFO] [stdout] test dkim::canon::tests::body_length_limit_none ... ok
[INFO] [stdout] test common::domain::tests::subdomain_self_is_not_subdomain ... ok
[INFO] [stdout] test common::dns::tests::query_exists_false_for_nxdomain ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_bottom_up ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_case_insensitive ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_multiple_same_name_bottom_up ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_over_signed_null_input ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_relaxed ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_over_signed_adds_nothing ... ok
[INFO] [stdout] test dkim::canon::tests::normalize_bare_lf_to_crlf ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_tracks_consumed ... ok
[INFO] [stdout] test dkim::canon::tests::body_length_limit_security_note ... ok
[INFO] [stdout] test dkim::canon::tests::normalize_mixed_line_endings ... ok
[INFO] [stdout] test dkim::canon::tests::normalize_no_line_endings ... ok
[INFO] [stdout] test dkim::canon::tests::body_length_limit_zero ... ok
[INFO] [stdout] test dkim::canon::tests::body_length_limit_truncates ... ok
[INFO] [stdout] test common::dns::tests::trait_has_all_required_methods ... ok
[INFO] [stdout] test common::domain::tests::domain_from_email_multiple_at ... ok
[INFO] [stdout] test dkim::canon::tests::normalize_lone_cr ... ok
[INFO] [stdout] test common::domain::tests::normalize_strip_trailing_dot ... ok
[INFO] [stdout] test common::domain::tests::domains_not_equal ... ok
[INFO] [stdout] test common::domain::tests::org_domain_apex ... ok
[INFO] [stdout] test common::domain::tests::domain_from_email_normal ... ok
[INFO] [stdout] test common::domain::tests::normalize_already_normal ... ok
[INFO] [stdout] test common::domain::tests::subdomain_true ... ok
[INFO] [stdout] test dkim::canon::tests::both_canon_complete_integration ... ok
[INFO] [stdout] test dkim::canon::tests::body_length_limit_larger_than_body ... ok
[INFO] [stdout] test dkim::canon::tests::header_selection_absent_header_null_input ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_only_blank_lines_to_empty ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_remove_trailing_wsp ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_all_empty_lines_to_crlf ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_empty_to_crlf ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_tabs_and_spaces ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_only_whitespace_lines_to_empty ... ok
[INFO] [stdout] test dkim::canon::tests::normalize_preserves_existing_crlf ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_output_format ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_collapse_wsp ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_tab_handling ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_remove_trailing_wsp ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_trailing_blank_lines ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_no_trailing_crlf_gets_one ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_body_empty_to_empty ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_full ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_unfold ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_lowercase_name ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_removes_trailing_blank_lines ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_structural_with_semicolons ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_ends_with_crlf ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_no_space_around_colon ... ok
[INFO] [stdout] test dkim::key::tests::key_parsing_complete ... ok
[INFO] [stdout] test dkim::key::tests::key_query_format ... ok
[INFO] [stdout] test dkim::canon::tests::relaxed_header_collapse_whitespace ... ok
[INFO] [stdout] test dkim::key::tests::different_selectors_different_keys ... ok
[INFO] [stdout] test dkim::key::tests::parse_ed25519_key ... ok
[INFO] [stdout] test dkim::key::tests::parse_ed25519_raw_32_bytes ... ok
[INFO] [stdout] test dkim::canon::tests::simple_header_unchanged ... ok
[INFO] [stdout] test dkim::canon::tests::simple_body_trailing_blank_lines ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_value_basic ... ok
[INFO] [stdout] test dkim::key::tests::parse_default_service_type ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_b_first_in_header ... ok
[INFO] [stdout] test dkim::key::tests::parse_duplicate_tag_in_key ... ok
[INFO] [stdout] test dkim::key::tests::parse_concatenated_txt_strings ... ok
[INFO] [stdout] test dkim::key::tests::parse_full_key ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_does_not_strip_bh ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_at_end ... ok
[INFO] [stdout] test dkim::canon::tests::simple_header_case_preserved ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_multiline ... ok
[INFO] [stdout] test dkim::key::tests::parse_k_rsa_explicit ... ok
[INFO] [stdout] test dkim::key::tests::parse_malformed_base64 ... ok
[INFO] [stdout] test dkim::key::tests::parse_minimal_key ... ok
[INFO] [stdout] test dkim::canon::tests::simple_header_output_format ... ok
[INFO] [stdout] test dkim::key::tests::parse_h_sha256_only ... ok
[INFO] [stdout] test dkim::key::tests::parse_rsa_1024_key ... ok
[INFO] [stdout] test dkim::key::tests::parse_s_wildcard ... ok
[INFO] [stdout] test dkim::key::tests::parse_revoked_key ... ok
[INFO] [stdout] test dkim::canon::tests::simple_header_preserves_case_and_whitespace ... ok
[INFO] [stdout] test dkim::key::tests::parse_rsa_2048_key ... ok
[INFO] [stdout] test dkim::key::tests::parse_s_email ... ok
[INFO] [stdout] test dkim::canon::tests::strip_b_tag_preserves_bh ... ok
[INFO] [stdout] test dkim::key::tests::parse_t_testing ... ok
[INFO] [stdout] test dkim::key::tests::parse_s_multiple ... ok
[INFO] [stdout] test dkim::key::tests::parse_missing_p ... ok
[INFO] [stdout] test dkim::key::tests::parse_k_ed25519 ... ok
[INFO] [stdout] test dkim::key::tests::parse_rsa_spki_format ... ok
[INFO] [stdout] test dkim::key::tests::parse_h_unknown_hash_ignored ... ok
[INFO] [stdout] test dkim::key::tests::parse_t_strict ... ok
[INFO] [stdout] test dkim::key::tests::parse_v_absent_valid ... ok
[INFO] [stdout] test dkim::key::tests::parse_t_unknown_flag_ignored ... ok
[INFO] [stdout] test dkim::key::tests::parse_unknown_key_type ... ok
[INFO] [stdout] test dkim::key::tests::parse_v_wrong ... ok
[INFO] [stdout] test dkim::key::tests::parse_t_both ... ok
[INFO] [stdout] test dkim::key::tests::parse_s_other ... ok
[INFO] [stdout] test dkim::key::tests::parse_h_sha1_and_sha256 ... ok
[INFO] [stdout] test dkim::key::tests::parse_unknown_tags_ignored ... ok
[INFO] [stdout] test dkim::key::tests::parse_n_notes ... ok
[INFO] [stdout] test dkim::key::tests::parse_v_dkim1 ... ok
[INFO] [stdout] test dkim::parser::tests::canonicalization_parse ... ok
[INFO] [stdout] test dkim::parser::tests::parse_c_simple_only ... ok
[INFO] [stdout] test dkim::parser::tests::parse_all_optional_tags ... ok
[INFO] [stdout] test dkim::parser::tests::decode_base64_with_spaces ... ok
[INFO] [stdout] test dkim::parser::tests::parse_c_relaxed_only_body_defaults_simple ... ok
[INFO] [stdout] test dkim::parser::tests::parse_duplicate_d_tag ... ok
[INFO] [stdout] test dkim::parser::tests::parse_ed25519_signature ... ok
[INFO] [stdout] test dkim::parser::tests::parse_duplicate_tag ... ok
[INFO] [stdout] test dkim::parser::tests::parse_c_relaxed_relaxed ... ok
[INFO] [stdout] test dkim::parser::tests::parse_h_multiple_headers ... ok
[INFO] [stdout] test dkim::parser::tests::algorithm_parse_all_variants ... ok
[INFO] [stdout] test dkim::parser::tests::all_types_are_typed_enums ... ok
[INFO] [stdout] test dkim::parser::tests::parse_folded_header ... ok
[INFO] [stdout] test dkim::parser::tests::parse_h_from_case_insensitive ... ok
[INFO] [stdout] test dkim::parser::tests::parse_h_missing_from ... ok
[INFO] [stdout] test dkim::parser::tests::parse_base64_with_whitespace ... ok
[INFO] [stdout] test dkim::parser::tests::parse_i_subdomain_valid ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_required_tag_s ... ok
[INFO] [stdout] test dkim::parser::tests::parse_i_defaults_to_at_domain ... ok
[INFO] [stdout] test dkim::parser::tests::parse_i_not_subdomain ... ok
[INFO] [stdout] test dkim::parser::tests::parse_invalid_algorithm ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_bh ... ok
[INFO] [stdout] test dkim::parser::tests::parse_case_insensitive_algorithm ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_required_tag_d ... ok
[INFO] [stdout] test dkim::parser::tests::parse_multiple_unknown_tags ... ok
[INFO] [stdout] test dkim::parser::tests::parse_minimal_signature ... ok
[INFO] [stdout] test dkim::parser::tests::parse_l_body_length ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_required_tag_h ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_required_tag_b ... ok
[INFO] [stdout] test dkim::parser::tests::parse_rsa_sha1_signature ... ok
[INFO] [stdout] test dkim::parser::tests::parse_missing_required_tag_v ... ok
[INFO] [stdout] test dkim::parser::tests::validate_auid_domain_subdomain ... ok
[INFO] [stdout] test dkim::sign::tests::default_headers_include_recommended ... ok
[INFO] [stdout] test dkim::parser::tests::tag_list_parsing ... ok
[INFO] [stdout] test dkim::parser::tests::parse_z_copied_headers ... ok
[INFO] [stdout] test dkim::parser::tests::parse_stores_raw_header ... ok
[INFO] [stdout] test dkim::parser::tests::unfold_crlf_tab ... ok
[INFO] [stdout] test dkim::parser::tests::unfold_crlf_space ... ok
[INFO] [stdout] test dkim::parser::tests::validate_auid_domain_different ... ok
[INFO] [stdout] test dkim::parser::tests::parse_timestamp_expiration ... ok
[INFO] [stdout] test dkim::parser::tests::validate_auid_domain_case_insensitive ... ok
[INFO] [stdout] test dkim::parser::tests::tag_list_strips_whitespace ... ok
[INFO] [stdout] test dkim::parser::tests::signature_has_all_fields ... ok
[INFO] [stdout] test dkim::parser::tests::parse_unknown_tag_ignored ... ok
[INFO] [stdout] test dkim::parser::tests::validate_auid_domain_equal ... ok
[INFO] [stdout] test dkim::parser::tests::result_types_exist ... ok
[INFO] [stdout] test dkim::parser::tests::parse_version_not_1 ... ok
[INFO] [stdout] test dkim::sign::tests::pem_decode_empty ... ok
[INFO] [stdout] test dkim::sign::tests::invalid_pem_fails ... ok
[INFO] [stdout] test dkim::sign::tests::sign_without_from_fails ... ok
[INFO] [stdout] test dkim::sign::tests::pem_decode_rsa_key ... ok
[INFO] [stdout] test dkim::sign::tests::signature_has_timestamp ... ok
[INFO] [stdout] test dkim::sign::tests::ed25519_sign_verify_roundtrip ... ok
[INFO] [stdout] test dkim::sign::tests::invalid_key_fails_fast ... ok
[INFO] [stdout] test dkim::sign::tests::simple_simple_roundtrip ... ok
[INFO] [stdout] test dkim::sign::tests::over_sign_roundtrip ... ok
[INFO] [stdout] test dkim::sign::tests::rsa_sha1_signing_not_constructable ... ok
[INFO] [stdout] test dkim::verify::tests::algorithm_key_type_mismatch ... ok
[INFO] [stdout] test dkim::sign::tests::signed_header_contains_required_tags ... ok
[INFO] [stdout] test dkim::sign::tests::ed25519_key_loads_from_pkcs8 ... ok
[INFO] [stdout] test dkim::sign::tests::pem_decode_invalid_base64 ... ok
[INFO] [stdout] test dkim::verify::tests::dns_temp_failure ... ok
[INFO] [stdout] test dkim::sign::tests::rsa_key_loads_from_pem ... ok
[INFO] [stdout] test dkim::sign::tests::rsa_sha256_sign_verify_roundtrip ... ok
[INFO] [stdout] test dkim::sign::tests::timestamp_and_expiration_set ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_over_signed_verify ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_relaxed_relaxed_e2e ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_pass_ground_truth ... ok
[INFO] [stdout] test dkim::verify::tests::expired_signature ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_tampered_header ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_simple_simple_e2e ... ok
[INFO] [stdout] test dkim::verify::tests::ed25519_tampered_body ... ok
[INFO] [stdout] test dkim::verify::tests::expiration_before_timestamp ... ok
[INFO] [stdout] test dmarc::eval::tests::both_align_pass ... ok
[INFO] [stdout] test dkim::verify::tests::key_strict_mode_violation ... ok
[INFO] [stdout] test dkim::verify::tests::no_dkim_signature_returns_none ... ok
[INFO] [stdout] test dmarc::eval::tests::dkim_alignment_any_one_aligns ... ok
[INFO] [stdout] test dkim::verify::tests::strip_spki_too_short ... ok
[INFO] [stdout] test dkim::verify::tests::key_not_found_nxdomain ... ok
[INFO] [stdout] test dkim::verify::tests::multiple_signatures_return_multiple_results ... ok
[INFO] [stdout] test dkim::verify::tests::rsa_sha1_precomputed_fixture_pass ... ok
[INFO] [stdout] test dmarc::eval::tests::both_misaligned ... ok
[INFO] [stdout] test dmarc::eval::tests::dkim_alignment_strict_subdomain_fails ... ok
[INFO] [stdout] test dkim::verify::tests::malformed_signature_returns_permfail ... ok
[INFO] [stdout] test dkim::verify::tests::key_revoked_empty_p ... ok
[INFO] [stdout] test dkim::verify::tests::key_h_rejects_algorithm ... ok
[INFO] [stdout] test dkim::verify::tests::rsa_sha256_precomputed_fixture_pass ... ok
[INFO] [stdout] test dkim::verify::tests::ground_truth_ed25519_manual_ring_primitives ... ok
[INFO] [stdout] test dmarc::eval::tests::dkim_alignment_relaxed_subdomain ... ok
[INFO] [stdout] test dkim::verify::tests::key_s_rejects_email ... ok
[INFO] [stdout] test dkim::verify::tests::strip_spki_real_rsa_2048_key ... ok
[INFO] [stdout] test dmarc::eval::tests::from_domain_used_for_discovery ... ok
[INFO] [stdout] test dkim::verify::tests::strip_spki_passthrough_pkcs1 ... ok
[INFO] [stdout] test dmarc::eval::tests::no_dmarc_record_none ... ok
[INFO] [stdout] test dmarc::eval::tests::np_non_existent_subdomain ... ok
[INFO] [stdout] test dmarc::eval::tests::multiple_txt_first_valid ... ok
[INFO] [stdout] test dkim::verify::tests::ground_truth_ed25519_tampered ... ok
[INFO] [stdout] test dmarc::eval::tests::org_domain_uses_p ... ok
[INFO] [stdout] test dmarc::eval::tests::no_record_none ... ok
[INFO] [stdout] test dmarc::eval::tests::dkim_aligns_pass ... ok
[INFO] [stdout] test dmarc::eval::tests::dmarc_dns_query ... ok
[INFO] [stdout] test dmarc::eval::tests::non_existent_detection_all_nxdomain ... ok
[INFO] [stdout] test dmarc::eval::tests::dns_tempfail_disposition ... ok
[INFO] [stdout] test dmarc::eval::tests::non_existent_detection_mx_exists ... ok
[INFO] [stdout] test dmarc::eval::tests::non_existent_detection_a_exists ... ok
[INFO] [stdout] test dmarc::eval::tests::dns_tempfail_not_treated_as_no_record ... ok
[INFO] [stdout] test dmarc::eval::tests::np_absent_fallback_sp ... ok
[INFO] [stdout] test dmarc::eval::tests::org_domain_fallback ... ok
[INFO] [stdout] test dmarc::eval::tests::misaligned_apply_policy ... ok
[INFO] [stdout] test dmarc::eval::tests::pass_requires_dkim_or_spf ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_0_monitoring ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_100_always_apply ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_sampling_boundary ... ok
[INFO] [stdout] test dmarc::eval::tests::relaxed_dkim_subdomain_passes ... ok
[INFO] [stdout] test dmarc::eval::tests::relaxed_spf_subdomain_passes ... ok
[INFO] [stdout] test dmarc::eval::tests::result_is_structured ... ok
[INFO] [stdout] test dmarc::eval::tests::spf_alignment_relaxed_org_domain ... ok
[INFO] [stdout] test dmarc::eval::tests::spf_alignment_strict_mismatch ... ok
[INFO] [stdout] test dmarc::eval::tests::spf_softfail_no_alignment ... ok
[INFO] [stdout] test dmarc::eval::tests::spf_must_pass_for_alignment ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_50_monitoring_branch ... ok
[INFO] [stdout] test dmarc::eval::tests::strict_dkim_exact_match ... ok
[INFO] [stdout] test dmarc::eval::tests::reject_outside_pct_sample_downgrades_to_quarantine ... ok
[INFO] [stdout] test dmarc::eval::tests::policy_none_monitoring ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_sampling_quarantine ... ok
[INFO] [stdout] test dmarc::eval::tests::strict_spf_exact_match ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_50_apply_branch ... ok
[INFO] [stdout] test dmarc::parser::tests::case_insensitive_tags_and_values ... ok
[INFO] [stdout] test dmarc::parser::tests::disposition_enum_exists ... ok
[INFO] [stdout] test dmarc::parser::tests::dmarc_result_struct ... ok
[INFO] [stdout] test dmarc::eval::tests::psl_integration_org_domain_fallback ... ok
[INFO] [stdout] test dmarc::eval::tests::relaxed_dkim_diff_org_fails ... ok
[INFO] [stdout] test dmarc::parser::tests::all_failure_option_variants ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_sampling_100_always ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_sampling_0_never ... ok
[INFO] [stdout] test dmarc::parser::tests::fo_multiple_options ... ok
[INFO] [stdout] test dmarc::parser::tests::duplicate_sp_first_wins ... ok
[INFO] [stdout] test dmarc::eval::tests::policy_quarantine ... ok
[INFO] [stdout] test dmarc::parser::tests::empty_record ... ok
[INFO] [stdout] test dmarc::eval::tests::pct_sampling_none_policy_always_none ... ok
[INFO] [stdout] test dmarc::eval::tests::tempfail_on_subdomain_query_returns_tempfail ... ok
[INFO] [stdout] test dmarc::parser::tests::all_alignment_variants ... ok
[INFO] [stdout] test dmarc::eval::tests::spf_aligns_pass ... ok
[INFO] [stdout] test dmarc::eval::tests::policy_reject ... ok
[INFO] [stdout] test dmarc::eval::tests::subdomain_policy_different ... ok
[INFO] [stdout] test dmarc::parser::tests::full_record_all_tags ... ok
[INFO] [stdout] test dmarc::parser::tests::all_policy_variants ... ok
[INFO] [stdout] test dmarc::eval::tests::subdomain_uses_sp ... ok
[INFO] [stdout] test dmarc::parser::tests::invalid_policy_value ... ok
[INFO] [stdout] test dmarc::parser::tests::duplicate_p_first_wins ... ok
[INFO] [stdout] test dmarc::parser::tests::fo_unknown_options_ignored ... ok
[INFO] [stdout] test dmarc::parser::tests::fo_all_unknown_default ... ok
[INFO] [stdout] test dmarc::eval::tests::strict_dkim_subdomain_fails ... ok
[INFO] [stdout] test dmarc::parser::tests::minimal_valid_record ... ok
[INFO] [stdout] test dmarc::parser::tests::missing_p_tag ... ok
[INFO] [stdout] test dmarc::parser::tests::missing_v_tag ... ok
[INFO] [stdout] test dmarc::parser::tests::no_spaces_around_semicolons ... ok
[INFO] [stdout] test dmarc::parser::tests::np_absent ... ok
[INFO] [stdout] test dmarc::parser::tests::non_mailto_uri_rejected ... ok
[INFO] [stdout] test dmarc::parser::tests::np_parsing ... ok
[INFO] [stdout] test dmarc::parser::tests::report_uri_with_size_k ... ok
[INFO] [stdout] test dmarc::parser::tests::ri_non_numeric_default ... ok
[INFO] [stdout] test dmarc::parser::tests::report_uri_non_mailto ... ok
[INFO] [stdout] test dmarc::parser::tests::multiple_rua_uris ... ok
[INFO] [stdout] test dmarc::parser::tests::pct_greater_than_100_clamped ... ok
[INFO] [stdout] test dmarc::parser::tests::trailing_semicolons_valid ... ok
[INFO] [stdout] test dmarc::parser::tests::unknown_tags_ignored ... ok
[INFO] [stdout] test dmarc::parser::tests::pct_non_numeric_default ... ok
[INFO] [stdout] test dmarc::parser::tests::rf_unknown_default ... ok
[INFO] [stdout] test dmarc::parser::tests::size_suffix_case_insensitive ... ok
[INFO] [stdout] test dmarc::parser::tests::multiple_trailing_semicolons ... ok
[INFO] [stdout] test dmarc::parser::tests::sp_defaults_to_p ... ok
[INFO] [stdout] test dmarc::parser::tests::sp_overrides_default ... ok
[INFO] [stdout] test dmarc::parser::tests::uri_size_limits ... ok
[INFO] [stdout] test dmarc::parser::tests::uri_size_terabytes ... ok
[INFO] [stdout] test dmarc::parser::tests::uri_size_bare_bytes ... ok
[INFO] [stdout] test dmarc::parser::tests::pct_negative_clamped ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_metadata ... ok
[INFO] [stdout] test dmarc::parser::tests::v_not_first_tag ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_ipv6_source ... ok
[INFO] [stdout] test dmarc::report::tests::external_uri_auth_record_with_tags ... ok
[INFO] [stdout] test dmarc::parser::tests::ri_custom_value ... ok
[INFO] [stdout] test dmarc::parser::tests::whitespace_around_tags ... ok
[INFO] [stdout] test dmarc::parser::tests::report_uri_with_bare_size ... ok
[INFO] [stdout] test dmarc::parser::tests::wrong_version ... ok
[INFO] [stdout] test dmarc::report::tests::fo_1_both_align_no_report ... ok
[INFO] [stdout] test dmarc::report::tests::fo_0_both_align_no_report ... ok
[INFO] [stdout] test dmarc::report::tests::fo_d_dkim_fails_generate ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_empty ... ok
[INFO] [stdout] test dmarc::report::tests::external_uri_cross_domain_authorized ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_multiple_records ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_policy_published ... ok
[INFO] [stdout] test dmarc::parser::tests::uri_size_gigabytes ... ok
[INFO] [stdout] test dmarc::report::tests::fo_0_both_fail_generate ... ok
[INFO] [stdout] test dmarc::report::tests::failure_report_afrf_format ... ok
[INFO] [stdout] test dmarc::report::tests::fo_0_dkim_aligns_no_report ... ok
[INFO] [stdout] test dmarc::report::tests::aggregate_report_xml_structure ... ok
[INFO] [stdout] test dmarc::report::tests::external_uri_cross_domain_tempfail ... ok
[INFO] [stdout] test spf::eval::tests::circular_include ... ok
[INFO] [stdout] test dmarc::report::tests::external_uri_cross_domain_unauthorized ... ok
[INFO] [stdout] test dmarc::report::tests::external_uri_same_domain ... ok
[INFO] [stdout] test dmarc::report::tests::fo_1_any_fails_generate ... ok
[INFO] [stdout] test dmarc::report::tests::fo_d_dkim_passes_no_report ... ok
[INFO] [stdout] test dmarc::report::tests::fo_s_spf_passes_no_report ... ok
[INFO] [stdout] test spf::eval::tests::exists_with_macros ... ok
[INFO] [stdout] test dmarc::report::tests::xml_escaping ... ok
[INFO] [stdout] test dmarc::report::tests::fo_s_spf_fails_generate ... ok
[INFO] [stdout] test dmarc::report::tests::multiple_fo_options_any_triggers ... ok
[INFO] [stdout] test spf::eval::tests::dns_limit_exceeded ... ok
[INFO] [stdout] test spf::eval::tests::a_with_cidr ... ok
[INFO] [stdout] test spf::eval::tests::empty_mail_from ... ok
[INFO] [stdout] test spf::eval::tests::exists_nxdomain_counts_as_void_lookup ... ok
[INFO] [stdout] test spf::eval::tests::exp_explanation ... ok
[INFO] [stdout] test spf::eval::tests::include_temperror_propagates ... ok
[INFO] [stdout] test spf::eval::tests::include_none_permerror ... ok
[INFO] [stdout] test dmarc::parser::tests::report_uri_no_size ... ok
[INFO] [stdout] test spf::eval::tests::include_none_permerror_overrides_later_match ... ok
[INFO] [stdout] test spf::eval::tests::neutral_qualifier ... ok
[INFO] [stdout] test spf::eval::tests::mail_from_no_at ... ok
[INFO] [stdout] test spf::eval::tests::redirect_modifier ... ok
[INFO] [stdout] test spf::eval::tests::ipv4_skips_ip6 ... ok
[INFO] [stdout] test spf::eval::tests::ptr_mechanism ... ok
[INFO] [stdout] test spf::eval::tests::simple_fail ... ok
[INFO] [stdout] test spf::eval::tests::no_spf_record_none ... ok
[INFO] [stdout] test spf::eval::tests::ipv6_with_ip6 ... ok
[INFO] [stdout] test spf::eval::tests::include_pass ... ok
[INFO] [stdout] test spf::eval::tests::include_permerror_propagates ... ok
[INFO] [stdout] test spf::eval::tests::mx_more_than_10_records_permerror ... ok
[INFO] [stdout] test spf::eval::tests::redirect_empty_domain_permerror ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_multiple_spf_records_permerror ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_filters_non_spf_records ... ok
[INFO] [stdout] test spf::eval::tests::void_limit_exceeded ... ok
[INFO] [stdout] test spf::eval::tests::exp_failure_graceful ... ok
[INFO] [stdout] test spf::eval::tests::simple_pass ... ok
[INFO] [stdout] test spf::eval::tests::include_fail ... ok
[INFO] [stdout] test spf::eval::tests::softfail_qualifier ... ok
[INFO] [stdout] test spf::eval::tests::mx_mechanism ... ok
[INFO] [stdout] test spf::macros::tests::macro_c_in_exp ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_no_spf_record_none ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_nxdomain_none ... ok
[INFO] [stdout] test spf::macros::tests::macro_d ... ok
[INFO] [stdout] test spf::macros::tests::macro_c_rejected_non_exp ... ok
[INFO] [stdout] test spf::macros::tests::macro_complex_string ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_parse_failure_permerror ... ok
[INFO] [stdout] test spf::macros::tests::macro_d1r ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_queries_txt_and_parses ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_tempfail_temperror ... ok
[INFO] [stdout] test spf::macros::tests::macro_d0_entire_domain ... ok
[INFO] [stdout] test spf::macros::tests::macro_d2 ... ok
[INFO] [stdout] test spf::macros::tests::macro_p_unknown ... ok
[INFO] [stdout] test spf::macros::tests::macro_r_in_exp ... ok
[INFO] [stdout] test spf::macros::tests::macro_r_rejected_non_exp ... ok
[INFO] [stdout] test spf::macros::tests::macro_s_sender ... ok
[INFO] [stdout] test spf::macros::tests::macro_s_url_encode ... ok
[INFO] [stdout] test spf::macros::tests::macro_ir_reversed_v4 ... ok
[INFO] [stdout] test spf::macros::tests::macro_t_in_exp ... ok
[INFO] [stdout] test spf::macros::tests::macro_ir_reversed_v6 ... ok
[INFO] [stdout] test spf::macros::tests::macro_no_macros ... ok
[INFO] [stdout] test spf::macros::tests::macro_t_rejected_non_exp ... ok
[INFO] [stdout] test spf::macros::tests::macro_v_ipv4 ... ok
[INFO] [stdout] test spf::macros::tests::macro_unknown_letter ... ok
[INFO] [stdout] test spf::macros::tests::macro_escapes ... ok
[INFO] [stdout] test spf::macros::tests::macro_l_hyphen_delimiter ... ok
[INFO] [stdout] test spf::macros::tests::macro_v_ipv6 ... ok
[INFO] [stdout] test spf::parser::tests::parse_case_insensitive ... ok
[INFO] [stdout] test spf::macros::tests::macro_h ... ok
[INFO] [stdout] test spf::parser::tests::parse_dual_cidr ... ok
[INFO] [stdout] test spf::parser::tests::parse_dual_cidr_cidr6_only ... ok
[INFO] [stdout] test spf::parser::tests::parse_duplicate_exp ... ok
[INFO] [stdout] test spf::parser::tests::parse_duplicate_redirect ... ok
[INFO] [stdout] test spf::macros::tests::macro_i_ipv4 ... ok
[INFO] [stdout] test spf::parser::tests::parse_all_mechanism_types ... ok
[INFO] [stdout] test spf::macros::tests::macro_i_ipv6 ... ok
[INFO] [stdout] test spf::parser::tests::parse_all_qualifiers ... ok
[INFO] [stdout] test spf::parser::tests::parse_invalid_version ... ok
[INFO] [stdout] test spf::parser::tests::parse_ip6_full ... ok
[INFO] [stdout] test spf::parser::tests::parse_exists_macro ... ok
[INFO] [stdout] test spf::parser::tests::parse_ip6_no_prefix ... ok
[INFO] [stdout] test spf::parser::tests::parse_ip4_prefix_out_of_range ... ok
[INFO] [stdout] test spf::parser::tests::parse_exp_modifier ... ok
[INFO] [stdout] test spf::parser::tests::parse_include ... ok
[INFO] [stdout] test spf::parser::tests::parse_include_missing_domain ... ok
[INFO] [stdout] test spf::parser::tests::parse_ip4_no_prefix ... ok
[INFO] [stdout] test spf::parser::tests::parse_ip6_prefix_out_of_range ... ok
[INFO] [stdout] test spf::parser::tests::parse_minimal_record ... ok
[INFO] [stdout] test spf::parser::tests::parse_prefix_max_values ... ok
[INFO] [stdout] test spf::parser::tests::parse_prefix_out_of_range_v4 ... ok
[INFO] [stdout] test spf::parser::tests::parse_multiple_whitespace ... ok
[INFO] [stdout] test spf::macros::tests::macro_l_o ... ok
[INFO] [stdout] test spf::parser::tests::parse_mx_dual_cidr ... ok
[INFO] [stdout] test spf::macros::tests::macro_mixed_escapes ... ok
[INFO] [stdout] test spf::parser::tests::parse_prefix_out_of_range_v6 ... ok
[INFO] [stdout] test spf::parser::tests::parse_prefix_zero_cidr4 ... ok
[INFO] [stdout] test spf::parser::tests::parse_prefix_zero_cidr6 ... ok
[INFO] [stdout] test spf::parser::tests::parse_redirect_modifier ... ok
[INFO] [stdout] test spf::parser::tests::parse_unknown_modifier_ignored ... ok
[INFO] [stdout] test spf::parser::tests::parse_unknown_mechanism ... ok
[INFO] [stdout] test spf::parser::tests::parse_version_only ... ok
[INFO] [stdout] test spf::parser::tests::parse_default_qualifier ... ok
[INFO] [stdout] test spf::eval::tests::redirect_no_spf_permerror ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_case_insensitive_filter ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_no_records_none ... ok
[INFO] [stdout] test spf::parser::tests::parse_macros_in_domain ... ok
[INFO] [stdout] test spf::parser::tests::parse_multiple_mechanisms ... ok
[INFO] [stdout] test spf::parser::tests::parse_trailing_whitespace ... ok
[INFO] [stdout] test spf::lookup::tests::lookup_spf_empty_txt_none ... ok
[INFO] [stdout] test spf::eval::tests::no_match_neutral ... ok
[INFO] [stderr]    Doc-tests email_auth
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 611 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[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" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6", kill_on_drop: false }`
[INFO] [stdout] 855f7d382ec082d74d485be116c2f58cee0930ad0901d7923e0879866b5339f6
