[INFO] fetching crate seite 0.20.0...
[INFO] testing seite-0.20.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate seite 0.20.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate seite 0.20.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate seite 0.20.0
[INFO] tweaked toml for crates.io crate seite 0.20.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate seite 0.20.0 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 seite 0.20.0 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249
[INFO] running `Command { std: "docker" "start" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", 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" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249" "/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" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", 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" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling simd-adler32 v0.3.10
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling as-slice v0.2.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling built v0.8.1
[INFO] [stderr]    Compiling rand v0.8.8
[INFO] [stderr]    Compiling aligned v0.4.3
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling phf_shared v0.14.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.18
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling no_std_io2 v0.9.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling cc v1.3.0
[INFO] [stderr]    Compiling y4m v0.8.0
[INFO] [stderr]    Compiling prettyplease v0.3.0
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling phf_generator v0.14.0
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling profiling v1.0.18
[INFO] [stderr]    Compiling phf_macros v0.14.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling pest v2.9.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling bitstream-io v4.10.0
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling hybrid-array v0.4.15
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling imgref v1.12.2
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling pest_meta v2.9.2
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling phf v0.14.0
[INFO] [stderr]    Compiling phf_codegen v0.14.0
[INFO] [stderr]    Compiling avif-serialize v0.8.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling libwebp-sys v0.9.6
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling rustls v0.23.45
[INFO] [stderr]    Compiling portable-atomic v1.14.0
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling num-conv v0.2.2
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling time-core v0.1.9
[INFO] [stderr]    Compiling pxfm v0.1.30
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling clap_builder v4.6.7
[INFO] [stderr]    Compiling zune-jpeg v0.5.15
[INFO] [stderr]    Compiling image-webp v0.2.4
[INFO] [stderr]    Compiling pest_generator v2.9.2
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling time v0.3.54
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling globset v0.4.19
[INFO] [stderr]    Compiling darling_core v0.24.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling ignore v0.4.32
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling console v0.16.6
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling bytemuck v1.25.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.21
[INFO] [stderr]    Compiling clap_derive v4.6.7
[INFO] [stderr]    Compiling pulldown-cmark v0.13.4
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling ureq-proto v0.6.4
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling thiserror v2.0.21
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling rapidhash v4.5.1
[INFO] [stderr]    Compiling inotify v0.11.4
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap v4.6.7
[INFO] [stderr]    Compiling pest_derive v2.9.2
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling darling_macro v0.24.1
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling darling v0.24.1
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling bon-macros v3.10.1
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling cpufeatures v0.3.1
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling utf8-zero v0.8.1
[INFO] [stderr]    Compiling seite v0.20.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling indicatif v0.18.6
[INFO] [stderr]    Compiling dialoguer v0.12.0
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling clap_complete v4.6.11
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling quick-xml v0.41.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling open v5.4.4
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling katex-rs v0.3.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling plist v1.10.0
[INFO] [stderr]    Compiling ureq v3.4.2
[INFO] [stderr]    Compiling ravif v0.13.0
[INFO] [stderr]    Compiling bon v3.10.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling webp v0.3.1
[INFO] [stderr] warning: unused dependency `fs_extra`
[INFO] [stderr]   --> Cargo.toml:26:15
[INFO] [stderr]    |
[INFO] [stderr] 26 | [dependencies.fs_extra]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `fs_extra`
[INFO] [stderr] warning: `seite` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s
[INFO] running `Command { std: "docker" "inspect" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", 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" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling num-bigint v0.4.8
[INFO] [stderr]    Compiling bstr v1.13.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling num-iter v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling ref-cast-impl v1.0.27
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling fancy-regex v0.19.2
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling jsonschema-regex v0.57.0
[INFO] [stderr]    Compiling globset v0.4.19
[INFO] [stderr]    Compiling toml v1.1.6+spec-1.1.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling quick-xml v0.41.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling serde_yaml_ng v0.10.0
[INFO] [stderr]    Compiling toml_edit v0.25.13+spec-1.1.0
[INFO] [stderr]    Compiling ref-cast v1.0.27
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling fluent-uri v0.4.1
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling ignore v0.4.32
[INFO] [stderr]    Compiling katex-rs v0.3.0
[INFO] [stderr]    Compiling data-encoding v2.11.1
[INFO] [stderr]    Compiling ureq v3.4.2
[INFO] [stderr]    Compiling referencing v0.57.0
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling fraction v0.17.0
[INFO] [stderr]    Compiling plist v1.10.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling jsonschema-value v0.57.0
[INFO] [stderr]    Compiling jsonschema v0.57.0
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling ravif v0.13.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling webp v0.3.1
[INFO] [stderr]    Compiling seite v0.20.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unused dependency `fs_extra`
[INFO] [stderr]   --> Cargo.toml:26:15
[INFO] [stderr]    |
[INFO] [stderr] 26 | [dependencies.fs_extra]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `fs_extra`
[INFO] [stderr] warning: `seite` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 25s
[INFO] running `Command { std: "docker" "inspect" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", 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" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `fs_extra`
[INFO] [stderr]   --> Cargo.toml:26:15
[INFO] [stderr]    |
[INFO] [stderr] 26 | [dependencies.fs_extra]
[INFO] [stderr]    |               ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `fs_extra`
[INFO] [stderr] warning: `seite` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.31s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/seite/2460e5a1155a43e7/out/seite-2460e5a1155a43e7)
[INFO] [stdout] 
[INFO] [stdout] running 1588 tests
[INFO] [stdout] test build::access::tests::binding_name_normalizes_group_identifier ... ok
[INFO] [stdout] test build::access::tests::access_route_matching_decodes_asset_paths_before_authorizing ... ok
[INFO] [stdout] test build::access::tests::access_route_matching_respects_path_boundaries ... ok
[INFO] [stdout] test build::analytics::tests::test_ga4_direct_injection ... ok
[INFO] [stdout] test build::access::tests::access_routes_include_translated_collection_paths ... ok
[INFO] [stdout] test build::access::tests::write_worker_rejects_translated_route_group_collisions ... ok
[INFO] [stdout] test build::analytics::tests::test_gtm_consent_no_noscript ... ok
[INFO] [stdout] test build::access::tests::root_access_does_not_shadow_explicit_language_prefixed_groups ... ok
[INFO] [stdout] test build::analytics::tests::test_consent_banner_accessibility ... ok
[INFO] [stdout] test build::access::tests::generated_worker_uses_group_bindings_and_fail_closed_auth ... ok
[INFO] [stdout] test build::access::tests::write_worker_rejects_routes_that_can_bypass_authentication ... ok
[INFO] [stdout] test build::access::tests::access_routes_use_most_specific_prefix_first ... ok
[INFO] [stdout] test build::access::tests::write_worker_generates_fail_closed_pages_routes ... ok
[INFO] [stdout] test build::analytics::tests::test_fathom_injection ... ok
[INFO] [stdout] test build::access::tests::write_worker_denies_legacy_private_assets_without_active_routes ... ok
[INFO] [stdout] test build::analytics::tests::test_no_head_tag_unchanged ... ok
[INFO] [stdout] test build::analytics::tests::test_no_body_tag_consent_unchanged ... ok
[INFO] [stdout] test build::analytics::tests::test_ga4_consent_banner ... ok
[INFO] [stdout] test build::analytics::tests::test_gtm_direct_injection_with_noscript ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_extensions_with_consent ... ok
[INFO] [stdout] test build::analytics::tests::test_consent_banner_responsive_css ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_injection ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_custom_url_ignores_extensions ... ok
[INFO] [stdout] test build::analytics::tests::test_non_plausible_extensions_ignored ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_legacy_still_uses_defer_and_data_domain ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_single_extension ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_unique_snippet_url ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_unique_snippet_with_consent ... ok
[INFO] [stdout] test build::analytics::tests::test_plausible_with_extensions ... ok
[INFO] [stdout] test build::analytics::tests::test_umami_custom_script_url ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_basic ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_closing_tags_unchanged ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_mixed_quotes ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_preserves_absolute ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_meta_tags ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_multiple_attrs ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_no_op_when_empty_base ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_self_closing ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_single_quoted_attrs ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_picture_element ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_skips_text_content ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_html_srcset ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_relative_unchanged ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_root_relative ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_srcset ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_already_prefixed ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_absolute ... ok
[INFO] [stdout] test build::base_path::tests::test_rewrite_url_skip_special ... ok
[INFO] [stdout] test build::cache::tests::test_cache_path_location ... ok
[INFO] [stdout] test build::cache::tests::test_changeset_content_rebuild_count ... ok
[INFO] [stdout] test build::cache::tests::test_cache_save_load_roundtrip ... ok
[INFO] [stdout] test build::cache::tests::test_check_dir_changed_no_cached_no_dir ... ok
[INFO] [stdout] test build::cache::tests::test_config_mtime_changed_but_hash_same_no_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_data_change_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_deleted_content_detected ... ok
[INFO] [stdout] test build::cache::tests::test_empty_cache_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_file_mtime_nonexistent_returns_zero ... ok
[INFO] [stdout] test build::cache::tests::test_fnv_hash16_deterministic ... ok
[INFO] [stdout] test build::cache::tests::test_fnv_hash16_different_inputs ... ok
[INFO] [stdout] test build::cache::tests::test_load_corrupt_json_returns_default ... ok
[INFO] [stdout] test build::cache::tests::test_load_missing_file_returns_default ... ok
[INFO] [stdout] test build::cache::tests::test_new_content_detected ... ok
[INFO] [stdout] test build::cache::tests::test_no_changes_detected ... ok
[INFO] [stdout] test build::cache::tests::test_scan_all_files_nonexistent_dir ... ok
[INFO] [stdout] test build::cache::tests::test_snapshot_handles_missing_dirs ... ok
[INFO] [stdout] test build::cache::tests::test_scan_md_files_nonexistent_dir ... ok
[INFO] [stdout] test build::cache::tests::test_static_file_change_detected ... ok
[INFO] [stdout] test build::cache::tests::test_scan_md_files_only_finds_md ... ok
[INFO] [stdout] test build::cache::tests::test_content_skipped_when_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_template_change_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_snapshot_captures_all_dirs ... ok
[INFO] [stdout] test build::cache::tests::test_static_file_deletion_triggers_full_rebuild ... ok
[INFO] [stdout] test build::cache::tests::test_template_dir_removed_triggers_full_rebuild ... ok
[INFO] [stdout] test build::code_copy::tests::test_no_body_tag_unchanged ... ok
[INFO] [stdout] test build::code_copy::tests::test_plain_code_block ... ok
[INFO] [stdout] test build::cache::tests::test_template_deleted_triggers_full_rebuild ... ok
[INFO] [stdout] test build::code_copy::tests::test_skips_pages_without_code_blocks ... ok
[INFO] [stdout] test build::code_copy::tests::test_css_and_js_both_present ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_basic ... ok
[INFO] [stdout] test build::code_copy::tests::test_injects_copy_button_when_pre_exists ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_no_description ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_basic ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_no_item_description ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_full_txt_empty_collection_skipped ... ok
[INFO] [stdout] test build::discovery::tests::test_robots_txt_strips_trailing_slash ... ok
[INFO] [stdout] test build::discovery::tests::test_robots_txt_basic ... ok
[INFO] [stdout] test build::discovery::tests::test_llms_txt_empty_collection_skipped ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_author_falls_back_to_site_title ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_description_no_subtitle ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_basic ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_author_uses_configured_author ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_description_omitted ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_trailing_slash_removed ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_uses_updated_date ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_basic ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_no_date ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_empty_items ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_no_description ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_empty_items ... ok
[INFO] [stdout] test build::feed::tests::test_generate_atom_no_date ... ok
[INFO] [stdout] test build::feed::tests::test_generate_rss_trailing_slash_removed ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag_self_closing_preserves_format ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_multiple_images ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_no_images ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag_zero_dimensions ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_to_html ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_img_at_start ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_img_at_end ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_self_closing_tags ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_unclosed_img ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_to_tag_regular_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_existing_dimensions ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_dimensions_skips_height ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_to_tag_with_loading_lazy_already ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_preserves_non_img_content ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_loading_already_lazy_images ... ok
[INFO] [stdout] test build::images::tests::test_add_lazy_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_avif_only_no_webp ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_multiple_srcset_entries ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_self_closing ... ok
[INFO] [stdout] test build::images::tests::test_add_srcset_to_tag ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_existing_loading_attr ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_with_avif ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_missing ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_self_closing_tag ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_no_closing_quote ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_without_webp ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_empty ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_self_closing_img ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_at_end_of_tag ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_webp_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_with_special_characters_in_value ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr_similar_prefix_names ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_no_webp_with_lazy ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_single_srcset_entry ... ok
[INFO] [stdout] test build::images::tests::test_clear_private_static_output_removes_stale_derivatives ... ok
[INFO] [stdout] test build::images::tests::test_extract_attr ... ok
[INFO] [stdout] test build::images::tests::test_process_images_nonexistent_static_dir ... ok
[INFO] [stdout] test build::images::tests::test_process_images_empty_static_dir ... ok
[INFO] [stdout] test build::images::tests::test_process_images_skips_non_image_files ... ok
[INFO] [stdout] test build::images::tests::test_process_images_invalid_image_file ... ok
[INFO] [stdout] test build::images::tests::test_build_picture_element_with_webp ... ok
[INFO] [stdout] test build::images::tests::test_processed_image_clone ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_consecutive_img_tags ... ok
[INFO] [stdout] test build::images::tests::test_processed_image_debug ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_html ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_html_with_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_manifest_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_multiple_mixed ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_not_in_manifest_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_image_not_in_manifest_no_lazy ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_malformed_unclosed_tag ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_no_src_attribute ... ok
[INFO] [stdout] test build::images::tests::test_process_images_skips_widths_larger_than_original ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_no_img_tags ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_only_text_after_last_img ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_text_containing_img_string ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_three_images_one_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_with_avif_entries ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_preserves_surrounding_content ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_self_closing_img_in_manifest ... ok
[INFO] [stdout] test build::images::tests::test_save_image_removes_partial_file_on_error ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_full_pipeline_webp ... ok
[INFO] [stdout] test build::links::tests::test_attribute_sources_prefers_page_source_then_templates ... ok
[INFO] [stdout] test build::images::tests::test_rewrite_html_images_empty_manifest_with_lazy ... ok
[INFO] [stdout] test build::links::tests::test_distinct_links_prefers_page_occurrence_over_listing ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_basic ... ok
[INFO] [stdout] test build::links::tests::test_check_page_refs_accepts_percent_encoded_files ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_external ... ok
[INFO] [stdout] test build::links::tests::test_check_page_refs_splits_links_and_assets_with_base_path ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_protocol_relative ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_ignores_relative ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_includes_non_anchor_hrefs ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_strips_fragment ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_strips_query ... ok
[INFO] [stdout] test build::links::tests::test_check_internal_links_detects_broken ... ok
[INFO] [stdout] test build::images::tests::test_process_images_empty_widths ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_deduplicates ... ok
[INFO] [stdout] test build::links::tests::test_check_internal_links_all_valid ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_links_single_quotes ... ok
[INFO] [stdout] test build::links::tests::test_build_valid_urls ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_refs_classifies_pages_and_assets ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_refs_truncated_html_keeps_earlier_refs ... ok
[INFO] [stdout] test build::links::tests::test_fill_suggestions_did_you_mean ... ok
[INFO] [stdout] test build::links::tests::test_extract_internal_refs_ignores_external_data_and_script_bodies ... ok
[INFO] [stdout] test build::links::tests::test_find_link_line ... ok
[INFO] [stdout] test build::links::tests::test_group_broken_links ... ok
[INFO] [stdout] test build::links::tests::test_group_broken_links_dedupes_template_locations ... ok
[INFO] [stdout] test build::links::tests::test_link_diagnostics_codes_severity_and_location ... ok
[INFO] [stdout] test build::links::tests::test_parse_srcset ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_empty_map ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_basic ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_multiple_prefixes ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_no_false_prefix_match ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_index ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_preserves_fragment ... ok
[INFO] [stdout] test build::images::tests::test_save_image_jpeg_from_rgba_source ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_single_quotes ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_skips_external ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_preserves_query ... ok
[INFO] [stdout] test build::links::tests::test_strip_base_path ... ok
[INFO] [stdout] test build::images::tests::test_process_images_jpeg_format ... ok
[INFO] [stdout] test build::links::tests::test_rewrite_subdomain_links_skips_non_matching ... ok
[INFO] [stdout] test build::images::tests::test_process_images_webp_input_no_webp_variants ... ok
[INFO] [stdout] test build::markdown::tests::test_resolve_lang_alias ... ok
[INFO] [stdout] test build::images::tests::test_process_images_no_webp_config ... ok
[INFO] [stdout] test build::images::tests::test_process_images_subdirectory ... ok
[INFO] [stdout] test build::images::tests::test_process_images_multiple_images ... ok
[INFO] [stdout] test build::markdown::tests::test_basic_markdown ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_reports_unresolved ... ok
[INFO] [stdout] test build::markdown::tests::test_slugify_heading ... ok
[INFO] [stdout] test build::markdown::tests::test_footnotes ... ok
[INFO] [stdout] test build::markdown::tests::test_mermaid_fence_emits_div_when_enabled ... ok
[INFO] [stdout] test build::markdown::tests::test_mermaid_fence_plain_when_disabled ... ok
[INFO] [stdout] test build::markdown::tests::test_plain_code_block_no_lang ... ok
[INFO] [stdout] test build::markdown::tests::test_source_link_map_relative_paths_are_normalized ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_relative_with_fragment ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_content_root_and_published_copies ... ok
[INFO] [stdout] test build::markdown::tests::test_mermaid_fence_escapes_source ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_prefers_translation_for_page_language ... ok
[INFO] [stdout] test build::markdown::tests::test_strikethrough ... ok
[INFO] [stdout] test build::markdown::tests::test_unknown_language_falls_back ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_nested_and_index_pages ... ok
[INFO] [stdout] test build::math::tests::test_render_math_dollar_followed_by_newline ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_explicit_translation_and_escaping_root ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_eof_inside_fence ... ok
[INFO] [stdout] test build::markdown::tests::test_table ... ok
[INFO] [stdout] test build::markdown::tests::test_task_list ... ok
[INFO] [stdout] test build::markdown::tests::test_toc_empty_for_no_headings ... ok
[INFO] [stdout] test build::markdown::tests::test_toc_multiple_headings ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_inner_shorter_fence ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_longer_closing ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_with_info_string ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline_hits_newline_before_close ... ok
[INFO] [stdout] test build::math::tests::test_render_math_fenced_tildes ... ok
[INFO] [stdout] test build::math::tests::test_render_math_unclosed_display ... ok
[INFO] [stdout] test build::math::tests::test_render_math_display_multiline ... ok
[INFO] [stdout] test build::math::tests::test_render_math_unclosed_inline ... ok
[INFO] [stdout] test build::mermaid::tests::test_injects_loader_when_diagram_present ... ok
[INFO] [stdout] test build::mermaid::tests::test_no_body_tag_unchanged ... ok
[INFO] [stdout] test build::mermaid::tests::test_loader_is_version_pinned_and_strict ... ok
[INFO] [stdout] test build::math::tests::test_render_math_display ... ok
[INFO] [stdout] test build::math::tests::test_render_math_passthrough_no_math ... ok
[INFO] [stdout] test build::mermaid::tests::test_uses_module_script ... ok
[INFO] [stdout] test build::redirects::tests::test_html_escape_in_redirect ... ok
[INFO] [stdout] test build::redirects::tests::test_generate_redirects_basic ... ok
[INFO] [stdout] test build::mermaid::tests::test_skips_pages_without_diagram ... ok
[INFO] [stdout] test build::redirects::tests::test_redirect_html_content ... ok
[INFO] [stdout] test build::redirects::tests::test_path_traversal_rejected ... ok
[INFO] [stdout] test build::redirects::tests::test_root_alias_skipped ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_basic ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_extra_urls ... ok
[INFO] [stdout] test build::redirects::tests::test_generate_redirects_empty ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_empty ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_multilingual ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_multiple_items ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_strips_trailing_slash ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_with_lastmod ... ok
[INFO] [stdout] test build::math::tests::test_render_math_skips_inline_code ... ok
[INFO] [stdout] test build::sitemap::tests::test_generate_sitemap_with_translations ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_http_url ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_none ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_absolute_url ... ok
[INFO] [stdout] test build::math::tests::test_render_math_skips_code_blocks ... ok
[INFO] [stdout] test build::tests::test_absolutize_image_relative_path ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline ... ok
[INFO] [stdout] test build::tests::test_adjacent_post_none_fields ... ok
[INFO] [stdout] test build::tests::test_adjacent_post_serialization ... ok
[INFO] [stdout] test build::markdown::tests::test_rewrite_md_links_ignores_code_blocks ... ok
[INFO] [stdout] test build::math::tests::test_render_math_inline_trailing_space ... ok
[INFO] [stdout] test build::tests::test_build_page_context_no_image ... ok
[INFO] [stdout] test build::tests::test_build_page_context_populates_required_fields ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_incremental ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_with_public_and_data ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_basic ... ok
[INFO] [stdout] test build::tests::test_build_url_empty_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_with_only_slash_prefix ... ok
[INFO] [stdout] test build::tests::test_build_stats_human_display_with_step_timings ... ok
[INFO] [stdout] test build::tests::test_build_url_with_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_trailing_slash_on_prefix ... ok
[INFO] [stdout] test build::tests::test_build_url_nested_slug ... ok
[INFO] [stdout] test build::tests::test_build_stats_timings_display_empty ... ok
[INFO] [stdout] test build::math::tests::test_render_math_no_space_after_dollar ... ok
[INFO] [stdout] test build::tests::test_collection_context_serialization ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_deterministic ... ok
[INFO] [stdout] test build::tests::test_effective_robots ... ok
[INFO] [stdout] test build::images::tests::test_process_images_srcset_sorted_by_width ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_different_inputs_differ ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_empty_input ... ok
[INFO] [stdout] test build::tests::test_fnv_hash8_known_value ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_basic ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_empty_description_skipped ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_multiple_items ... ok
[INFO] [stdout] test build::math::tests::test_render_math_preserves_escaped_dollar ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_empty_items ... ok
[INFO] [stdout] test build::tests::test_generate_collection_index_md_no_date_no_description ... ok
[INFO] [stdout] test build::tests::test_incremental_noop_rejects_new_public_worker_conflict ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_excludes_unlisted_collections ... ok
[INFO] [stdout] test build::tests::test_insert_i18n_context_default_lang ... ok
[INFO] [stdout] test build::tests::test_insert_i18n_context_non_default_lang ... ok
[INFO] [stdout] test build::tests::test_is_build_output_path ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_another_language ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_default_language ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_includes_listed_collections ... ok
[INFO] [stdout] test build::tests::test_lang_prefix_for_non_default_language ... ok
[INFO] [stdout] test build::tests::test_minify_css_collapses_whitespace ... ok
[INFO] [stdout] test build::tests::test_minify_css_handles_empty_input ... ok
[INFO] [stdout] test build::tests::test_minify_css_multiline ... ok
[INFO] [stdout] test build::tests::test_minify_css_multiple_rules ... ok
[INFO] [stdout] test build::tests::test_minify_css_nested_comment ... ok
[INFO] [stdout] test build::tests::test_minify_css_only_comment ... ok
[INFO] [stdout] test build::tests::test_minify_css_only_whitespace ... ok
[INFO] [stdout] test build::tests::test_minify_css_preserves_content_without_spaces ... ok
[INFO] [stdout] test build::tests::test_minify_css_removes_comments ... ok
[INFO] [stdout] test build::tests::test_minify_js_comment_at_start_of_line ... ok
[INFO] [stdout] test build::tests::test_minify_js_empty_input ... ok
[INFO] [stdout] test build::tests::test_minify_js_multiple_comments ... ok
[INFO] [stdout] test build::tests::test_minify_js_preserves_single_quoted_string_with_slashes ... ok
[INFO] [stdout] test build::tests::test_incremental_noop_refreshes_access_security_artifacts ... ok
[INFO] [stdout] test build::tests::test_minify_js_removes_blank_lines ... ok
[INFO] [stdout] test build::tests::test_minify_js_removes_line_comments ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_mixed_listed_unlisted ... ok
[INFO] [stdout] test build::tests::test_nav_section_serialization ... ok
[INFO] [stdout] test build::tests::test_nav_item_serialization ... ok
[INFO] [stdout] test build::tests::test_page_context_serialization_complete ... ok
[INFO] [stdout] test build::tests::test_page_context_serialization_minimal ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_first_page ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_last_page ... ok
[INFO] [stdout] test build::tests::test_pagination_context_serialization_middle_page ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_exact_ten_chars ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_malformed_date ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_no_extension ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_short_stem ... ok
[INFO] [stdout] test build::tests::test_parse_date_from_filename_valid ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_for_other_providers ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_with_script_url ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_without_extensions ... ok
[INFO] [stdout] test build::tests::test_plausible_warning_with_legacy_extensions ... ok
[INFO] [stdout] test build::tests::test_plausible_no_warning_when_none ... ok
[INFO] [stdout] test build::tests::test_minify_js_preserves_comments_in_strings ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_date_prefix_exact_boundary ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_date_collection_with_lang ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_explicit_slug_passthrough ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_no_lang_suffix ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_non_matching_suffix_preserved ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_strips_lang_suffix ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_i18n_with_parent_dir ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_deep_path ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_collection ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_no_date_strip_for_non_date_collections ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_no_extension ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_short_date_prefix_not_stripped ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_simple_filename ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_strips_date_prefix_for_date_collections ... ok
[INFO] [stdout] test build::markdown::tests::test_syntax_highlighting_produces_styled_output ... ok
[INFO] [stdout] test build::tests::test_search_entry_serialization ... ok
[INFO] [stdout] test build::tests::test_search_entry_serialization_no_description ... ok
[INFO] [stdout] test build::tests::test_site_context_base_path_root ... ok
[INFO] [stdout] test build::tests::test_site_context_base_path_subpath ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_default ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_no_override ... ok
[INFO] [stdout] test build::tests::test_site_context_for_lang_with_override ... ok
[INFO] [stdout] test build::tests::test_site_context_from_config ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_nested_root_file ... ok
[INFO] [stdout] test build::tests::test_swap_into_place_without_existing_output ... ok
[INFO] [stdout] test build::tests::test_title_case_already_capitalized ... ok
[INFO] [stdout] test build::tests::test_generate_search_index_empty_items ... ok
[INFO] [stdout] test build::tests::test_title_case_single_char_words ... ok
[INFO] [stdout] test build::tests::test_title_case_multiple_hyphens ... ok
[INFO] [stdout] test build::tests::test_title_case_single_word ... ok
[INFO] [stdout] test build::tests::test_translation_link_serialization ... ok
[INFO] [stdout] test build::tests::test_title_case_empty ... ok
[INFO] [stdout] test build::tests::test_title_case_hyphenated ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_contains_all_expected_keys ... ok
[INFO] [stdout] test build::tests::test_is_scratch_output_name ... ok
[INFO] [stdout] test build::markdown::tests::test_code_block_highlighted ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_i18n_not_object ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_defaults ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_no_matching_lang ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_basic ... ok
[INFO] [stdout] test build::tests::test_swap_into_place_keeps_symlinked_output ... ok
[INFO] [stdout] test cli::access::tests::access_groups_map_paths_and_subdomains_to_projects ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_basic ... ok
[INFO] [stdout] test cli::access::tests::access_groups_normalize_path_scopes ... ok
[INFO] [stdout] test cli::access::tests::group_selection_infers_the_only_group ... ok
[INFO] [stdout] test build::tests::test_ui_strings_for_lang_with_overrides ... ok
[INFO] [stdout] test cli::access::tests::missing_cloudflare_project_is_reported ... ok
[INFO] [stdout] test cli::access::tests::pages_secret_args_target_the_selected_environment ... ok
[INFO] [stdout] test cli::access::tests::group_selection_requires_a_name_when_multiple_exist ... ok
[INFO] [stdout] test cli::agent::tests::test_agent_allowed_tools_has_no_unrestricted_bash ... ok
[INFO] [stdout] test cli::agent::tests::test_agent_allowed_tools_scopes_bash_to_seite_and_readonly_git ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_strips_slashes ... ok
[INFO] [stdout] test cli::agent::tests::test_agent_allows_seite_mcp_tools ... ok
[INFO] [stdout] test cli::agent::tests::test_build_dynamic_context_contains_site_and_collection_info ... ok
[INFO] [stdout] test cli::agent::tests::test_build_dynamic_context_drops_agents_md_duplicated_sections ... ok
[INFO] [stdout] test cli::agent::tests::test_claude_interactive_args_ignores_yes ... ok
[INFO] [stdout] test build::tests::test_url_to_md_path_with_lang_prefix ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_strips_slashes ... ok
[INFO] [stdout] test build::tests::test_url_to_output_path_with_lang_prefix ... ok
[INFO] [stdout] test cli::agent::tests::test_build_dynamic_context_points_to_agents_md ... ok
[INFO] [stdout] test cli::agent::tests::test_cursor_one_shot_args_yes_adds_force_and_approve_mcps ... ok
[INFO] [stdout] test cli::agent::tests::test_claude_one_shot_args ... ok
[INFO] [stdout] test cli::agent::tests::test_codex_interactive_args_with_and_without_prompt ... ok
[INFO] [stdout] test cli::agent::tests::test_codex_one_shot_args_uses_workspace_write_sandbox ... ok
[INFO] [stdout] test cli::agent::tests::test_cursor_one_shot_args_default_no_force ... ok
[INFO] [stdout] test cli::agent::tests::test_harness_binaries ... ok
[INFO] [stdout] test cli::agent::tests::test_harness_parse_all_known_names ... ok
[INFO] [stdout] test cli::agent::tests::test_resolve_harness_defaults_to_claude ... ok
[INFO] [stdout] test cli::agent::tests::test_opencode_interactive_args_with_and_without_prompt ... ok
[INFO] [stdout] test cli::agent::tests::test_resolve_harness_falls_back_to_env ... ok
[INFO] [stdout] test cli::agent::tests::test_resolve_harness_prefers_cli_flag_over_env ... ok
[INFO] [stdout] test cli::agent::tests::test_resolve_harness_unknown_suggests_close_match ... ok
[INFO] [stdout] test cli::agent::tests::test_opencode_one_shot_args_default_no_auto_flag ... ok
[INFO] [stdout] test build::markdown::tests::test_powershell_code_block_gets_highlighted ... ok
[INFO] [stdout] test cli::agent::tests::test_mcp_config_args_only_when_file_exists ... ok
[INFO] [stdout] test cli::agent::tests::test_cursor_interactive_args_with_and_without_prompt ... ok
[INFO] [stdout] test cli::agent::tests::test_opencode_one_shot_args_yes_adds_auto_flag ... ok
[INFO] [stdout] test cli::agent_instructions::tests::atomic_write_preserves_existing_permissions ... ok
[INFO] [stdout] test cli::agent_instructions::tests::migration_rejects_dangling_instruction_path_without_changing_claude ... ok
[INFO] [stdout] test cli::agent_instructions::tests::normalize_claude_reduces_import_only_content_to_shim ... ok
[INFO] [stdout] test cli::harness::tests::claude_rule_keeps_paths_frontmatter ... ok
[INFO] [stdout] test cli::check::tests::test_report_exit_semantics ... ok
[INFO] [stdout] test cli::agent_instructions::tests::migration_does_not_create_agents_when_claude_cannot_be_replaced ... ok
[INFO] [stdout] test cli::harness::tests::conditional_rules_and_skills_follow_features ... ok
[INFO] [stdout] test cli::harness::tests::cursor_cli_json_allows_seite_tools_and_denies_env ... ok
[INFO] [stdout] test cli::harness::tests::cursor_rule_frontmatter_is_valid_yaml ... ok
[INFO] [stdout] test cli::harness::tests::cursor_rule_maps_paths_to_globs ... ok
[INFO] [stdout] test cli::agent_instructions::tests::normalize_claude_deduplicates_imports_and_preserves_custom_content ... ok
[INFO] [stdout] test cli::check::tests::test_relativize_strips_roots_from_file_and_message ... ok
[INFO] [stdout] test cli::harness::tests::codex_config_declares_server_with_trust_comment ... ok
[INFO] [stdout] test cli::harness::tests::mcp_setup_table_lists_only_selected_agents ... ok
[INFO] [stdout] test cli::check::tests::test_check_site_invalid_config_is_a_located_diagnostic ... ok
[INFO] [stdout] test cli::harness::tests::merge_codex_config_without_servers_inline_seite_and_odd_shapes ... ok
[INFO] [stdout] test cli::harness::tests::merge_codex_config_preserves_existing_content ... ok
[INFO] [stdout] test cli::harness::tests::opencode_json_shape ... ok
[INFO] [stdout] test cli::check::tests::test_check_site_without_config_is_an_error ... ok
[INFO] [stdout] test cli::harness::tests::every_skill_is_portable_in_the_shared_dir ... ok
[INFO] [stdout] test cli::harness::tests::parse_agent_list_rejects_unknown_with_hint ... ok
[INFO] [stdout] test cli::harness::tests::from_ids_ignores_unknown ... ok
[INFO] [stdout] test cli::harness::tests::interactive_defaults_fall_back_to_all ... ok
[INFO] [stdout] test cli::agent_instructions::tests::migration_preserves_legacy_permissions_on_new_agents_file ... ok
[INFO] [stdout] test cli::harness::tests::opencode_command_wraps_the_seite_skill ... ok
[INFO] [stdout] test cli::harness::tests::replace_block_swaps_only_marked_content ... ok
[INFO] [stdout] test cli::harness::tests::rules_index_groups_globs ... ok
[INFO] [stdout] test cli::harness::tests::detect_installed_agents_from_path_and_home ... ok
[INFO] [stdout] test cli::harness::tests::seite_skill_dispatches_commands_and_stays_small ... ok
[INFO] [stdout] test cli::harness_hooks::tests::block_reason_caps_lines ... ok
[INFO] [stdout] test cli::harness::tests::seite_skill_gets_argument_hint_only_for_claude ... ok
[INFO] [stdout] test cli::harness_hooks::tests::block_reason_only_for_errors ... ok
[INFO] [stdout] test cli::harness::tests::plan_subset_writes_only_selected_agent_files ... ok
[INFO] [stdout] test build::tests::test_resolve_slug_explicit_slug_overrides ... ok
[INFO] [stdout] test cli::harness::tests::provider_table_matches_agent_order ... ok
[INFO] [stdout] test cli::harness::tests::rules_location_prefers_claude_then_cursor ... ok
[INFO] [stdout] test cli::harness::tests::plan_writes_seite_skill_for_every_agent ... ok
[INFO] [stdout] test cli::harness_hooks::tests::encode_per_protocol ... ok
[INFO] [stdout] test cli::harness_hooks::tests::extend_plan_merges_claude_settings_and_adds_files ... ok
[INFO] [stdout] test cli::perf::tests::test_fetch_psi_url_encoding ... ok
[INFO] [stdout] test cli::harness_hooks::tests::merge_hook_is_additive_and_idempotent ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_public ... ok
[INFO] [stdout] test cli::harness_hooks::tests::new_hook_files_have_documented_shapes ... ok
[INFO] [stdout] test cli::perf::tests::test_resolve_url_explicit_no_slash ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_localhost ... ok
[INFO] [stdout] test cli::harness_hooks::tests::loop_guards ... ok
[INFO] [stdout] test cli::perf::tests::test_is_local_url_loopback ... ok
[INFO] [stdout] test cli::perf::tests::test_resolve_url_explicit_strips_trailing_slash ... ok
[INFO] [stdout] test cli::prompt::tests::test_non_interactive_prompts_use_defaults ... ok
[INFO] [stdout] test cli::perf::tests::test_run_for_deploy_skips_localhost ... ok
[INFO] [stdout] test cli::prompt::tests::test_missing_value_lists_choices ... ok
[INFO] [stdout] test cli::prompt::tests::test_resolve_default_errors_without_default ... ok
[INFO] [stdout] test cli::prompt::tests::test_resolve_default_uses_default ... ok
[INFO] [stdout] test cli::prompt::tests::test_env_truthy ... ok
[INFO] [stdout] test cli::prompt::tests::test_default_indices ... ok
[INFO] [stdout] test cli::prompt::tests::test_non_interactive_confirm_behaviour ... ok
[INFO] [stdout] test cli::prompt::tests::test_missing_value_names_flag ... ok
[INFO] [stdout] test cli::self_update::tests::test_archive_name_construction ... ok
[INFO] [stdout] test cli::self_update::tests::test_checksums_url_construction ... ok
[INFO] [stdout] test cli::harness::tests::parse_agent_list_dedupes_and_orders ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple ... ok
[INFO] [stdout] test cli::self_update::tests::test_direction_upgrade ... ok
[INFO] [stdout] test cli::self_update::tests::test_direction_downgrade ... ok
[INFO] [stdout] test cli::self_update::tests::test_backup_path_extension_already_has_ext ... ok
[INFO] [stdout] test cli::self_update::tests::test_download_url_construction ... ok
[INFO] [stdout] test cli::harness_hooks::tests::find_site_root_walks_up ... ok
[INFO] [stdout] test cli::self_update::tests::test_download_base_constant ... ok
[INFO] [stdout] test cli::self_update::tests::test_github_api_url ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple_format ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_basic ... ok
[INFO] [stdout] test cli::self_update::tests::test_detect_target_triple_deterministic ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_nonexistent_current ... ok
[INFO] [stdout] test cli::self_update::tests::test_repo_constant ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_check_mode ... ok
[INFO] [stdout] test cli::self_update::tests::test_checksum_round_trip_various_contents ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_with_version ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_basic ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_sets_executable_permission ... ok
[INFO] [stdout] test cli::self_update::tests::test_replace_binary_preserves_new_binary ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_binary_data ... ok
[INFO] [stdout] test cli::self_update::tests::test_self_update_args_default ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_deterministic ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_different_inputs_differ ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_empty ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_incremental ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_incremental_matches_oneshot ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_known_value_hello ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_known_value_hello_world ... ok
[INFO] [stdout] test build::images::tests::test_process_images_real_png_image ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_multiple_incremental_updates ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_known_vectors ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_normalization_with_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_normalization_without_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_url_construction_various_tags ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_no_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_checksums_file_not_on_disk ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_archive_not_on_disk ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_single_byte ... ok
[INFO] [stdout] test cli::self_update::tests::test_tag_trim_multiple_v_prefix ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_empty_checksums_file ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_missing_archive_name ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_mismatch ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_single_space_separator ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_first_match_wins ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_success ... ok
[INFO] [stdout] test cli::self_update::tests::test_verify_checksum_with_path_prefix_in_checksums ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_equal ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_extra_parts_ignored ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_large_numbers ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_leading_zeros ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_major_dominates ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_minor ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_empty_strings ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_newer_major ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_non_numeric_parts ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_malformed ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_minor_dominates_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_older_patch ... ok
[INFO] [stdout] test cli::self_update::tests::test_backup_path_extension ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_one_part ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_two_parts ... ok
[INFO] [stdout] test cli::self_update::tests::test_version_cmp_zeros ... ok
[INFO] [stdout] test cli::skill::tests::test_agents_md_section_add_and_remove ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_no_extension ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_override ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_plain_md ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_trailing_slash ... ok
[INFO] [stderr] 
[INFO] [stderr] gzip: stdin: not in gzip format
[INFO] [stderr] tar: Child returned status 1
[INFO] [stderr] tar: Error is not recoverable: exiting now
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_appends_to_existing ... ok
[INFO] [stdout] test cli::skill::tests::test_append_agent_instructions_no_existing_file ... ok
[INFO] [stdout] test cli::skill::tests::test_append_agent_instructions_removes_legacy_claude_managed_section ... ok
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_entries ... ok
[INFO] [stdout] test cli::skill::tests::test_append_agent_instructions_migrates_legacy_claude_file ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_empty_title ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_from_file ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_no_frontmatter ... ok
[INFO] [stdout] test cli::skill::tests::test_append_agent_instructions_idempotent ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_single_quotes ... ok
[INFO] [stdout] test cli::skill::tests::test_ensure_gitignore_skips_existing_entry ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_invalid_archive ... ok
[INFO] [stdout] test cli::skill::tests::test_find_known_pack ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_empty ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_unknown_pack ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_with_manifest ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_context_files ... ok
[INFO] [stdout] test cli::skill::tests::test_extract_title_unquoted ... ok
[INFO] [stdout] test cli::skill::tests::test_gather_skill_summary_custom_skills ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_with_content ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_multiple_collections ... ok
[INFO] [stdout] test cli::skill::tests::test_known_packs_seomachine_completeness ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_empty ... ok
[INFO] [stdout] test cli::skill::tests::test_load_manifest_missing_file ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_nested_docs ... ok
[INFO] [stdout] test cli::skill::tests::test_raw_github_url ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_agent_instructions_section_no_markers ... ok
[INFO] [stdout] test cli::skill::tests::test_generate_internal_links_map_skips_index ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_nonexistent ... ok
[INFO] [stdout] test cli::skill::tests::test_run_install_unknown_source ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_pack_rejects_symlinked_instructions_before_deleting_files ... ok
[INFO] [stdout] test cli::skill::tests::test_manifest_roundtrip ... ok
[INFO] [stdout] test cli::skill::tests::test_run_list_no_skills_dir ... ok
[INFO] [stdout] test cli::skill::tests::test_load_manifest_corrupt_json ... ok
[INFO] [stdout] test cli::skill::tests::test_seite_context_preamble_nonempty ... ok
[INFO] [stdout] test cli::skill::tests::test_strip_date_prefix ... ok
[INFO] [stdout] test cli::skill::tests::test_strip_date_prefix_edge_cases ... ok
[INFO] [stdout] test cli::skill::tests::test_seite_publish_draft_command_content ... ok
[INFO] [stdout] test cli::skill::tests::test_validate_skill_name_with_separator ... ok
[INFO] [stdout] test cli::skill::tests::test_validate_skill_name ... ok
[INFO] [stdout] test cli::skill::tests::test_scaffold_env_example ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_valid_archive ... ok
[INFO] [stdout] test cli::tests::test_build_cli_returns_valid_command ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_custom_skill ... ok
[INFO] [stdout] test cli::tests::test_build_cli_has_subcommands ... ok
[INFO] [stdout] test cli::skill::tests::test_remove_pack_cleans_files_and_manifest ... ok
[INFO] [stdout] test cli::self_update::tests::test_extract_binary_missing_seite_in_archive ... ok
[INFO] [stdout] test cli::skill::tests::test_scaffold_requirements ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_search_pattern ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_required_blocks ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_tera_url ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_user_input ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_url_no_extension ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_url_with_query_string ... ok
[INFO] [stdout] test cli::theme::tests::test_build_theme_prompt_contains_template_variables ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_bare_domain ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_from_html_url ... ok
[INFO] [stdout] test cli::theme::tests::test_export_content_default_description ... ok
[INFO] [stdout] test cli::theme::tests::test_derive_name_override_takes_precedence ... ok
[INFO] [stdout] test cli::theme::tests::test_export_content_with_description ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_empty ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_html_tag_only ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_doctype ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_doctype_lowercase ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_empty ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_content_not_html ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_with_separator ... ok
[INFO] [stdout] test cli::theme::tests::test_save_installed_theme_creates_dirs ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_valid ... ok
[INFO] [stdout] test cli::theme::tests::test_validate_name_with_dot_dot ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_needs_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_already_present ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_no_claude_md ... ok
[INFO] [stdout] test cli::theme::tests::test_save_installed_theme ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_aliases_docs_already_documented ... ok
[INFO] [stdout] test cli::upgrade::tests::test_add_stop_hooks_merges_into_pending_settings_merge ... ok
[INFO] [stdout] test cli::upgrade::tests::test_add_stop_hooks_merges_into_pending_settings_create ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_no_custom_template ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_no_rss_either ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_add_stop_hooks_skips_recorded_and_unmergeable ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_needs_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_already_has_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_outdated ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_no_file ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_brand_identity_skill_up_to_date ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_needs_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_contact_form_docs_no_claude_md ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_codex_config_invalid_toml_untouched ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_claude_md_mcp_already_has_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_cursor_cli_json_creates_missing_file ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_cursor_cli_json_merges_allow_rules ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_no_seite_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_both_workflow_and_netlify ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_cloudflare ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_workflows_old_cargo_install ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_removes_version ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_landing_page_skill_with_pages ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_workflows_no_workflow ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_fresh_init_is_noop ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_pinning_is_noop ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_malformed_json ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_merges_into_existing_mcp_json ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_already_unpinned ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_no_claude_dir ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_keeps_legacy_servers_if_mcp_json_malformed ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_servers_json_keeps_other_servers ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_injects_when_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_skips_without_build_section ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_minify_default_skips_when_already_set ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_opencode_json_merges_and_is_idempotent ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_page_meta_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_opencode_json_leaves_unparseable_config_alone ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_public_dir_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_public_dir_exists ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_already_has_steps ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_page_meta_exists ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_github_pages_skipped ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_mcp_server_migrates_legacy_settings ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_netlify_target ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_missing_steps ... ok
[INFO] [stdout] test cli::skill::tests::test_derive_skill_name_from_url ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_workflow ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_theme_builder_skill_missing ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_seite_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_github_pages ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_subdomain_workflow_no_deploy_project ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_deploy_version_unpinning_netlify_toml ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_landing_page_skill_no_pages_collection ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_atom_autodiscovery_needs_hint ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_invalid_number ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_create ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extend_dedup_skips_second_write_to_same_file ... ok
[INFO] [stdout] test cli::upgrade::tests::test_check_theme_builder_skill_up_to_date ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_not_found ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_with_spaces ... ok
[INFO] [stdout] test cli::upgrade::tests::test_instructions_block_refreshes_appends_or_skips ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_append ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_action_describe_merge_json ... ok
[INFO] [stdout] test config::defaults::tests::test_avif_quality ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_steps_ordered_by_version ... ok
[INFO] [stdout] test cli::upgrade::tests::test_upgrade_steps_all_have_labels ... ok
[INFO] [stdout] test cli::upgrade::tests::test_extract_skill_version_found ... ok
[INFO] [stdout] test config::defaults::tests::test_content_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_base_url ... ok
[INFO] [stdout] test config::defaults::tests::test_data_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_bool_true ... ok
[INFO] [stdout] test config::defaults::tests::test_public_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_static_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_template_dir ... ok
[INFO] [stdout] test config::defaults::tests::test_image_quality ... ok
[INFO] [stdout] test config::tests::test_access_validation_rejects_conflicting_main_site_prefixes ... ok
[INFO] [stdout] test config::tests::test_access_validation_rejects_invalid_session_duration ... ok
[INFO] [stdout] test config::tests::test_access_validation_rejects_secret_binding_collisions ... ok
[INFO] [stdout] test config::tests::test_base_domain_https ... ok
[INFO] [stdout] test config::tests::test_access_validation_allows_same_prefix_for_separate_subdomains ... ok
[INFO] [stdout] test config::tests::test_base_domain_with_path ... ok
[INFO] [stdout] test config::defaults::tests::test_language ... ok
[INFO] [stdout] test config::tests::test_collection_private_false_is_not_serialized ... ok
[INFO] [stdout] test config::tests::test_collection_private_defaults_false ... ok
[INFO] [stdout] test config::tests::test_main_site_collections_filter ... ok
[INFO] [stdout] test config::tests::test_has_subdomains_true ... ok
[INFO] [stdout] test config::tests::test_password_access_groups_are_unique_and_sorted ... ok
[INFO] [stdout] test config::defaults::tests::test_image_widths ... ok
[INFO] [stdout] test config::tests::test_base_domain_http_localhost ... ok
[INFO] [stdout] test config::tests::test_collection_private_parses_from_toml ... ok
[INFO] [stdout] test config::tests::test_password_access_parses_with_default_session ... ok
[INFO] [stdout] test config::tests::test_has_subdomains_false ... ok
[INFO] [stdout] test config::tests::test_private_collection_defaults_access_group_to_collection_name ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_explicit_strips_trailing_slash ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_http ... ok
[INFO] [stdout] test config::tests::test_subdomain_output_path ... ok
[INFO] [stdout] test config::tests::test_subdomain_collections_filter ... ok
[INFO] [stdout] test config::tests::test_subdomain_config_deserialization ... ok
[INFO] [stdout] test config::tests::test_validate_subdomain_base_url_invalid_scheme ... ok
[INFO] [stdout] test config::tests::test_public_collection_has_no_resolved_access_group ... ok
[INFO] [stdout] test config::tests::test_validate_deploy_project_without_subdomain ... ok
[INFO] [stdout] test config::tests::test_validate_subdomains_ok ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_clean_and_unparseable_config ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_fields_of_reads_struct_fields ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_dotted_and_inline_tables ... ok
[INFO] [stdout] test config::tests::test_subdomain_base_url_explicit_override ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_no_close_match_lists_known_keys ... ok
[INFO] [stdout] test config::tests::test_validate_subdomains_duplicate ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_unknown_key_in_section_has_line_and_hint ... ok
[INFO] [stdout] test content::create::tests::test_create_rejects_bad_slug_and_lang ... ok
[INFO] [stdout] test content::create::tests::test_create_subdir_nested_only_and_validated ... ok
[INFO] [stdout] test config::defaults::tests::test_output_dir ... ok
[INFO] [stdout] test config::tests::test_access_validation_rejects_unsafe_group_name ... ok
[INFO] [stdout] test content::create::tests::test_create_rejects_empty_slug ... ok
[INFO] [stdout] test content::create::tests::test_create_with_all_fields ... ok
[INFO] [stdout] test config::unknown_keys::tests::test_unknown_keys_in_arrays_maps_top_level_and_dotted ... ok
[INFO] [stdout] test content::create::tests::test_create_refuses_overwrite ... ok
[INFO] [stdout] test content::create::tests::test_create_empty_body_has_no_placeholder ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_more_marker ... ok
[INFO] [stdout] test content::tests::test_extract_lang_from_filename_no_extension ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_first_paragraph ... ok
[INFO] [stdout] test content::tests::test_frontmatter_includes_draft_when_true ... ok
[INFO] [stdout] test content::tests::test_frontmatter_skips_empty_fields ... ok
[INFO] [stdout] test content::tests::test_generate_and_parse_frontmatter ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_blank_first_paragraph ... ok
[INFO] [stdout] test content::tests::test_generate_frontmatter_with_all_fields ... ok
[INFO] [stdout] test content::tests::test_is_false_helper ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_empty ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_missing ... ok
[INFO] [stdout] test content::tests::test_parse_content_diagnostic_maps_yaml_line_to_file_line ... ok
[INFO] [stdout] test content::tests::test_parse_content_diagnostic_missing_and_ok ... ok
[INFO] [stdout] test content::tests::test_parse_content_diagnostic_type_error_line ... ok
[INFO] [stdout] test content::tests::test_slug_from_title_special_chars ... ok
[INFO] [stdout] test content::tests::test_slug_from_title_unicode ... ok
[INFO] [stdout] test content::tests::test_slug_generation ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_more_marker_at_start ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_real ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_horizontal_rule_in_body ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_missing ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_unclosed ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_triple_dash_in_value ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_valid ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_with_leading_whitespace ... ok
[INFO] [stdout] test content::tests::test_strip_yaml_location ... ok
[INFO] [stdout] test content::tests::test_strip_lang_suffix ... ok
[INFO] [stdout] test content::tests::test_strip_lang_suffix_multiple_dots ... ok
[INFO] [stdout] test content::tests::test_extract_excerpt_single_paragraph ... ok
[INFO] [stdout] test content::tests::test_split_frontmatter_body_with_newlines ... ok
[INFO] [stdout] test config::tests::test_validate_subdomain_base_url_without_subdomain ... ok
[INFO] [stdout] test content::tests::test_parse_content_file_no_frontmatter ... ok
[INFO] [stdout] test data::tests::test_check_conflicts_no_conflict ... ok
[INFO] [stdout] test data::tests::test_check_conflicts_with_conflict ... ok
[INFO] [stdout] test data::tests::test_count_data_files_missing_dir ... ok
[INFO] [stdout] test data::tests::test_empty_dir_returns_empty ... ok
[INFO] [stdout] test data::tests::test_insert_nested_empty_segments ... ok
[INFO] [stdout] test data::tests::test_insert_nested_multiple_segments ... ok
[INFO] [stdout] test data::tests::test_insert_nested_single_segment ... ok
[INFO] [stdout] test data::tests::test_load_data_dir_reports_every_broken_file_with_location ... ok
[INFO] [stdout] test data::tests::test_load_json ... ok
[INFO] [stdout] test data::tests::test_load_toml ... ok
[INFO] [stdout] test data::tests::test_count_data_files_nested ... ok
[INFO] [stdout] test data::tests::test_conflict_detection ... ok
[INFO] [stdout] test content::tests::test_extract_lang_from_filename ... ok
[INFO] [stdout] test data::tests::test_deeply_nested_directory ... ok
[INFO] [stdout] test data::tests::test_count_data_files ... ok
[INFO] [stdout] test data::tests::test_load_toml_nested_tables ... ok
[INFO] [stdout] test data::tests::test_missing_dir_returns_empty ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_unsupported_extension ... ok
[INFO] [stdout] test data::tests::test_load_yaml_object ... ok
[INFO] [stdout] test data::tests::test_load_yaml ... ok
[INFO] [stdout] test data::tests::test_nested_directories ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_toml ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_yaml ... ok
[INFO] [stdout] test data::tests::test_load_yml_extension ... ok
[INFO] [stdout] test data::tests::test_unknown_extension_skipped ... ok
[INFO] [stdout] test data::tests::test_parse_data_file_invalid_json ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_0000 ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_ip_address_not_localhost ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_localhost ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_localhost_message_mentions_base_url ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_0000_with_different_port ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_production ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_with_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_no_domain ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_no_project ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_127 ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_project_with_configured_project ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_project_no_project_no_wrangler ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_url_with_localhost_substring ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_with_configured_repo ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_production_contains_url_in_message ... ok
[INFO] [stdout] test deploy::tests::test_check_base_url_with_https_and_path ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_configured_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_auth_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_domain_no_domain ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_with_git_dir ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_domain_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_with_project ... ok
[INFO] [stdout] test deploy::tests::test_check_cloudflare_domain_with_domain_and_project ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_auth_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_no_repo_no_git ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_missing ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_pass_message_contains_path ... ok
[INFO] [stdout] test deploy::tests::test_check_netlify_site_with_state_file ... ok
[INFO] [stdout] test build::tests::test_build_attributes_broken_links_to_markdown_source ... ok
[INFO] [stdout] test deploy::tests::test_cloudflare_workflow_includes_subdomain_deploy ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_empty ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_name_field ... ok
[INFO] [stdout] test deploy::tests::test_cloudflare_workflow_no_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_name_field ... ok
[INFO] [stdout] test deploy::tests::test_check_git_repo_not_a_repo ... ok
[INFO] [stdout] test deploy::tests::test_check_output_dir_with_files ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_fallback_dir_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_commented_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_from_wrangler_toml_single_quotes ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_empty_name ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_name_not_first_line ... ok
[INFO] [stdout] test deploy::tests::test_check_git_remote_name_field ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_from_wrangler_toml ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_with_spaces_around_equals ... ok
[INFO] [stdout] test deploy::tests::test_detect_cloudflare_project_wrangler_toml_no_value_after_equals ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https_with_git_suffix ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_empty_repo_string ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh_with_dotgit ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_https_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_non_github_url ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_none ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh ... ok
[INFO] [stdout] test deploy::tests::test_detect_github_username_ssh_no_repo ... ok
[INFO] [stdout] test deploy::tests::test_domain_is_apex_single_dot ... ok
[INFO] [stdout] test deploy::tests::test_domain_is_not_apex_two_dots ... ok
[INFO] [stdout] test deploy::tests::test_domain_no_dots_is_apex ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_no_project_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_apex_creates_two_cnames ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_apex ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_no_repo_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_apex ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_cloudflare_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_no_project_uses_placeholder ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_http_empty ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_http_with_path ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_empty ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_github_pages_notes_mention_cname ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_struct_fields ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_just_scheme_and_host ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_netlify_notes_mention_ssl ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_https_with_port_and_path ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_subdomain_chain ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_with_port ... ok
[INFO] [stdout] test deploy::tests::test_domain_setup_notes_are_nonempty ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_empty_string ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_http_not_matched ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_port_only_no_host ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_multiple_urls_returns_first ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_on_own_line ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_embedded ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_with_port ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_url_with_path ... ok
[INFO] [stdout] test deploy::tests::test_extract_custom_domain_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_no_url ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_with_trailing_punctuation ... ok
[INFO] [stdout] test deploy::tests::test_fix_action_struct ... ok
[INFO] [stdout] test deploy::tests::test_extract_url_from_output_only_whitespace_lines ... ok
[INFO] [stdout] test cli::self_update::tests::test_sha256_large_input ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_contains_secrets ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_default_project ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_two_jobs ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_contains_permissions ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow_uses_wrangler_action ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_uploads_artifact ... ok
[INFO] [stdout] test deploy::tests::test_generate_cloudflare_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_has_concurrency ... ok
[INFO] [stdout] test deploy::tests::test_generate_github_actions_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_has_redirects ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_contains_secrets ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_no_version_pin ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_config_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_has_workflow_dispatch ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_uses_netlify_action ... ok
[INFO] [stdout] test deploy::tests::test_generate_netlify_workflow_uses_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_fields ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_develop_branch ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_includes_subdomain_deploy ... ok
[INFO] [stdout] test deploy::tests::test_git_push_result_master_branch ... ok
[INFO] [stdout] test deploy::tests::test_github_pages_workflow_unchanged ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_no_subdomain ... ok
[INFO] [stdout] test deploy::tests::test_netlify_workflow_sanitizes_secret_suffix ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_deep_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_empty_after_scheme ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_65535 ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_very_long_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_with_query_string ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_http_no_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_overflow_falls_back ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_port_zero ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_for_http_with_fragment ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_http_default_port ... ok
[INFO] [stdout] test deploy::tests::test_password_access_preflight_accepts_cloudflare ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_no_path ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_with_invalid_port_falls_back_to_default ... ok
[INFO] [stdout] test deploy::tests::test_preflight_check_struct ... ok
[INFO] [stdout] test deploy::tests::test_parse_url_https_with_explicit_port ... ok
[INFO] [stdout] test deploy::tests::test_password_access_preflight_rejects_other_targets ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_target ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_no_domain_check_when_not_configured ... ok
[INFO] [stdout] test deploy::tests::test_preflight_github_pages ... ok
[INFO] [stdout] test deploy::tests::test_preflight_github_pages_includes_git_checks ... ok
[INFO] [stdout] test deploy::tests::test_preflight_cloudflare_with_domain ... ok
[INFO] [stdout] test deploy::tests::test_password_access_preflight_ignores_unused_access_section ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_all_fail ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_empty_records ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_no_panic ... ok
[INFO] [stdout] test deploy::tests::test_print_domain_setup_multiple_records ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_empty_checks ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_all_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_one_fails ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_single_fail ... ok
[INFO] [stdout] test deploy::tests::test_print_preflight_single_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_all_pass ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_empty ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_target ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_mixed_results ... ok
[INFO] [stdout] test deploy::tests::test_preflight_unknown_target ... ok
[INFO] [stdout] test deploy::tests::test_recheck_base_url ... ok
[INFO] [stdout] test deploy::tests::test_recheck_base_url_localhost ... ok
[INFO] [stdout] test deploy::tests::test_print_verification_all_fail ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_remote_with_configured_repo ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_repo_with_git_dir ... ok
[INFO] [stdout] test deploy::tests::test_recheck_netlify_cli ... ok
[INFO] [stdout] test deploy::tests::test_recheck_unknown_check_name ... ok
[INFO] [stdout] test deploy::tests::test_recheck_output_dir_missing ... ok
[INFO] [stdout] test deploy::tests::test_recheck_gh_cli ... ok
[INFO] [stdout] test deploy::tests::test_recheck_output_directory ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_config_with_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_override_no_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_empty_override ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_strips_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_whitespace_in_config ... ok
[INFO] [stdout] test deploy::tests::test_recheck_wrangler_cli ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_no_domain_check_when_not_configured ... ok
[INFO] [stdout] test deploy::tests::test_resolve_deploy_base_url_override_with_multiple_trailing_slashes ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_base_url ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_base_url_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_auth ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_domain ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_domain_no_quote_in_message ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_gh_cli ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_repo ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_cloudflare_project ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_auth ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_domain ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_cli ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_domain_no_quote_in_message ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_netlify_site ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_output_dir ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_passed ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_unknown ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_output_dir_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_remote ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_repo_has_manual_instructions ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_wrangler_cli ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_creates_deploy_section ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url_and_project_together ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_invalid_toml ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_multiple_updates ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_nonexistent_file ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_overwrite_existing_value ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_preserves_site_section ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_invalid_url ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_empty_updates ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_no_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_try_fix_check_git_cli ... ok
[INFO] [stdout] test deploy::tests::test_verify_http_connection_refused ... ok
[INFO] [stdout] test deploy::tests::test_verify_http_invalid_url_no_scheme ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_repo ... ok
[INFO] [stdout] test build::tests::test_build_keeps_staging_dir_of_running_build ... ok
[INFO] [stdout] test deploy::tests::test_verify_result_failed ... ok
[INFO] [stdout] test deploy::tests::test_recheck_git_cli ... ok
[INFO] [stdout] test deploy::tests::test_verify_result_struct_fields ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_connection_refused ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_trims_trailing_slash ... ok
[INFO] [stdout] test deploy::tests::test_verify_deployment_returns_four_results ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_dns_resolution_skip ... ok
[INFO] [stdout] test diagnostics::tests::test_counts_sort_and_summary ... ok
[INFO] [stdout] test diagnostics::tests::test_display_with_location_and_hint ... ok
[INFO] [stdout] test diagnostics::tests::test_relative_to_strips_root ... ok
[INFO] [stdout] test diagnostics::tests::test_did_you_mean_close_and_far ... ok
[INFO] [stdout] test diagnostics::tests::test_display_without_file ... ok
[INFO] [stdout] test diagnostics::tests::test_serializes_without_empty_fields ... ok
[INFO] [stdout] test deploy::tests::test_update_deploy_config_base_url_not_in_deploy ... ok
[INFO] [stdout] test diagnostics::tests::test_into_result_and_relative_to ... ok
[INFO] [stdout] test diagnostics::tests::test_line_col_at ... ok
[INFO] [stdout] test deploy::tests::test_preflight_netlify_with_domain ... ok
[INFO] [stdout] test docs::tests::test_all_docs_have_content ... ok
[INFO] [stdout] test diagnostics::tests::test_under_prefixes_relative_files_only ... ok
[INFO] [stdout] test docs::tests::test_strip_frontmatter_no_frontmatter ... ok
[INFO] [stdout] test docs::tests::test_by_slug_not_found ... ok
[INFO] [stdout] test docs::tests::test_by_slug_found ... ok
[INFO] [stdout] test docs::tests::test_all_docs_have_unique_slugs ... ok
[INFO] [stdout] test i18n::tests::falls_back_to_default_language_when_current_missing ... ok
[INFO] [stdout] test docs::tests::test_strip_frontmatter ... ok
[INFO] [stdout] test deploy::tests::test_verify_url_reachable_invalid_url ... ok
[INFO] [stdout] test docs::tests::test_all_returns_all_docs ... ok
[INFO] [stdout] test docs::tests::test_all_sorted_by_weight ... ok
[INFO] [stdout] test i18n::tests::no_warning_for_monolingual_site ... ok
[INFO] [stdout] test i18n::tests::language_map_when_all_keys_are_codes ... ok
[INFO] [stdout] test i18n::tests::no_warning_for_non_language_map ... ok
[INFO] [stdout] test i18n::tests::filter_leaves_plain_string_byte_identical ... ok
[INFO] [stdout] test i18n::tests::not_language_map_when_one_key_is_foreign ... ok
[INFO] [stdout] test i18n::tests::filter_without_lang_arg_uses_default_language ... ok
[INFO] [stdout] test i18n::tests::falls_back_to_first_entry_when_default_also_missing ... ok
[INFO] [stdout] test i18n::tests::filter_alias_localize_works ... ok
[INFO] [stdout] test i18n::tests::passes_non_language_map_through_unchanged ... ok
[INFO] [stdout] test i18n::tests::no_warning_for_reserved_i18n_ui_strings ... ok
[INFO] [stdout] test mcp::content_index::tests::test_scan_missing_dir_is_empty ... ok
[INFO] [stdout] test i18n::tests::passes_number_and_bool_through_unchanged ... ok
[INFO] [stdout] test i18n::tests::passes_scalar_through_unchanged ... ok
[INFO] [stdout] test i18n::tests::resolves_to_current_language ... ok
[INFO] [stdout] test i18n::tests::warns_on_partial_language_map ... ok
[INFO] [stdout] test i18n::tests::filter_resolves_with_explicit_lang ... ok
[INFO] [stdout] test mcp::protocol::tests::test_feature_gates_by_version ... ok
[INFO] [stdout] test mcp::protocol::tests::test_negotiate_echoes_supported_legacy_versions ... ok
[INFO] [stdout] test i18n::tests::not_language_map_when_empty ... ok
[INFO] [stdout] test mcp::protocol::tests::test_negotiate_unknown_or_missing_uses_newest_legacy ... ok
[INFO] [stdout] test mcp::protocol::tests::test_version_lists_are_sorted_newest_first ... ok
[INFO] [stdout] test i18n::tests::not_language_map_when_a_key_is_not_a_code ... ok
[INFO] [stdout] test i18n::tests::no_warning_when_language_map_is_complete ... ok
[INFO] [stdout] test mcp::content_index::tests::test_scan_uses_real_output_urls ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_collection_label_matches_preset ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_multiple_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_trust_excludes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_trust_config_includes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_config_returns_only_docs ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_config_includes_site_resources ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_mcp_config_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_without_mcp_config_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_draft_items_included ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_date_sorting_descending ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_unknown_collection ... ok
[INFO] [stdout] test mcp::resources::tests::test_list_with_trust_collection_includes_trust_resource ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_resolves_singular_alias ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_ignores_non_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_custom_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_empty_directory ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_url_with_empty_prefix ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_nested_and_translated_urls ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_weight_sorting_alphabetical_tiebreak ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_completely_wrong_scheme ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_description_and_weight ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_with_content_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_surfaces_load_error ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_serializes_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_collection_weight_sorting ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_with_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_with_trust_section ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_includes_collection_metadata ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_config_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_with_missing_content_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_multiple_collections ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_counts_nested_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_counts_md_files ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_all_embedded_slugs ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_nonexistent_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_overview_with_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_content_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_empty_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_docs_index_returns_all_docs ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_doc_valid_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_empty_uri ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_docs_index_mime_type ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_invalid_doc_slug ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_missing_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_prefers_mcp_json ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_via_read ... ok
[INFO] [stdout] test build::tests::test_full_build_replaces_output_via_staging ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_routes_to_docs_index ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_missing_uri_parameter ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_routes_to_specific_doc ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_includes_other_agents ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_mcp_config_with_file ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_bundled_have_descriptions ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_includes_bundled ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_no_installed_themes_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_with_installed_theme ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_no_paths ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_faq_non_array ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_via_read ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_content_items ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_subprocessors_non_array ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_all_data_files_together ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_faq_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_certifications_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_invalid_yaml_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_subprocessors_data ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_nested_content ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_with_trust_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_config ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_themes_flags_active_theme ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_trust_section ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_trust_without_data_dir ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_unknown_uri ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_uri_with_trailing_content ... ok
[INFO] [stdout] test mcp::tests::test_dispatch_ping ... ok
[INFO] [stdout] test mcp::tests::test_handle_line_batch ... ok
[INFO] [stdout] test mcp::resources::tests::test_read_uri_not_string ... ok
[INFO] [stdout] test mcp::tests::test_handle_line_notifications_have_no_response ... ok
[INFO] [stdout] test mcp::tests::test_handle_line_invalid_envelopes ... ok
[INFO] [stdout] test mcp::tests::test_find_project_root_walks_up ... ok
[INFO] [stdout] test mcp::tests::test_handle_line_malformed_json_is_parse_error ... ok
[INFO] [stdout] test mcp::tests::test_dispatch_unknown_method ... ok
[INFO] [stdout] test mcp::tests::test_dispatch_reloads_config_per_request ... ok
[INFO] [stdout] test mcp::tests::test_handle_line_string_ids_are_echoed ... ok
[INFO] [stdout] test mcp::tests::test_initialize_unknown_version_answers_newest_legacy ... ok
[INFO] [stdout] test mcp::tests::test_initialize_negotiates_requested_version ... ok
[INFO] [stdout] test mcp::tests::test_modern_cache_hints ... ok
[INFO] [stdout] test mcp::tests::test_resource_templates_list ... ok
[INFO] [stdout] test mcp::tests::test_parse_request_and_notification ... ok
[INFO] [stdout] test mcp::tests::test_unsupported_modern_version_is_structured_error ... ok
[INFO] [stdout] test mcp::tests::test_server_info_fields_gated_by_version ... ok
[INFO] [stdout] test mcp::tools::collection::tests::test_create_collection_errors ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_frontmatter_span_preserves_rest ... ok
[INFO] [stdout] test mcp::tests::test_modern_request_is_served_statelessly ... ok
[INFO] [stdout] test mcp::tests::test_reload_config_surfaces_toml_error_and_recovers ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_normalize_url ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_get_page_invalid_args ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_path_resolution_errors_name_the_fix ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_top_level_key_forms ... ok
[INFO] [stdout] test mcp::tests::test_negotiated_version_gates_tool_fields ... ok
[INFO] [stdout] test build::tests::test_build_removes_leftover_staging_dirs ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_rejects_symlink_escape ... ok
[INFO] [stdout] test mcp::tools::collection::tests::test_create_collection_adds_preset ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_falls_back_for_unscannable_yaml ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_empty_and_non_mapping_frontmatter ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_preserves_comments_and_formatting ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_rejects_invalid_updates ... ok
[INFO] [stdout] test mcp::tools::stats::tests::test_content_stats_invalid_args ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_round_trip_preserves_body ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_keeps_explicit_dates_valid ... ok
[INFO] [stdout] test mcp::tools::stats::tests::test_content_stats_reports_gaps ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_update_frontmatter_crlf_and_invalid_leaves_file_alone ... ok
[INFO] [stdout] test mcp::tools::tests::test_annotations_match_tool_behavior ... ok
[INFO] [stdout] test mcp::tools::tests::test_apply_theme_rejects_path_escape ... ok
[INFO] [stdout] test mcp::tools::tests::test_apply_theme_unknown_is_error ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_shortcode_params_locals_and_calls ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_context_variables_cover_build ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_shortcode_params_for_builtins ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_missing_name_is_protocol_error ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_get_page_dated_post_resolves_date_and_render_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_unknown_arguments_are_errors ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_missing_required_argument_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_with_broken_config_reports_load_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_without_config_is_tool_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_wrong_argument_types_are_errors ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_unknown_tool_lists_valid_tools ... ok
[INFO] [stdout] test mcp::tools::tests::test_apply_theme_backs_up_custom_and_uses_template_dir ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_empty_slug_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_all_options ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_rejects_subdir_escape ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_unknown_collection_lists_available ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_weight_out_of_range_writes_nothing ... ok
[INFO] [stdout] test mcp::tools::tests::test_create_content_refuses_overwrite ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_list_templates_reports_overrides_blocks_and_shortcodes ... ok
[INFO] [stdout] test build::tests::test_failed_full_build_keeps_previous_output ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_at_end ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_at_start ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_multibyte_no_panic ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_not_found_falls_back ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_max_5 ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_multibyte_no_panic ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_emoji_window_edges ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_no_headings ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_excerpt_multibyte_at_boundary ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_multiple ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_no_match ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_max_3_lines ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_empty ... ok
[INFO] [stdout] test mcp::tools::tests::test_first_paragraph_truncates_at_200_chars ... ok
[INFO] [stdout] test mcp::tools::tests::test_input_schema_invariants ... ok
[INFO] [stdout] test mcp::tools::tests::test_extract_matching_sections_truncates_long ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_fields_gated_by_protocol ... ok
[INFO] [stdout] test mcp::tools::tests::test_list_returns_all_tools ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_by_query ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_by_topic ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_by_topic_is_capped ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_broad_query_is_capped ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_empty_query_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_no_args_returns_index ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_topic_not_found_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_wrong_type_is_error ... ok
[INFO] [stdout] test mcp::tools::tests::test_lookup_docs_all_topics_have_content ... ok
[INFO] [stdout] test mcp::tools::tests::test_search_empty_query_and_bad_limit_are_errors ... ok
[INFO] [stdout] test mcp::tools::tests::test_output_schemas_are_valid_object_schemas ... ok
[INFO] [stdout] test mcp::tools::tests::test_structured_content_gated_by_protocol ... ok
[INFO] [stdout] test mcp::tools::tests::test_tool_names_fit_client_limits ... ok
[INFO] [stdout] test mcp::tools::tests::test_truncate_chars_boundaries ... ok
[INFO] [stdout] test mcp::tools::tests::test_search_ranks_and_limits ... ok
[INFO] [stdout] test meta::tests::test_agents_roundtrip_and_stamp_preserves_them ... ok
[INFO] [stdout] test mcp::tools::tests::test_unknown_collection_without_any_collections_says_how_to_add_one ... ok
[INFO] [stdout] test meta::tests::test_format_version ... ok
[INFO] [stdout] test meta::tests::test_load_legacy_meta_without_agents ... ok
[INFO] [stdout] test meta::tests::test_load_missing_file ... ok
[INFO] [stdout] test mcp::tools::tests::test_search_description_tier_and_title_tiebreak ... ok
[INFO] [stdout] test meta::tests::test_parse_semver ... ok
[INFO] [stdout] test meta::tests::test_parse_semver_invalid ... ok
[INFO] [stdout] test meta::tests::test_meta_current ... ok
[INFO] [stdout] test meta::tests::test_project_version_missing ... ok
[INFO] [stdout] test meta::tests::test_version_comparison ... ok
[INFO] [stdout] test output::human::tests::test_header_does_not_panic ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_empty_candidates ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_close_typo ... ok
[INFO] [stdout] test meta::tests::test_roundtrip ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_exact ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_no_match ... ok
[INFO] [stdout] test output::human::tests::test_suggest_match_picks_best ... ok
[INFO] [stdout] test output::json::tests::test_error_chain_drops_duplicated_source ... ok
[INFO] [stdout] test output::human::tests::test_warning_does_not_panic ... ok
[INFO] [stdout] test output::json::tests::test_error_chain_drops_empty_causes ... ok
[INFO] [stdout] test output::json::tests::test_error_document_shape ... ok
[INFO] [stdout] test output::json::tests::test_error_document_without_diagnostics_has_no_field ... ok
[INFO] [stdout] test output::json::tests::test_error_document_includes_diagnostics ... ok
[INFO] [stdout] test output::json::tests::test_error_serialization_omits_none_fields ... ok
[INFO] [stdout] test output::json::tests::test_success_document_null_data ... ok
[INFO] [stdout] test output::json::tests::test_success_envelope ... ok
[INFO] [stdout] test output::json::tests::test_success_document_shape ... ok
[INFO] [stdout] test output::json::tests::test_success_serialization_omits_none_fields ... ok
[INFO] [stdout] test output::json::tests::test_success_with_struct ... ok
[INFO] [stdout] test output::json::tests::test_error_envelope ... ok
[INFO] [stdout] test output::tests::test_child_stdout_target ... ok
[INFO] [stdout] test output::tests::test_message_output_serialization ... ok
[INFO] [stdout] test output::tests::test_message_output_with_detail ... ok
[INFO] [stdout] test output::tests::test_message_output_serialization_with_detail ... ok
[INFO] [stdout] test output::tests::test_output_format_clone_copy ... ok
[INFO] [stdout] test output::tests::test_output_format_debug ... ok
[INFO] [stdout] test platform::tests::test_home_dir_returns_some ... ok
[INFO] [stdout] test output::tests::test_message_output_without_detail ... ok
[INFO] [stdout] test platform::tests::test_npm_cmd_creates_command ... ok
[INFO] [stdout] test platform::tests::test_wrangler_config_path_linux ... ok
[INFO] [stdout] test platform::tests::test_wrangler_config_path_returns_some ... ok
[INFO] [stdout] test mcp::tools::tests::test_build_clean_site_has_no_warnings ... ok
[INFO] [stdout] test platform::tests::test_home_path_appends_relative ... ok
[INFO] [stdout] test output::tests::test_child_stdout_stdio_is_usable ... ok
[INFO] [stdout] test progress::tests::test_done_with_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_default_creates_instance ... ok
[INFO] [stdout] test progress::tests::test_finish_current_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_format_timing_milliseconds ... ok
[INFO] [stdout] test progress::tests::test_multiple_steps_non_tty ... ok
[INFO] [stdout] test progress::tests::test_new_creates_instance ... ok
[INFO] [stdout] test progress::tests::test_step_non_tty_sets_no_spinner ... ok
[INFO] [stdout] test progress::tests::test_step_then_done ... ok
[INFO] [stdout] test progress::tests::test_format_timing_seconds ... ok
[INFO] [stdout] test server::tests::test_dev_base_url_brackets_ipv6_literal ... ok
[INFO] [stdout] test server::tests::test_dev_base_url_has_no_trailing_slash ... ok
[INFO] [stdout] test server::tests::test_find_available_port_returns_a_free_port ... ok
[INFO] [stdout] test server::tests::test_dev_base_url_uses_host_and_port ... ok
[INFO] [stdout] test progress::tests::test_format_timing_sub_millisecond ... ok
[INFO] [stdout] test server::tests::test_format_local_url_custom_host ... ok
[INFO] [stdout] test server::tests::test_format_local_url_default ... ok
[INFO] [stdout] test server::tests::test_dev_base_url_maps_all_interfaces_to_localhost ... ok
[INFO] [stdout] test server::tests::test_format_local_url_ipv6_loopback ... ok
[INFO] [stdout] test server::tests::test_format_local_url_wildcard_ipv6 ... ok
[INFO] [stdout] test server::tests::test_find_available_port_skips_occupied_port ... ok
[INFO] [stdout] test server::tests::test_guess_mime_css ... ok
[INFO] [stdout] test server::tests::test_format_local_url_wildcard_ipv4 ... ok
[INFO] [stdout] test server::tests::test_guess_mime_fingerprinted_assets ... ok
[INFO] [stdout] test server::tests::test_guess_mime_html ... ok
[INFO] [stdout] test server::tests::test_guess_mime_double_extension ... ok
[INFO] [stdout] test server::tests::test_guess_mime_js ... ok
[INFO] [stdout] test server::tests::test_guess_mime_md ... ok
[INFO] [stdout] test server::tests::test_guess_mime_json ... ok
[INFO] [stdout] test server::tests::test_guess_mime_nested_path ... ok
[INFO] [stdout] test server::tests::test_guess_mime_no_extension ... ok
[INFO] [stdout] test server::tests::test_guess_mime_txt ... ok
[INFO] [stdout] test server::tests::test_guess_mime_unknown ... ok
[INFO] [stdout] test server::tests::test_guess_mime_xml ... ok
[INFO] [stdout] test server::tests::test_guess_mime_images ... ok
[INFO] [stdout] test server::tests::test_guess_mime_fonts ... ok
[INFO] [stdout] test server::tests::test_guess_mime_webp ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_body_at_end ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_body_with_whitespace_around ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_invalid_utf8_passthrough ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_empty ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_inserts_newlines ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_only_body_close_in_string ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_large_html ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_no_body_tag ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_with_body_tag ... ok
[INFO] [stdout] test server::tests::test_livereload_script_calls_location_reload ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_preserves_original_content ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_uppercase_body_not_matched ... ok
[INFO] [stdout] test server::tests::test_livereload_script_is_valid_script_tag ... ok
[INFO] [stdout] test server::tests::test_port_is_available_detects_bound_port ... ok
[INFO] [stdout] test server::tests::test_livereload_script_contains_reload_endpoint ... ok
[INFO] [stdout] test server::tests::test_local_network_ip_returns_valid_ip_or_none ... ok
[INFO] [stdout] test server::tests::test_port_is_available_high_port ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_all_interfaces_ipv4 ... ok
[INFO] [stdout] test server::tests::test_inject_livereload_multiple_body_tags ... ok
[INFO] [stdout] test server::tests::test_port_is_available_multiple_high_ports ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_all_interfaces_ipv6 ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_list_templates_reports_broken_base_collection_index_and_data ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_css_file ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_custom ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_custom_host ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_wildcard_ipv4 ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_get_page_nested_doc_by_path_and_url ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_wildcard_ipv6 ... ok
[INFO] [stdout] test server::tests::test_print_server_banner_loopback ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_clean_url ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_without_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_empty_query_string ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_dotfile ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_directory_without_trailing_slash ... ok
[INFO] [stdout] test server::tests::test_resolve_display_host_loopback ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_exact_html_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_i18n_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_i18n_prefix ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_favicon ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_fingerprinted_asset ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_markdown_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_just_slash ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_image_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_nested_clean_url ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_multiple_leading_slashes ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_not_found ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_priority_exact_file_over_html ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_nested_directory_index ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_query_string_with_path ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root_no_index ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_html_page ... ok
[INFO] [stdout] test server::tests::test_resolve_and_mime_markdown_file ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_root_empty_string ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv4 ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv6_loopback ... ok
[INFO] [stdout] test server::tests::test_server_addr_ipv6_wildcard ... ok
[INFO] [stdout] test server::tests::test_server_handle_drop_stops ... ok
[INFO] [stdout] test server::tests::test_server_handle_port ... ok
[INFO] [stdout] test server::tests::test_server_handle_stop ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_query_string ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_static_asset ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_xml_file ... ok
[INFO] [stdout] test server::tests::test_try_bind_auto_finds_available_port ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_count_char_basic ... ok
[INFO] [stdout] test server::tests::test_try_bind_auto_skips_busy_port ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_exact_file ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_not_matching ... ok
[INFO] [stdout] test server::tests::test_resolve_file_path_search_index_json ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_with_trailing_whitespace ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_end_matching ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_no_cname_for_github_io ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_body_shortcode_preserves_span ... ok
[INFO] [stdout] test server::tests::test_server_handle_stop_is_idempotent ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_writes_cname_for_custom_domain ... ok
[INFO] [stdout] test deploy::tests::test_deploy_github_pages_writes_nojekyll ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_backtick ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_fenced_code_at_start_of_file ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_body_close ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_closing_backticks ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_end_tag_not_found ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_unclosed_paren ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_not_enough ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_escaped_backslash_in_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_not_fence_char ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_invalid_shortcode_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_end_tag ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_hugo_closing_tag_hint ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_indented_fence_up_to_3_spaces ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_inline_code_with_double_backtick ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_is_line_start ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_line_tracking_with_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_no_shortcodes_returns_empty ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_boolean ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_empty ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_escaped_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_float ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_integer ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_missing_equals ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_detect_fence_start_tilde ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_find_inline_close ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_hugo_args_to_seite ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_missing_value ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_hugo_args_hint_shows_corrected_form ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_no_parens ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_multiple_mixed ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_args_negative_integer ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_hyphen_underscore_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_invalid_name_chars ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_inline_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_call_empty_name ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_line_number_tracking ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_multiple_shortcodes ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_inline_code_ignored ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_tilde_fenced_block_ignored ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcode_in_fenced_code_block_ignored ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_invalid ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_negative_float ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_shortcode_after_fenced_code_block ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_shortcodes_legacy_error_includes_hint ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_boolean_boundary ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_parse_value_unclosed_string ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_shortcode_preserves_span ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_skip_to_eol ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_error_unclosed_body_shortcode ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_stray_end_tag_skipped ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_tilde_fence_at_start_of_file ... ok
[INFO] [stdout] test shortcodes::parser::tests::test_unclosed_body_with_hugo_close_hint ... ok
[INFO] [stdout] test mcp::tools::tests::test_call_non_object_and_null_arguments ... ok
[INFO] [stdout] test shortcodes::tests::test_empty_registry ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_callout_body_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_diagnostic_reports_every_unknown_with_did_you_mean ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_figure_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_diagnostic_recovers_after_syntax_errors ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_preserves_code_blocks ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_no_shortcodes_returns_input ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_gist_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_multiple_shortcodes ... ok
[INFO] [stdout] test shortcodes::tests::test_shortcode_value_to_tera_value ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_preserves_surrounding_content ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_contact_form_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_title_arg_overrides_i18n ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_vimeo_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_uses_i18n_translations ... ok
[INFO] [stdout] test shortcodes::tests::test_registry_is_not_empty ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_unknown_shortcode_errors ... ok
[INFO] [stdout] test telemetry::tests::duration_bucket_is_coarse ... ok
[INFO] [stdout] test telemetry::tests::endpoint_prefers_runtime_then_compiled_then_default ... ok
[INFO] [stdout] test telemetry::tests::is_enabled_maps_decisions ... ok
[INFO] [stdout] test telemetry::tests::parse_flag_recognizes_values ... ok
[INFO] [stdout] test shortcodes::tests::test_shortcode_with_page_context ... ok
[INFO] [stdout] test telemetry::tests::resolve_precedence ... ok
[INFO] [stdout] test telemetry::tests::status_line_reports_state ... ok
[INFO] [stdout] test telemetry::tests::command_payload_has_only_allowed_fields ... ok
[INFO] [stdout] test telemetry::tests::config_roundtrips_through_a_file ... ok
[INFO] [stdout] test templates::tests::test_default_base_is_non_empty ... ok
[INFO] [stdout] test templates::tests::test_embedded_template_names_all_resolve ... ok
[INFO] [stdout] test templates::tests::test_get_default_template_unknown_returns_none ... ok
[INFO] [stdout] test templates::tests::test_get_default_template_known_names ... ok
[INFO] [stdout] test mcp::tools::templates::tests::test_list_templates_defaults_and_bad_args ... ok
[INFO] [stdout] test shortcodes::tests::test_expand_youtube_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_user_defined_shortcode ... ok
[INFO] [stdout] test shortcodes::tests::test_callout_falls_back_to_english_without_i18n ... ok
[INFO] [stdout] test mcp::tools::tests::test_build_reports_template_fallback_and_broken_links ... ok
[INFO] [stdout] test shortcodes::tests::test_user_shortcode_non_html_skipped ... ok
[INFO] [stdout] test templates::tests::test_render_error_diagnostic_names_source_template_and_hint ... ok
[INFO] [stdout] test templates::tests::test_template_parse_diagnostics_reports_each_file_with_location ... ok
[INFO] [stdout] test templates::tests::test_unknown_variable_hint_top_level ... ok
[INFO] [stdout] test themes::tests::test_all_bundled_theme_names ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_descriptions ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_non_empty_html ... ok
[INFO] [stdout] test themes::tests::test_all_themes_have_unique_names ... ok
[INFO] [stdout] test themes::tests::test_active_theme_detection ... ok
[INFO] [stdout] test themes::tests::test_apply_theme_rejects_invalid_name ... ok
[INFO] [stdout] test themes::tests::test_apply_theme_backs_up_custom_base ... ok
[INFO] [stdout] test themes::tests::test_apply_theme_unknown_lists_available ... ok
[INFO] [stdout] test themes::tests::test_by_name_found ... ok
[INFO] [stdout] test themes::tests::test_by_name_not_found ... ok
[INFO] [stdout] test templates::tests::test_all_default_templates_extend_base ... ok
[INFO] [stdout] test templates::tests::test_load_templates_from_real_dir ... ok
[INFO] [stdout] test themes::tests::test_installed_by_name_not_found ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_changelog_collection ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_empty_dir ... ok
[INFO] [stdout] test themes::tests::test_installed_by_name_rejects_path_escape ... ok
[INFO] [stdout] test themes::tests::test_installed_theme_no_description ... ok
[INFO] [stdout] test shortcodes::tests::test_user_shortcode_override ... ok
[INFO] [stdout] test themes::tests::test_installed_by_name_found ... ok
[INFO] [stdout] test themes::tests::test_is_valid_theme_name ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_skips_non_tera ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description_deep_in_file ... ok
[INFO] [stdout] test themes::tests::test_parse_theme_description_missing ... ok
[INFO] [stdout] test update_check::tests::test_cache_path_returns_some ... ok
[INFO] [stdout] test update_check::tests::test_cache_roundtrip ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_with_themes ... ok
[INFO] [stdout] test themes::tests::test_installed_themes_sorted ... ok
[INFO] [stdout] test update_check::tests::test_should_check_exactly_at_boundary ... ok
[INFO] [stdout] test update_check::tests::test_should_check_future_timestamp ... ok
[INFO] [stdout] test update_check::tests::test_load_cache_invalid_json ... ok
[INFO] [stdout] test update_check::tests::test_should_check_stale_cache ... ok
[INFO] [stdout] test update_check::tests::test_should_check_invalid_timestamp ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer_invalid_input ... ok
[INFO] [stdout] test update_check::tests::test_should_run_only_on_terminal_without_opt_out ... ok
[INFO] [stdout] test update_check::tests::test_version_is_newer_major_bump ... ok
[INFO] [stdout] test workspace::server::tests::test_generate_workspace_index_contains_sites ... ok
[INFO] [stdout] test update_check::tests::test_should_check_no_cache ... ok
[INFO] [stdout] test update_check::tests::test_write_cache_creates_parent_dirs ... ok
[INFO] [stdout] test themes::tests::test_apply_theme_writes_configured_dir_without_backup_for_known_theme ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_webp ... ok
[INFO] [stdout] test update_check::tests::test_load_cache_missing_file ... ok
[INFO] [stdout] test workspace::server::tests::test_port_is_available_detects_bound_port ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_unknown ... ok
[INFO] [stdout] test workspace::server::tests::test_guess_mime_html ... ok
[INFO] [stdout] test workspace::server::tests::test_port_is_available_high_port ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_root ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_clean_url ... ok
[INFO] [stdout] test workspace::server::tests::test_resolve_file_path_not_found ... ok
[INFO] [stdout] test workspace::server::tests::test_route_request_matches_prefix ... ok
[INFO] [stdout] test workspace::server::tests::test_route_request_root_returns_none ... ok
[INFO] [stdout] test workspace::tests::test_find_site_not_found ... ok
[INFO] [stdout] test workspace::tests::test_cross_site_section_defaults ... ok
[INFO] [stdout] test workspace::tests::test_find_workspace_root_found ... ok
[INFO] [stdout] test workspace::tests::test_load_nonexistent_file ... ok
[INFO] [stdout] test workspace::tests::test_find_workspace_root_not_found ... ok
[INFO] [stdout] test workspace::tests::test_load_invalid_toml ... ok
[INFO] [stdout] test workspace::tests::test_find_site_found ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_all ... ok
[INFO] [stdout] test workspace::tests::test_load_site_in_workspace_no_overrides ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_filtered ... ok
[INFO] [stdout] test workspace::tests::test_load_site_in_workspace_applies_overrides ... ok
[INFO] [stdout] test workspace::tests::test_load_valid_workspace ... ok
[INFO] [stdout] test workspace::tests::test_sites_to_operate_unknown_filter ... ok
[INFO] [stdout] test workspace::tests::test_validate_duplicate_names ... ok
[INFO] [stdout] test workspace::tests::test_validate_empty_sites ... ok
[INFO] [stdout] test workspace::tests::test_validate_missing_seite_toml ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_trust_collection ... ok
[INFO] [stdout] test update_check::tests::test_should_check_fresh_cache ... ok
[INFO] [stdout] test templates::tests::test_load_templates_no_dir ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_warnings_clean_dir_has_none ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_collections ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_warnings_reports_parse_fallback ... ok
[INFO] [stdout] test templates::tests::test_load_templates_with_roadmap_collection ... ok
[INFO] [stdout] test mcp::tools::tests::test_check_reports_errors_with_location_and_ok_flag ... ok
[INFO] [stdout] test mcp::tools::page::tests::test_get_page_and_update_frontmatter_on_subdomain_collection ... ok
[INFO] [stdout] test build::tests::test_incremental_content_build_updates_output_in_place ... ok
[INFO] [stdout] test mcp::tools::tests::test_every_output_schema_validates_real_outputs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1588 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.09s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/seite/fba690671aaf46d3/out/seite-fba690671aaf46d3)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration/main.rs (/opt/rustwide/target/debug/build/seite/9b7c4d6f3d7d9759/out/integration-9b7c4d6f3d7d9759)
[INFO] [stdout] 
[INFO] [stdout] running 512 tests
[INFO] [stdout] test agent::test_agent_with_codex_not_on_path_errors_clearly ... ok
[INFO] [stdout] test agent::test_agent_with_bogus_harness_errors_with_suggestion ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_codex_once_uses_workspace_write_sandbox_and_context ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_once_harness_failure_fails_seite ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_claude_interactive_session_argv ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_harness_selected_by_seite_agent_env ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_claude_without_mcp_json_omits_mcp_config ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_interactive_harness_exit_is_not_an_error ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_claude_once_argv_is_restricted_and_uses_mcp_config ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_claude_prompt_streams_and_resumes_the_session ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_cursor_once_auto_approve_only_with_yes ... ok
[INFO] [stdout] test agent::fake_harness::test_agent_opencode_argv_once_and_interactive ... ok
[INFO] [stdout] test assets::test_build_no_image_processing_without_config ... ok
[INFO] [stdout] test assets::test_build_copies_public_files_to_root ... ok
[INFO] [stdout] test assets::test_build_fingerprint_writes_manifest ... ok
[INFO] [stdout] test assets::test_build_with_minify_and_fingerprint ... ok
[INFO] [stdout] test assets::test_build_with_images_config ... ok
[INFO] [stdout] test assets::test_build_minify_css ... ok
[INFO] [stdout] test assets::test_build_generated_files_overwrite_public ... ok
[INFO] [stdout] test build::test_build_contact_form_netlify ... ok
[INFO] [stdout] test assets::test_build_image_skip_larger_than_original ... ok
[INFO] [stdout] test assets::test_build_image_resize_and_webp ... ok
[INFO] [stdout] test assets::test_build_image_srcset_in_html ... ok
[INFO] [stdout] test assets::test_build_with_public_dir ... ok
[INFO] [stdout] test assets::test_build_image_lazy_loading ... ok
[INFO] [stdout] test assets::test_build_image_picture_element_webp ... ok
[INFO] [stdout] test assets::test_build_no_minify_by_default ... ok
[INFO] [stdout] test build::test_build_contact_form_without_config_shows_error ... ok
[INFO] [stdout] test build::test_build_excerpt_first_paragraph ... ok
[INFO] [stdout] test build::test_build_data_conflict_errors ... ok
[INFO] [stdout] test build::test_build_data_parse_error ... ok
[INFO] [stdout] test build::test_build_data_footer_in_theme ... ok
[INFO] [stdout] test build::test_build_excerpt_description_takes_priority ... ok
[INFO] [stdout] test build::test_build_contact_form_hubspot ... ok
[INFO] [stdout] test build::test_build_contact_form_web3forms ... ok
[INFO] [stdout] test build::test_build_generates_404 ... ok
[INFO] [stdout] test build::test_build_contact_form_formspree ... ok
[INFO] [stdout] test build::test_build_docs_weight_mixed_with_unweighted ... ok
[INFO] [stdout] test build::test_build_contact_form_typeform ... ok
[INFO] [stdout] test build::test_build_excerpt_more_marker ... ok
[INFO] [stdout] test build::test_build_data_nav_in_theme ... ok
[INFO] [stdout] test build::test_build_contact_form_with_label_overrides ... ok
[INFO] [stdout] test build::test_build_math_disabled_no_rendering ... ok
[INFO] [stdout] test build::test_build_mermaid_enabled_renders_diagram ... ok
[INFO] [stdout] test build::test_build_generates_404_page ... ok
[INFO] [stdout] test build::test_build_generates_llms_txt ... ok
[INFO] [stdout] test build::test_build_mermaid_disabled_plain_code ... ok
[INFO] [stdout] test build::test_build_generates_robots_txt ... ok
[INFO] [stdout] test build::test_build_no_nudge_when_current ... ok
[INFO] [stdout] test build::test_build_docs_sorted_by_weight ... ok
[INFO] [stdout] test build::test_build_no_data_dir_succeeds ... ok
[INFO] [stdout] test build::test_build_produces_output ... ok
[INFO] [stdout] test build::test_build_math_enabled_renders_katex ... ok
[INFO] [stdout] test build::test_build_outputs_markdown_alongside_html ... ok
[INFO] [stdout] test build::test_build_toc_in_doc_template ... ok
[INFO] [stdout] test build::test_build_nudges_when_outdated ... ok
[INFO] [stdout] test build::test_build_toc_headings_have_ids ... ok
[INFO] [stdout] test build::test_build_with_docs ... ok
[INFO] [stdout] test build::test_build_with_analytics_cookie_consent ... ok
[INFO] [stdout] test build::test_build_with_google_analytics ... ok
[INFO] [stdout] test build::test_build_with_toml_data_file ... ok
[INFO] [stdout] test build::test_build_with_nested_data_files ... ok
[INFO] [stdout] test build::test_build_with_umami_custom_script_url ... ok
[INFO] [stdout] test build::test_build_with_gtm_has_noscript ... ok
[INFO] [stdout] test build::test_build_with_plausible_analytics ... ok
[INFO] [stdout] test build::test_build_excludes_drafts_by_default ... ok
[INFO] [stdout] test build::test_build_with_json_data_file ... ok
[INFO] [stdout] test build::test_build_reading_time_in_index ... ok
[INFO] [stdout] test build::test_build_with_data_files ... ok
[INFO] [stdout] test build::test_build_with_yaml_data_file ... ok
[INFO] [stdout] test build::test_build_with_google_analytics_direct ... ok
[INFO] [stdout] test build::test_build_with_all_collection_types ... ok
[INFO] [stdout] test build::test_build_without_analytics_no_injection ... ok
[INFO] [stdout] test assets::test_build_image_avif_generation ... ok
[INFO] [stdout] test check::test_build_render_error_hint_walks_nested_fields ... ok
[INFO] [stdout] test build::test_build_reading_time_in_html ... ok
[INFO] [stdout] test check::test_build_hugo_closing_tag_hint ... ok
[INFO] [stdout] test check::test_check_hook_rejects_unknown_agent_and_json ... ok
[INFO] [stdout] test build::test_nested_docs ... ok
[INFO] [stdout] test check::test_build_render_error_names_source_and_template ... ok
[INFO] [stdout] test assets::test_build_image_avif_picture_element ... ok
[INFO] [stdout] test check::test_check_reports_semantically_invalid_config ... ok
[INFO] [stdout] test check::test_check_hook_loop_guards_let_the_agent_stop ... ok
[INFO] [stdout] test check::test_build_broken_user_shortcode_template_is_located ... ok
[INFO] [stdout] test check::test_check_wrong_shaped_config_sections_are_errors_not_unknown_keys ... ok
[INFO] [stdout] test check::test_build_warns_on_unknown_config_key_and_still_succeeds ... ok
[INFO] [stdout] test check::test_build_reports_all_broken_files_in_one_pass ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_frontmatter_error_has_no_empty_cause ... ok
[INFO] [stdout] test check::test_check_strict_reports_subdomain_broken_links ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_json_failure_reports_error ... ok
[INFO] [stdout] test check::test_check_hook_is_silent_on_clean_site_and_outside_a_site ... ok
[INFO] [stdout] test cli_agent_friendly::test_completions_bash_outputs_script ... ok
[INFO] [stdout] test check::test_build_shortcode_render_error_points_at_the_call ... ok
[INFO] [stdout] test cli_agent_friendly::test_completions_stdout_is_clean ... ok
[INFO] [stdout] test cli_agent_friendly::test_completions_zsh_outputs_script ... ok
[INFO] [stdout] test check::test_data_file_and_same_named_directory_conflict_is_reported ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_json_reports_project ... ok
[INFO] [stdout] test cli_agent_friendly::test_completions_fish_outputs_script ... ok
[INFO] [stdout] test check::test_check_json_shape ... ok
[INFO] [stdout] test cli_agent_friendly::test_config_flag_rejects_custom_file_names ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_missing_name_names_argument ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_json_reports_counts ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_tree_output_is_aligned ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_rejects_unknown_collection ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_non_interactive_with_minimal_flags ... ok
[INFO] [stdout] test cli_agent_friendly::test_init_missing_deploy_target_names_flag ... ok
[INFO] [stdout] test cli_agent_friendly::test_new_json_returns_path ... ok
[INFO] [stdout] test cli_agent_friendly::test_serve_json_is_rejected ... ok
[INFO] [stdout] test check::test_check_reports_every_shortcode_problem_in_a_file ... ok
[INFO] [stdout] test cli_agent_friendly::test_upgrade_check_json_reports_pending_changes ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_update_check_suppressed_under_ci ... ok
[INFO] [stdout] test cli_agent_friendly::test_config_flag_runs_in_config_directory ... ok
[INFO] [stdout] test cli_agent_friendly::test_serve_no_repl_stays_up ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_without_verbose_prints_no_timings ... ok
[INFO] [stdout] test collections::test_build_changelog_collection ... ok
[INFO] [stdout] test check::test_check_strict_resolves_content_root_md_links ... ok
[INFO] [stdout] test cli_agent_friendly::test_serve_stays_up_when_stdin_closed ... ok
[INFO] [stdout] test check::test_check_clean_site_exits_zero_without_touching_dist ... ok
[INFO] [stdout] test collections::test_build_roadmap_collection ... ok
[INFO] [stdout] test cli_agent_friendly::test_serve_bakes_actual_port_into_absolute_urls ... ok
[INFO] [stdout] test collections::test_build_changelog_and_roadmap_together ... ok
[INFO] [stdout] test collections::test_collection_add_docs ... ok
[INFO] [stdout] test check::test_check_strict_fails_on_warnings ... ok
[INFO] [stdout] test collections::test_collection_add_outside_project_fails ... ok
[INFO] [stdout] test collections::test_collection_add_changelog ... ok
[INFO] [stdout] test collections::test_collection_add_pages ... ok
[INFO] [stdout] test check::test_check_template_parse_error_names_template_file_and_line ... ok
[INFO] [stdout] test collections::test_collection_add_roadmap ... ok
[INFO] [stdout] test collections::test_collection_add_duplicate_fails ... ok
[INFO] [stdout] test collections::test_collection_add_unknown_preset_fails ... ok
[INFO] [stdout] test collections::test_build_without_subdomain_no_dist_subdomains ... ok
[INFO] [stdout] test cli_agent_friendly::test_build_json_keeps_stderr_quiet ... ok
[INFO] [stdout] test collections::test_collection_list ... ok
[INFO] [stdout] test collections::test_build_with_subdomain_collection ... ok
[INFO] [stdout] test collections::test_collection_list_shows_properties ... ok
[INFO] [stdout] test collections::test_collection_list_shows_table_headers ... ok
[INFO] [stdout] test collections::test_build_subdomain_root_urls ... ok
[INFO] [stdout] test collections::test_changelog_tags_render ... ok
[INFO] [stdout] test collections::test_collection_add_then_build ... ok
[INFO] [stdout] test collections::test_init_with_changelog_collection ... ok
[INFO] [stdout] test collections::test_collection_index_redirect_to_external_url ... ok
[INFO] [stdout] test collections::test_build_subdomain_correct_base_url ... ok
[INFO] [stdout] test collections::test_collection_index_page_content_on_collection_index ... ok
[INFO] [stdout] test collections::test_collection_index_redirect_to ... ok
[INFO] [stdout] test collections::test_changelog_index_uses_collection_template ... ok
[INFO] [stdout] test collections::test_init_with_roadmap_collection ... ok
[INFO] [stdout] test collections::test_new_roadmap_item ... ok
[INFO] [stdout] test collections::test_build_subdomain_has_own_sitemap_rss ... ok
[INFO] [stdout] test collections::test_docs_index_uses_docs_index_template ... ok
[INFO] [stdout] test collections::test_build_subdomain_explicit_base_url_override ... ok
[INFO] [stdout] test collections::test_subdomain_base_url_without_subdomain_fails ... ok
[INFO] [stdout] test collections::test_new_changelog_entry ... ok
[INFO] [stdout] test collections::test_collection_index_redirect_to_with_i18n ... ok
[INFO] [stdout] test collections::test_subdomain_config_validation_no_duplicate ... ok
[INFO] [stdout] test collections::test_collection_index_page_excluded_from_items ... ok
[INFO] [stdout] test collections::test_paginated_docs_nav_fallback_for_missing_lang ... ok
[INFO] [stdout] test contact::test_contact_remove ... ok
[INFO] [stdout] test check::test_check_hook_blocks_on_errors_per_protocol ... ok
[INFO] [stdout] test contact::test_contact_remove_when_not_configured ... ok
[INFO] [stdout] test contact::test_contact_setup_creates_contact_page ... ok
[INFO] [stdout] test contact::test_contact_setup_invalid_provider ... ok
[INFO] [stdout] test contact::test_contact_setup_formspree_then_status ... ok
[INFO] [stdout] test collections::test_docs_collection_index_gets_sidebar_nav ... ok
[INFO] [stdout] test contact::test_contact_setup_netlify ... ok
[INFO] [stdout] test contact::test_contact_setup_netlify_noninteractive ... ok
[INFO] [stdout] test contact::test_contact_setup_no_contact_page_without_pages_collection ... ok
[INFO] [stdout] test contact::test_contact_setup_outside_project_fails ... ok
[INFO] [stdout] test contact::test_contact_setup_noninteractive ... ok
[INFO] [stdout] test contact::test_contact_setup_creates_contact_page_with_shortcode ... ok
[INFO] [stdout] test contact::test_contact_setup_formspree_noninteractive ... ok
[INFO] [stdout] test contact::test_contact_setup_web3forms ... ok
[INFO] [stdout] test collections::test_roadmap_grouped_by_status ... ok
[INFO] [stdout] test collections::test_docs_nav_fallback_for_missing_lang_in_cache ... ok
[INFO] [stdout] test contact::test_contact_setup_over_existing_config_needs_yes ... ok
[INFO] [stdout] test contact::test_contact_setup_with_redirect_and_subject ... ok
[INFO] [stdout] test contact::test_contact_setup_web3forms_noninteractive ... ok
[INFO] [stdout] test contact::test_contact_setup_then_remove_then_status ... ok
[INFO] [stdout] test contact::test_contact_status_no_config ... ok
[INFO] [stdout] test collections::test_subdomain_redirect_to ... ok
[INFO] [stdout] test collections::test_paginated_collection_index_page_on_first_page ... ok
[INFO] [stdout] test collections::test_subdomain_root_uses_collection_index_page ... ok
[INFO] [stdout] test contact::test_contact_status_with_config ... ok
[INFO] [stdout] test collections::test_roadmap_weight_ordering ... ok
[INFO] [stdout] test contact::test_contact_status_shows_redirect_and_subject ... ok
[INFO] [stdout] test collections::test_paginated_collection_nav_passed_to_template ... ok
[INFO] [stdout] test collections::test_subdomain_redirect_to_with_relative_url ... ok
[INFO] [stdout] test content::test_build_accessibility_aria_search ... ok
[INFO] [stdout] test content::test_build_custom_template_with_blocks ... ok
[INFO] [stdout] test content::test_build_extra_frontmatter_in_template ... ok
[INFO] [stdout] test collections::test_subdomain_root_has_sidebar_nav ... ok
[INFO] [stdout] test content::test_build_malformed_frontmatter_errors ... ok
[INFO] [stdout] test content::test_build_no_listed_collections ... ok
[INFO] [stdout] test content::test_build_accessibility_skip_link ... ok
[INFO] [stdout] test content::test_build_markdown_output_matches_source ... ok
[INFO] [stdout] test context_rules::test_init_agents_md_has_theme_builder_pointer ... ok
[INFO] [stdout] test context_rules::test_init_creates_rules_files ... ok
[INFO] [stdout] test content::test_build_custom_template_override ... ok
[INFO] [stdout] test context_rules::test_init_creates_theme_builder_skill_without_pages ... ok
[INFO] [stdout] test content::test_build_empty_content_body ... ok
[INFO] [stdout] test context_rules::test_init_creates_theme_builder_skill ... ok
[INFO] [stdout] test deploy::test_deploy_domain_cloudflare ... ok
[INFO] [stdout] test context_rules::test_upgrade_updates_outdated_theme_builder_skill ... ok
[INFO] [stdout] test context_rules::test_init_rules_no_trust_without_trust_collection ... ok
[INFO] [stdout] test context_rules::test_init_lean_agents_md ... ok
[INFO] [stdout] test content::test_build_homepage_without_index_page ... ok
[INFO] [stdout] test context_rules::test_upgrade_adds_theme_builder_skill ... ok
[INFO] [stdout] test deploy::test_deploy_domain_netlify ... ok
[INFO] [stdout] test content::test_build_detects_url_collision ... ok
[INFO] [stdout] test collections::test_subdomain_root_without_collection_index_still_works ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_base_url_override_with_cloudflare ... ok
[INFO] [stdout] test deploy::test_deploy_domain_updates_base_url ... ok
[INFO] [stdout] test deploy::test_deploy_domain_shows_dns_instructions ... ok
[INFO] [stdout] test content::test_index_shows_listed_only ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_cloudflare_preview_mode ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_cloudflare_shows_auth_check ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_cloudflare_shows_project_check ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_netlify_production_mode ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_github_pages_shows_branch ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_cloudflare ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_github_pages ... ok
[INFO] [stdout] test content::test_build_generates_tag_pages ... ok
[INFO] [stdout] test content::test_build_special_characters_in_title ... ok
[INFO] [stdout] test content::test_build_tag_pages_multilingual ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_netlify_shows_auth_check ... ok
[INFO] [stdout] test content::test_build_warns_missing_content_dir ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_no_commit_skip_checks_combined ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_netlify_shows_site_check ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_shows_output_dir ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_netlify ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_preview_mode ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_no_commit_github_pages ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_no_commit_cloudflare ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_shows_preflight_checks ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_no_commit_netlify ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_no_commit ... ok
[INFO] [stdout] test deploy::test_deploy_invalid_target_fails ... ok
[INFO] [stdout] test content::test_build_tag_index_page ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_github_pages_shows_nojekyll ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_skip_checks_netlify ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_skip_checks_github_pages ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_warns_localhost_base_url ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_with_base_url_override ... ok
[INFO] [stdout] test check::test_build_render_error_in_site_level_templates_names_the_template ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_skip_checks_cloudflare ... ok
[INFO] [stdout] test deploy::test_deploy_unknown_target ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_with_target_override ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_shows_subdomains ... ok
[INFO] [stdout] test deploy::test_deploy_outside_project_fails ... ok
[INFO] [stdout] test harness_snapshots::test_harness_snapshot_init_all_agents ... ok
[INFO] [stdout] test harness_snapshots::test_harness_snapshot_init_each_agent_alone ... ok
[INFO] [stdout] test deploy::test_deploy_skip_checks_bypasses_preflight ... ok
[INFO] [stdout] test content::test_build_homepage_with_index_page ... ok
[INFO] [stdout] test deploy::test_deploy_without_tty_refuses_failed_preflight_before_any_side_effect ... ok
[INFO] [stdout] test harness_snapshots::test_harness_snapshot_upgrade_legacy_claude_site ... ok
[INFO] [stdout] test feeds::test_rss_feed_valid ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_preview ... ok
[INFO] [stdout] test deploy::test_deploy_dry_run_skip_checks ... ok
[INFO] [stdout] test feeds::test_redirects_from_aliases ... ok
[INFO] [stdout] test feeds::test_rss_excludes_docs ... ok
[INFO] [stdout] test feeds::test_no_redirects_without_aliases ... ok
[INFO] [stdout] test i18n::test_build_ui_strings_override ... ok
[INFO] [stdout] test feeds::test_atom_autodiscovery_in_html ... ok
[INFO] [stdout] test feeds::test_build_generates_sitemap ... ok
[INFO] [stdout] test i18n::test_build_default_language_in_context ... ok
[INFO] [stdout] test feeds::test_atom_feed_valid ... ok
[INFO] [stdout] test i18n::test_build_ui_strings_default ... ok
[INFO] [stdout] test i18n::test_i18n_backward_compat_single_language ... ok
[INFO] [stdout] test i18n::test_build_nav_links_with_lang_prefix ... ok
[INFO] [stdout] test deploy::test_deploy_without_tty_refuses_localhost_base_url_before_side_effects ... ok
[INFO] [stdout] test i18n::test_new_with_invalid_lang ... ok
[INFO] [stdout] test i18n::test_new_with_lang_flag ... ok
[INFO] [stdout] test init::test_init_agents_default_writes_all_harness_files ... ok
[INFO] [stdout] test init::test_init_agents_md_mentions_seite_workflow_skill ... ok
[INFO] [stdout] test feeds::test_sitemap_valid ... ok
[INFO] [stdout] test init::test_init_agents_subset ... ok
[INFO] [stdout] test init::test_init_agents_unknown_errors ... ok
[INFO] [stdout] test init::test_init_creates_landing_page_skill ... ok
[INFO] [stdout] test init::test_init_creates_mcp_server_config ... ok
[INFO] [stdout] test i18n::test_i18n_discovery_files ... ok
[INFO] [stdout] test init::test_init_creates_project_structure ... ok
[INFO] [stdout] test i18n::test_i18n_data_language_maps_resolve_per_language ... ok
[INFO] [stdout] test init::test_init_fails_if_dir_exists ... ok
[INFO] [stdout] test init::test_init_creates_page_meta ... ok
[INFO] [stdout] test init::test_init_gitignore_includes_dist_subdomains ... ok
[INFO] [stdout] test init::test_init_creates_public_directory ... ok
[INFO] [stdout] test init::test_init_cloudflare_creates_workflow ... ok
[INFO] [stdout] test init::test_init_github_pages_creates_workflow ... ok
[INFO] [stdout] test feeds::test_atom_feed_excludes_docs ... ok
[INFO] [stdout] test init::test_init_netlify_target ... ok
[INFO] [stdout] test init::test_init_no_landing_page_skill_without_pages ... ok
[INFO] [stdout] test init::test_init_creates_data_directory ... ok
[INFO] [stdout] test init::test_init_settings_json_approves_mcp_without_mcp_servers ... ok
[INFO] [stdout] test init::test_init_includes_private_collections_rule ... ok
[INFO] [stdout] test init::test_init_with_contact_provider ... ok
[INFO] [stdout] test init::test_init_uses_agents_md_as_canonical_instructions ... ok
[INFO] [stdout] test init::test_init_with_docs ... ok
[INFO] [stdout] test i18n::test_i18n_data_plain_values_render_verbatim ... ok
[INFO] [stdout] test i18n::test_i18n_data_partial_language_map_warns ... ok
[INFO] [stdout] test i18n::test_build_html_lang_uses_current_language ... ok
[INFO] [stdout] test i18n::test_i18n_translated_pages_urls ... ok
[INFO] [stdout] test i18n::test_i18n_data_trust_item_resolves_cert_scope_per_language ... ok
[INFO] [stdout] test i18n::test_i18n_per_language_index ... ok
[INFO] [stdout] test i18n::test_i18n_sitemap_alternates ... ok
[INFO] [stdout] test links::test_build_checks_links_in_raw_html_of_any_quoting_and_case ... ok
[INFO] [stdout] test i18n::test_i18n_per_language_rss ... ok
[INFO] [stdout] test links::test_build_leaves_scratch_dirs_of_running_builds_alone ... ok
[INFO] [stdout] test i18n::test_build_lang_prefix_in_context ... ok
[INFO] [stdout] test links::test_build_cleans_leftover_staging_dir ... ok
[INFO] [stdout] test links::test_build_broken_link_reports_source_path_and_line ... ok
[INFO] [stdout] test links::test_build_link_check_reports_broken_target ... ok
[INFO] [stdout] test links::test_build_into_symlinked_output_dir_replaces_contents_in_place ... ok
[INFO] [stdout] test links::test_build_link_check_passes_with_valid_links ... ok
[INFO] [stdout] test links::test_build_reference_link_at_end_of_file_is_located ... ok
[INFO] [stdout] test links::test_build_link_check_strict_with_cross_collection_links ... ok
[INFO] [stdout] test links::test_build_link_check_strict_fails_on_broken_links ... ok
[INFO] [stdout] test links::test_build_rewrites_md_links_with_base_path ... ok
[INFO] [stdout] test mcp::test_mcp_apply_theme_rejects_path_traversal ... ok
[INFO] [stdout] test links::test_build_link_checker_accepts_public_files ... ok
[INFO] [stdout] test links::test_build_strict_names_template_for_template_links ... ok
[INFO] [stdout] test links::test_build_failure_keeps_previous_output ... ok
[INFO] [stdout] test links::test_build_json_broken_links_include_source_and_line ... ok
[INFO] [stdout] test links::test_build_md_links_across_subdomains ... ok
[INFO] [stdout] test links::test_build_rewrites_relative_md_links ... ok
[INFO] [stdout] test mcp::test_mcp_config_exposes_analytics ... ok
[INFO] [stdout] test mcp::test_mcp_docs_include_analytics ... ok
[INFO] [stdout] test mcp::test_mcp_initialize ... ok
[INFO] [stdout] test mcp::test_mcp_finds_project_root_from_subdirectory ... ok
[INFO] [stdout] test mcp::test_mcp_initialize_2024_11_05_omits_newer_fields ... ok
[INFO] [stdout] test mcp::test_mcp_get_page_nested_doc ... ok
[INFO] [stdout] test mcp::test_mcp_parse_error ... ok
[INFO] [stdout] test mcp::test_mcp_modern_discover_and_stateless_request ... ok
[INFO] [stdout] test mcp::test_mcp_full_session ... ok
[INFO] [stdout] test mcp::test_mcp_ping ... ok
[INFO] [stdout] test mcp::test_mcp_read_config_outside_project ... ok
[INFO] [stdout] test mcp::test_mcp_read_config ... ok
[INFO] [stdout] test mcp::test_mcp_read_content_outside_project ... ok
[INFO] [stdout] test links::test_build_link_check_warns_broken_links ... ok
[INFO] [stdout] test mcp::test_mcp_read_content_collection ... ok
[INFO] [stdout] test mcp::test_mcp_create_content_no_overwrite ... ok
[INFO] [stdout] test mcp::test_mcp_read_content_unknown_collection ... ok
[INFO] [stdout] test mcp::test_mcp_read_doc_unknown_slug ... ok
[INFO] [stdout] test mcp::test_mcp_read_docs_index ... ok
[INFO] [stdout] test mcp::test_mcp_read_doc_page ... ok
[INFO] [stdout] test links::test_build_subdomain_reverse_links ... ok
[INFO] [stdout] test mcp::test_mcp_read_missing_uri_param ... ok
[INFO] [stdout] test mcp::test_mcp_read_themes_outside_project ... ok
[INFO] [stdout] test mcp::test_mcp_read_unknown_resource ... ok
[INFO] [stdout] test mcp::test_mcp_read_themes ... ok
[INFO] [stdout] test mcp::test_mcp_resources_list_without_project ... ok
[INFO] [stdout] test mcp::test_mcp_initialize_negotiates_2025_06_18_and_gates_tool_fields ... ok
[INFO] [stdout] test mcp::test_mcp_read_mcp_config ... ok
[INFO] [stdout] test mcp::test_mcp_resources_list_with_trust ... ok
[INFO] [stdout] test mcp::test_mcp_resources_list_with_project ... ok
[INFO] [stdout] test mcp::test_mcp_build_reports_template_fallback_warning ... ok
[INFO] [stdout] test mcp::test_mcp_read_content_overview ... ok
[INFO] [stdout] test mcp::test_mcp_tool_errors_use_is_error_and_surface_config_errors ... ok
[INFO] [stdout] test mcp::test_mcp_tool_lookup_docs ... ok
[INFO] [stdout] test mcp::test_mcp_tool_apply_theme ... ok
[INFO] [stdout] test mcp::test_mcp_tool_create_content ... ok
[INFO] [stdout] test links::test_build_strict_json_includes_link_diagnostics ... ok
[INFO] [stdout] test links::test_build_subdomain_rewrites_cross_links ... ok
[INFO] [stdout] test mcp::test_mcp_unknown_method ... ok
[INFO] [stdout] test mcp::test_mcp_tools_list ... ok
[INFO] [stdout] test mcp::test_mcp_tool_lookup_docs_search ... ok
[INFO] [stdout] test mcp::test_mcp_read_trust_resource ... ok
[INFO] [stdout] test mcp::test_mcp_tool_unknown_tool ... ok
[INFO] [stdout] test mcp::test_mcp_tool_search ... ok
[INFO] [stdout] test new::test_new_page_creates_file ... ok
[INFO] [stdout] test new::test_new_doc_creates_file ... ok
[INFO] [stdout] test new::test_new_post_with_lang_flag ... ok
[INFO] [stdout] test new::test_new_post_creates_file ... ok
[INFO] [stdout] test new::test_new_refuses_to_overwrite_existing_file ... ok
[INFO] [stdout] test links::test_build_unresolved_md_link_reported_with_line ... ok
[INFO] [stdout] test new::test_new_unknown_collection ... ok
[INFO] [stdout] test links::test_build_subdomain_template_warning_reported_once ... ok
[INFO] [stdout] test self_update::test_self_update_check ... ok
[INFO] [stdout] test links::test_build_prunes_output_of_collection_no_longer_on_a_subdomain ... ok
[INFO] [stdout] test mcp::test_mcp_update_frontmatter_round_trip ... ok
[INFO] [stdout] test self_update::test_self_update_check_when_current ... ok
[INFO] [stdout] test pagination::test_build_no_pagination_without_config ... ok
[INFO] [stdout] test search::test_build_generates_search_index ... ok
[INFO] [stdout] test pagination::test_build_pagination_context_in_html ... ok
[INFO] [stdout] test links::test_build_missing_image_reported_and_strict_fails ... ok
[INFO] [stdout] test search::test_build_outputs_search_index_json ... ok
[INFO] [stdout] test mcp::test_mcp_tool_build ... ok
[INFO] [stdout] test mcp::test_mcp_build_reports_broken_links ... ok
[INFO] [stdout] test pagination::test_build_pagination_generates_pages ... ok
[INFO] [stdout] test search::test_build_search_index_schema ... ok
[INFO] [stdout] test search::test_build_search_index_excludes_drafts ... ok
[INFO] [stdout] test new::test_new_lang_json_url_matches_build ... ok
[INFO] [stdout] test search::test_build_search_index_multilingual ... ok
[INFO] [stdout] test skill::test_skill_install_unknown_name ... ok
[INFO] [stdout] test links::test_build_strict_reports_subdomain_broken_links ... ok
[INFO] [stdout] test shortcodes::test_build_figure_shortcode ... ok
[INFO] [stdout] test skill::test_skill_list_shows_available_packs ... ok
[INFO] [stdout] test shortcodes::test_build_body_shortcode_callout ... ok
[INFO] [stdout] test skill::test_skill_remove_custom_skill ... ok
[INFO] [stdout] test skill::test_skill_list_shows_bundled ... ok
[INFO] [stdout] test shortcodes::test_build_shortcode_in_inline_code_not_expanded ... ok
[INFO] [stdout] test shortcodes::test_build_multiple_shortcodes_in_one_page ... ok
[INFO] [stdout] test skill::test_skill_update_nothing_installed ... ok
[INFO] [stdout] test shortcodes::test_build_gist_shortcode ... ok
[INFO] [stdout] test skill::test_skill_remove_nonexistent ... ok
[INFO] [stdout] test shortcodes::test_build_inline_shortcode_youtube ... ok
[INFO] [stdout] test shortcodes::test_build_shortcode_user_overrides_builtin ... ok
[INFO] [stdout] test shortcodes::test_build_shortcode_raw_body_preserved_in_md ... ok
[INFO] [stdout] test theme::test_theme_apply_bento ... ok
[INFO] [stdout] test shortcodes::test_build_unclosed_body_shortcode_errors ... ok
[INFO] [stdout] test theme::test_theme_apply_brutalist ... ok
[INFO] [stdout] test shortcodes::test_build_shortcode_in_code_block_not_expanded ... ok
[INFO] [stdout] test skill::test_skill_help ... ok
[INFO] [stdout] test shortcodes::test_build_user_defined_shortcode ... ok
[INFO] [stdout] test theme::test_theme_apply_outside_project_fails ... ok
[INFO] [stdout] test shortcodes::test_build_unknown_shortcode_errors ... ok
[INFO] [stdout] test theme::test_theme_apply_unknown_fails ... ok
[INFO] [stdout] test theme::test_theme_create_requires_page_toml ... ok
[INFO] [stdout] test theme::test_theme_apply_dark_revised ... ok
[INFO] [stdout] test theme::test_theme_apply_installed ... ok
[INFO] [stdout] test theme::test_theme_apply_nonexistent_fails ... ok
[INFO] [stdout] test theme::test_theme_export_no_base_html ... ok
[INFO] [stdout] test theme::test_theme_create_json_keeps_child_stdout_off_stdout ... ok
[INFO] [stdout] test theme::test_theme_apply_never_overwrites_an_earlier_backup ... ok
[INFO] [stdout] test theme::test_theme_export ... ok
[INFO] [stdout] test theme::test_theme_export_duplicate_name_fails ... ok
[INFO] [stdout] test theme::test_theme_list ... ok
[INFO] [stdout] test theme::test_theme_list_shows_bundled ... ok
[INFO] [stdout] test theme::test_theme_list_shows_all_bundled ... ok
[INFO] [stdout] test theme::test_theme_install_requires_page_toml ... ok
[INFO] [stdout] test theme::test_theme_export_duplicate_fails ... ok
[INFO] [stdout] test theme::test_theme_export_without_base_html_fails ... ok
[INFO] [stdout] test theme::test_theme_export_then_apply ... ok
[INFO] [stdout] test theme::test_theme_export_with_description_metadata ... ok
[INFO] [stdout] test trust::test_init_with_trust_collection ... ok
[INFO] [stdout] test theme::test_theme_install_from_local_file_url ... ok
[INFO] [stdout] test trust::test_init_without_trust_has_no_trust_config ... ok
[INFO] [stdout] test theme::test_theme_list_shows_installed ... ok
[INFO] [stdout] test theme::test_theme_list_shows_installed_themes ... ok
[INFO] [stdout] test trust::test_access_groups_lists_separate_path_password_groups ... ok
[INFO] [stdout] test trust::test_access_set_password_without_tty_refuses_and_uploads_nothing ... ok
[INFO] [stdout] test theme::test_theme_apply_docs_then_build ... ok
[INFO] [stdout] test theme::test_theme_apply_dark_then_build ... ok
[INFO] [stdout] test trust::test_build_trust_center ... ok
[INFO] [stdout] test theme::test_theme_apply_minimal_then_build ... ok
[INFO] [stdout] test trust::test_trust_embedded_doc_exists ... ok
[INFO] [stdout] test trust::test_trust_from_preset ... ok
[INFO] [stdout] test trust::test_trust_preset_config ... ok
[INFO] [stdout] test trust::test_collection_without_private_appears_in_discovery ... ok
[INFO] [stdout] test trust::test_password_access_builds_path_worker_and_private_assets ... ok
[INFO] [stdout] test upgrade::test_init_writes_stop_hooks_for_selected_agents ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_harness_files_without_clobbering ... ok
[INFO] [stdout] test trust::test_password_access_protects_translated_collection_routes ... ok
[INFO] [stdout] test trust::test_private_collection_without_access_keeps_existing_build_behavior ... ok
[INFO] [stdout] test trust::test_password_access_rejects_custom_worker_conflict ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_landing_page_skill ... ok
[INFO] [stdout] test trust::test_private_collection_logs_excluded_count ... ok
[INFO] [stdout] test trust::test_password_access_does_not_publish_private_image_variants ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_mcp_to_existing_project ... ok
[INFO] [stdout] test trust::test_private_collection_hub_renders_even_when_unlisted ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_mcp_section_before_migrating_to_agents_md ... ok
[INFO] [stdout] test trust::test_private_collection_hub_renders_but_excluded_from_discovery ... ok
[INFO] [stdout] test upgrade::test_upgrade_creates_claude_shim_when_only_agents_md_exists ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_stop_hooks_to_existing_project ... ok
[INFO] [stdout] test upgrade::test_upgrade_check_mode_exits_nonzero ... ok
[INFO] [stdout] test upgrade::test_upgrade_fixes_deploy_workflow_cargo_install ... ok
[INFO] [stdout] test upgrade::test_upgrade_creates_rules_files ... ok
[INFO] [stdout] test upgrade::test_upgrade_check_mode_succeeds_when_current ... ok
[INFO] [stdout] test trust::test_private_paginated_collection_hub_renders_but_excluded ... ok
[INFO] [stdout] test upgrade::test_upgrade_adds_seite_skill_and_opencode_command ... ok
[INFO] [stdout] test upgrade::test_upgrade_force ... ok
[INFO] [stdout] test upgrade::test_upgrade_does_not_stamp_version_when_instruction_migration_fails ... ok
[INFO] [stdout] test upgrade::test_upgrade_idempotent ... ok
[INFO] [stdout] test upgrade::test_upgrade_normalizes_duplicate_agents_imports ... ok
[INFO] [stdout] test upgrade::test_upgrade_leaves_malformed_cursor_configs_untouched_with_warning ... ok
[INFO] [stdout] test trust::test_trust_center_no_sections ... ok
[INFO] [stdout] test trust::test_password_access_protects_an_entire_subdomain_output ... ok
[INFO] [stdout] test upgrade::test_upgrade_installs_private_collections_rule ... ok
[INFO] [stdout] test theme::test_theme_apply_all_bundled ... ok
[INFO] [stdout] test upgrade::test_upgrade_migrates_claude_md_to_agents_md ... ok
[INFO] [stdout] test upgrade::test_upgrade_migrates_legacy_settings_json ... ok
[INFO] [stdout] test upgrade::test_upgrade_outside_project_fails ... ok
[INFO] [stdout] test upgrade::test_upgrade_migrates_old_homepage_skill ... ok
[INFO] [stdout] test upgrade::test_upgrade_old_project_without_claude_keeps_claude_files_out ... ok
[INFO] [stdout] test upgrade::test_upgrade_merges_cursor_cli_json_keeping_user_rules_and_order ... ok
[INFO] [stdout] test upgrade::test_upgrade_migrates_instructions_created_by_an_older_step ... ok
[INFO] [stdout] test upgrade::test_upgrade_rejects_read_only_instructions_before_applying_actions ... ok
[INFO] [stdout] test upgrade::test_upgrade_on_fresh_project_is_noop ... ok
[INFO] [stdout] test upgrade::test_upgrade_rejects_agents_md_directory_without_stamping_version ... ok
[INFO] [stdout] test upgrade::test_upgrade_old_project_injects_minify_into_build_section ... ok
[INFO] [stdout] test upgrade::test_upgrade_preserves_existing_mcp_servers ... ok
[INFO] [stdout] test upgrade::test_upgrade_rejects_non_utf8_instructions_before_applying_actions ... ok
[INFO] [stdout] test upgrade::test_upgrade_stamps_version_even_when_no_actions ... ok
[INFO] [stdout] test upgrade::test_upgrade_preserves_claude_specific_instructions_when_agents_md_exists ... ok
[INFO] [stdout] test upgrade::test_upgrade_rejects_symlinked_instructions_before_applying_actions ... ok
[INFO] [stdout] test upgrade::test_upgrade_stop_hooks_respect_opt_out ... ok
[INFO] [stdout] test workspace::test_workspace_add_checks_real_sites_not_config_text ... ok
[INFO] [stdout] test workspace::test_workspace_add_and_list ... ok
[INFO] [stdout] test upgrade::test_upgrade_updates_outdated_skill ... ok
[INFO] [stdout] test upgrade::test_upgrade_stop_hook_unmergeable_settings_warns_and_retries_later ... ok
[INFO] [stdout] test trust::test_subdomain_collection_hub_uses_collection_index_template ... ok
[INFO] [stdout] test workspace::test_workspace_init ... ok
[INFO] [stdout] test upgrade::test_upgrade_is_idempotent_for_harness_files ... ok
[INFO] [stdout] test workspace::test_workspace_init_and_add_site ... ok
[INFO] [stdout] test workspace::test_workspace_status ... ok
[INFO] [stdout] test workspace::test_workspace_build ... ok
[INFO] [stdout] test workspace::test_workspace_serve_site_bakes_actual_port ... ok
[INFO] [stdout] test workspace::test_workspace_build_with_site_filter ... ok
[INFO] [stdout] test workspace::test_workspace_build_warns_on_unknown_config_key ... ok
[INFO] [stdout] test workspace::test_workspace_build_locates_problems_under_the_site_dir ... ok
[INFO] [stdout] test workspace::test_workspace_check_reports_each_site ... ok
[INFO] [stdout] test workspace::test_workspace_build_strict_json_includes_link_diagnostics ... ok
[INFO] [stdout] test theme::test_theme_apply_then_build_with_all_themes ... ok
[INFO] [stdout] test upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions' (15258) panicked at tests/integration/upgrade.rs:302:10:
[INFO] [stdout] Unexpected success
[INFO] [stdout] command=`cd "/tmp/.tmp3rl71p/site" && "/opt/rustwide/target/debug/seite" "upgrade" "--force"`
[INFO] [stdout] code=0
[INFO] [stdout] stdout=```
[INFO] [stdout] 
[INFO] [stdout] Upgrading from 0.7.0 → 0.20.0
[INFO] [stdout] 
[INFO] [stdout] ℹ   Project instructions (added Atom Feeds & Redirect Aliases section)
[INFO] [stdout] ℹ   Project instructions (Atom autodiscovery hint for custom template)
[INFO] [stdout] ℹ   Canonical AGENTS.md project instructions
[INFO] [stdout] ℹ   Project instructions (per-agent MCP setup table)
[INFO] [stdout] ℹ   Project instructions (context rules index)
[INFO] [stdout] 
[INFO] [stdout] ✓ Updated Project instructions (added Atom Feeds & Redirect Aliases section)
[INFO] [stdout] ✓ Updated Project instructions (Atom autodiscovery hint for custom template)
[INFO] [stdout] ✓ Updated Canonical AGENTS.md project instructions
[INFO] [stdout] ✓ Updated Project instructions (per-agent MCP setup table)
[INFO] [stdout] ✓ Updated Project instructions (context rules index)
[INFO] [stdout] 
[INFO] [stdout] ✓ Project upgraded to seite 0.20.0
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=""
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5f250d71d551 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5f250d71d551 - std[617be2ca0a6fd877]::backtrace_rs::backtrace::trace_unsynchronized::<std[617be2ca0a6fd877]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5f250d71d551 - std[617be2ca0a6fd877]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5f250d71d551 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5f250d73570a - <core[a373ad73a504971]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5f250d73570a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    6:     0x5f250d72341c - core[a373ad73a504971]::io::write::default_write_fmt::<alloc[2e1b2a31b91974c5]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:402:11
[INFO] [stdout]    7:     0x5f250d72341c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/io/write.rs:335:13
[INFO] [stdout]    8:     0x5f250d6f3c86 - <std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5f250d6f3c86 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:289:27
[INFO] [stdout]   10:     0x5f250d712e69 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:313:9
[INFO] [stdout]   11:     0x5f250d03f0f0 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   12:     0x5f250d03f0f0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5f250d713192 - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn for<'a, 'b> core[a373ad73a504971]::ops::function::Fn<(&'a std[617be2ca0a6fd877]::panic::PanicHookInfo<'b>,), Output = ()> + core[a373ad73a504971]::marker::Sync + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::Fn<(&std[617be2ca0a6fd877]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2328:9
[INFO] [stdout]   14:     0x5f250d713192 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:819:13
[INFO] [stdout]   15:     0x5f250d6f3d32 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:685:13
[INFO] [stdout]   16:     0x5f250d6ec5b9 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5f250d6f4cdd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:676:5
[INFO] [stdout]   18:     0x5f250d735fac - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5f250d69a138 - core[a373ad73a504971]::panicking::panic_display::<assert_cmd[d442f40f3917d9ea]::assert::AssertError>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x5f250d6a5397 - <assert_cmd[d442f40f3917d9ea]::assert::AssertError>::panic::<assert_cmd[d442f40f3917d9ea]::assert::Assert>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.2/src/assert.rs:1061:9
[INFO] [stdout]   21:     0x5f250d6a686d - <assert_cmd[d442f40f3917d9ea]::assert::Assert>::failure
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.2.2/src/assert.rs:198:25
[INFO] [stdout]   22:     0x5f250cf02b2b - integration[8e2a292fa87b7e71]::upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration/upgrade.rs:302:10
[INFO] [stdout]   23:     0x5f250cede957 - integration[8e2a292fa87b7e71]::upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/integration/upgrade.rs:275:74
[INFO] [stdout]   24:     0x5f250cf66586 - <integration[8e2a292fa87b7e71]::upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x5f250d03253b - <fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x5f250d03253b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:701:18
[INFO] [stdout]   27:     0x5f250d03f715 - test[aada8e7e76ba119b]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:74
[INFO] [stdout]   28:     0x5f250d03f715 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   29:     0x5f250d03f715 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   30:     0x5f250d03f715 - std[617be2ca0a6fd877]::panicking::catch_unwind::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   31:     0x5f250d03f715 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<test[aada8e7e76ba119b]::run_test_in_process::{closure#0}>, core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   32:     0x5f250d03f715 - test[aada8e7e76ba119b]::run_test_in_process
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:724:27
[INFO] [stdout]   33:     0x5f250d03f715 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:645:43
[INFO] [stdout]   34:     0x5f250d039004 - test[aada8e7e76ba119b]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/test/src/lib.rs:675:41
[INFO] [stdout]   35:     0x5f250d039004 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   36:     0x5f250d0427a2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   37:     0x5f250d0427a2 - <core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   38:     0x5f250d0427a2 - std[617be2ca0a6fd877]::panicking::catch_unwind::do_call::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:573:43
[INFO] [stdout]   39:     0x5f250d0427a2 - std[617be2ca0a6fd877]::panicking::catch_unwind::<(), core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panicking.rs:541:19
[INFO] [stdout]   40:     0x5f250d0427a2 - std[617be2ca0a6fd877]::panic::catch_unwind::<core[a373ad73a504971]::panic::unwind_safe::AssertUnwindSafe<std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/panic.rs:359:14
[INFO] [stdout]   41:     0x5f250d0427a2 - std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   42:     0x5f250d0427a2 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5f250d71bc9f - <alloc[2e1b2a31b91974c5]::boxed::Box<dyn core[a373ad73a504971]::ops::function::FnOnce<(), Output = ()> + core[a373ad73a504971]::marker::Send> as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/alloc/src/boxed.rs:2314:9
[INFO] [stdout]   44:     0x5f250d71bc9f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/e3feeb59cd1bdd011a2bfcc0747b55125d9b8527/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   45:     0x7bd5e8e1ddfa - <unknown>
[INFO] [stdout]   46:     0x7bd5e8eb13d4 - clone
[INFO] [stdout]   47:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     upgrade::test_upgrade_rejects_unreadable_instructions_before_applying_actions
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 511 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 23.82s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test integration`
[INFO] running `Command { std: "docker" "inspect" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249", kill_on_drop: false }`
[INFO] [stdout] da2c94f87fcd7102d38dba9223a0d6c5321b0eec991018937e9863c3257b1249
