[INFO] fetching crate shopirust-theme 0.1.0-alpha.1...
[INFO] testing shopirust-theme-0.1.0-alpha.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate shopirust-theme 0.1.0-alpha.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate shopirust-theme 0.1.0-alpha.1
[INFO] finished tweaking crates.io crate shopirust-theme 0.1.0-alpha.1
[INFO] tweaked toml for crates.io crate shopirust-theme 0.1.0-alpha.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate shopirust-theme 0.1.0-alpha.1 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 shopirust-theme 0.1.0-alpha.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:116:12
[INFO] [stderr]     |
[INFO] [stderr] 116 | homepage = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 | repository = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |              -----------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `shopirust-theme` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d
[INFO] running `Command { std: "docker" "start" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", 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" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d" "/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" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", 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" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:116:12
[INFO] [stderr]     |
[INFO] [stderr] 116 | homepage = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 | repository = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |              -----------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `shopirust-theme` (manifest) generated 1 warning
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.15.0
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.41
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling inotify-sys v0.1.8
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling data-encoding v2.11.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling sha1 v0.10.7
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling is-docker v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling crossbeam-channel v0.5.16
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling inotify v0.9.6
[INFO] [stderr]    Compiling is-wsl v0.4.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling filetime v0.2.29
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling notify v6.1.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling open v5.4.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tungstenite v0.24.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling shopirust-theme v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] running `Command { std: "docker" "inspect" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", 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" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:116:12
[INFO] [stderr]     |
[INFO] [stderr] 116 | homepage = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 | repository = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |              -----------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `shopirust-theme` (manifest) generated 1 warning
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling h2 v0.4.16
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling inquire v0.9.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling shopirust-theme v0.1.0-alpha.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 22s
[INFO] running `Command { std: "docker" "inspect" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", 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" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:116:12
[INFO] [stderr]     |
[INFO] [stderr] 116 | homepage = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 122 | repository = "https://github.com/rust-ports/shopirust"
[INFO] [stderr]     |              -----------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `shopirust-theme` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/shopirust-theme/328dfaef94f472e1/out/shopirust_theme-328dfaef94f472e1)
[INFO] [stdout] 
[INFO] [stdout] running 285 tests
[INFO] [stdout] test checksum::tests::hashes_binary_assets_without_crlf_normalization ... ok
[INFO] [stdout] test checksum::tests::md5_matches_known_digest ... ok
[INFO] [stdout] test checksum::tests::normalizes_crlf_for_text_files ... ok
[INFO] [stdout] test config::tests::find_path_up_searches_parent_directories ... ok
[INFO] [stdout] test config::tests::load_environment_fails_when_environment_not_found ... ok
[INFO] [stdout] test config::tests::load_environment_fails_when_file_not_found ... ok
[INFO] [stdout] test config::tests::load_environment_fails_when_no_environments_section ... ok
[INFO] [stdout] test config::tests::find_path_up_returns_none_when_not_found ... ok
[INFO] [stdout] test config::tests::load_environment_reads_toml_and_returns_flags ... ok
[INFO] [stdout] test config::tests::validates_required_flags ... ok
[INFO] [stdout] test config::tests::find_path_up_searches_current_directory ... ok
[INFO] [stdout] test config::tests::value_as_bool_parses_native_and_string_bools ... ok
[INFO] [stdout] test config::tests::value_as_strings_wraps_single_value_and_unwraps_array ... ok
[INFO] [stdout] test config::tests::value_as_string_converts_strings_numbers_and_bools ... ok
[INFO] [stdout] test checksum::tests::filters_generated_static_assets_when_liquid_source_exists ... ok
[INFO] [stdout] test checksum::tests::minifies_settings_data_before_hashing ... ok
[INFO] [stdout] test console::tests::prefixes_url_and_sends_replacement_templates ... ok
[INFO] [stdout] test console::tests::presents_null_json_and_json_error_warning ... ok
[INFO] [stdout] test config::tests::find_path_up_starts_from_parent_when_given_file ... ok
[INFO] [stdout] test console::tests::render_response_headers_preserve_json_content_type_only ... ok
[INFO] [stdout] test console::tests::adds_successful_assignments_to_session ... ok
[INFO] [stdout] test console::tests::render_url_uses_theme_access_base ... ok
[INFO] [stdout] test console::tests::storefront_replace_template_params_match_upstream_encoding ... ok
[INFO] [stdout] test console::tests::aborts_for_expired_rate_limited_and_not_found_sessions ... ok
[INFO] [stdout] test console::tests::detects_only_leading_liquid_delimiters ... ok
[INFO] [stdout] test console::tests::repl_outputs_prompt_after_each_handled_input ... ok
[INFO] [stdout] test console::tests::theme_access_headers_filter_custom_headers ... ok
[INFO] [stdout] test console::tests::translates_smart_assignment ... ok
[INFO] [stdout] test console::tests::evaluates_display_result ... ok
[INFO] [stdout] test console::tests::render_url_matches_storefront_renderer_query_order ... ok
[INFO] [stdout] test console::tests::repl_assets_match_upstream_seed_theme ... ok
[INFO] [stdout] test console::tests::standard_headers_clean_and_merge_cookies ... ok
[INFO] [stdout] test dev::tests::builds_json_reconciliation_plan_from_choices ... ok
[INFO] [stdout] test dev::tests::aborts_when_local_and_remote_both_changed ... ok
[INFO] [stdout] test dev::tests::builds_proxy_urls_with_dev_params_and_storefront_api_passthrough ... ok
[INFO] [stdout] test dev::tests::builds_proxy_urls_for_theme_access_and_extension_cdn ... ok
[INFO] [stdout] test dev::tests::allows_remote_change_when_local_disk_matches_memory ... ok
[INFO] [stdout] test dev::tests::classifies_proxy_requests ... ok
[INFO] [stdout] test dev::tests::cookies_round_trip_and_extract_set_cookie ... ok
[INFO] [stdout] test dev::tests::computes_hot_reload_payload ... ok
[INFO] [stdout] test dev::tests::apply_json_reconciliation_returns_updated_checksums ... ok
[INFO] [stdout] test dev::tests::get_error_page_contains_polaris_and_escapes_html ... ok
[INFO] [stdout] test dev::tests::filter_json_checksums_applies_only_ignore_and_unsynced ... ok
[INFO] [stdout] test dev::tests::filters_proxy_headers_and_adds_forwarded_for ... ok
[INFO] [stdout] test dev::tests::cors_allows_credentialed_theme_editor_preflight ... ok
[INFO] [stdout] test dev::tests::hr_log_returns_no_content_and_ignores_invalid_json ... ok
[INFO] [stdout] test dev::tests::identifies_json_reconciliation_only_for_json_files ... ok
[INFO] [stdout] test dev::tests::identifies_json_reconciliation_respects_only_filter ... ok
[INFO] [stdout] test dev::tests::detects_liquid_tag_content_with_dash_whitespace_variants ... ok
[INFO] [stdout] test dev::tests::editor_preview_path_uses_ampersand_query_separator ... ok
[INFO] [stdout] test dev::tests::local_cdn_asset_matching_skips_extension_paths ... ok
[INFO] [stdout] test dev::tests::local_extension_asset_key_for_cdn_path_extracts_assets_name ... ok
[INFO] [stdout] test dev::tests::local_hot_reload_script_returns_no_content_without_env ... ok
[INFO] [stdout] test dev::tests::localizes_redirect_locations_and_strips_dev_params ... ok
[INFO] [stdout] test dev::tests::mismatch_location_filters_sfr_params ... ok
[INFO] [stdout] test dev::tests::inject_cdn_proxy_rewrites_local_extension_assets ... ok
[INFO] [stdout] test dev::tests::injects_and_removes_hot_reload_script ... ok
[INFO] [stdout] test dev::tests::patches_html ... ok
[INFO] [stdout] test dev::tests::rejects_proxy_urls_with_hostname_mismatch ... ok
[INFO] [stdout] test dev::tests::render_dev_links_include_keypress_hints ... ok
[INFO] [stdout] test dev::tests::resolve_port_errors_when_explicit_port_is_taken ... ok
[INFO] [stdout] test dev::tests::injects_standard_events_inspector_at_head_once ... ok
[INFO] [stdout] test dev::tests::is_known_rendering_request_detects_section_params ... ok
[INFO] [stdout] test dev::tests::rewrites_known_cdn_assets_but_not_images ... ok
[INFO] [stdout] test dev::tests::in_memory_templates_filter_by_route_and_locale ... ok
[INFO] [stdout] test dev::tests::rewrites_cdn_urls_in_javascript_link_headers_and_beacon_attributes ... ok
[INFO] [stdout] test dev::tests::host_validation_runs_before_every_dev_route ... ok
[INFO] [stdout] test dev::tests::rewrites_standard_events_runtime_only_when_dev_bundle_enabled ... ok
[INFO] [stdout] test dev::tests::section_names_cached_from_json_and_found_by_type ... ok
[INFO] [stdout] test dev::tests::section_render_returns_none_when_template_removed ... ok
[INFO] [stdout] test dev::tests::section_render_includes_matching_json_templates_in_replace_templates ... ok
[INFO] [stdout] test dev::tests::section_render_returns_empty_when_section_removed ... ok
[INFO] [stdout] test dev::tests::section_render_returns_no_content_without_ids ... ok
[INFO] [stdout] test dev::tests::create_error_page_response_injects_hot_reload_script ... ok
[INFO] [stdout] test dev::tests::serves_text_local_assets_with_utf8_content_length ... ok
[INFO] [stdout] test dev::tests::stale_asset_query_rewrites_detected ... ok
[INFO] [stdout] test dev::tests::storefront_replace_templates_params_encodes_keys_and_method ... ok
[INFO] [stdout] test dev::tests::storefront_session_retry_matrix ... ok
[INFO] [stdout] test dev::tests::serves_compiled_stylesheets_from_liquid_files ... ok
[INFO] [stdout] test dev::tests::theme_id_from_html_extracts_matching_theme_id ... ok
[INFO] [stdout] test dev::tests::serves_text_local_assets_with_cdn_rewrites ... ok
[INFO] [stdout] test dev::tests::should_send_storefront_bearer_only_for_theme_servers ... ok
[INFO] [stdout] test dev::tests::serves_compiled_scripts_from_liquid_files ... ok
[INFO] [stdout] test dev::tests::theme_id_mismatch_aborts_after_max_redirects ... ok
[INFO] [stdout] test dev::tests::serves_binary_local_assets_from_attachments ... ok
[INFO] [stdout] test dev::tests::should_log_forwards_paths_without_ignored_prefixes_or_extensions ... ok
[INFO] [stdout] test dev::tests::validates_hosts ... ok
[INFO] [stdout] test filesystem::tests::listing_path_maps_to_logical_shopify_key ... ok
[INFO] [stdout] test dev::tests::unknown_compiled_assets_fall_through_to_proxy ... ok
[INFO] [stdout] test filesystem::tests::default_ignore_patterns_include_upstream_entries ... ok
[INFO] [stdout] test dev::tests::theme_id_mismatch_refreshes_session_and_redirects ... ok
[INFO] [stdout] test dev::tests::validates_modes ... ok
[INFO] [stdout] test downloader::tests::builds_download_result_maps ... ok
[INFO] [stdout] test filesystem::tests::rejects_unsafe_keys ... ok
[INFO] [stdout] test filesystem::tests::reads_text_assets_with_value_and_binary_assets_with_attachment ... ok
[INFO] [stdout] test generate_name::tests::test_different_contexts ... ok
[INFO] [stdout] test filesystem::tests::writes_and_deletes_theme_assets ... ok
[INFO] [stdout] test filesystem::tests::writes_binary_attachments ... ok
[INFO] [stdout] test generate_name::tests::creative_name_matches_upstream_shape ... ok
[INFO] [stdout] test filesystem::tests::scanner_applies_shopifyignore_and_cli_filters ... ok
[INFO] [stdout] test ignore::tests::supports_negated_only_patterns ... ok
[INFO] [stdout] test ignore::tests::supports_regex_patterns ... ok
[INFO] [stdout] test generate_name::tests::test_generates_name_with_context ... ok
[INFO] [stdout] test ignore::tests::supports_templates_glob_compatibility ... ok
[INFO] [stdout] test ignore::tests::reads_shopify_ignore_patterns ... ok
[INFO] [stdout] test generate_name::tests::test_generates_name_within_length ... ok
[INFO] [stdout] test init::tests::destination_joins_base_and_name ... ok
[INFO] [stdout] test init::tests::instruction_links_cursor_creates_only_cursor_instruction ... ok
[INFO] [stdout] test ignore::tests::applies_ignore_and_only_filters_in_upstream_order ... ok
[INFO] [stdout] test init::tests::instruction_links_vscode_creates_only_vscode_instruction ... ok
[INFO] [stdout] test ignore::tests::supports_negated_ignore_patterns ... ok
[INFO] [stdout] test init::tests::is_populated_returns_false_for_empty_directory ... ok
[INFO] [stdout] test init::tests::instruction_links_all_creates_all_instruction_files ... ok
[INFO] [stdout] test init::tests::instruction_links_claude_creates_only_claude_instruction ... ok
[INFO] [stdout] test init::tests::instruction_links_skip_returns_empty ... ok
[INFO] [stdout] test filesystem::tests::active_listing_reads_and_writes_existing_json_override_by_logical_key ... ok
[INFO] [stdout] test init::tests::is_populated_returns_false_for_missing_directory ... ok
[INFO] [stdout] test listing::tests::available_listings_returns_empty_when_listings_directory_missing ... ok
[INFO] [stdout] test init::tests::is_populated_returns_true_for_non_empty_directory ... ok
[INFO] [stdout] test init::tests::skeleton_cleanup_paths_returns_expected_paths ... ok
[INFO] [stdout] test listing::tests::available_listings_returns_sorted_directory_names ... ok
[INFO] [stdout] test listing::tests::apply_listing_preserves_settings_data_when_json_is_malformed ... ok
[INFO] [stdout] test filesystem::tests::scans_valid_theme_directories_only ... ok
[INFO] [stdout] test listing::tests::validate_listing_fails_with_not_found_error ... ok
[INFO] [stdout] test listing::tests::apply_listing_does_not_overlay_non_json_files ... ok
[INFO] [stdout] test listing::tests::validate_listing_succeeds_for_existing_listing ... ok
[INFO] [stdout] test listing::tests::validate_listing_fails_with_no_presets_when_directory_missing ... ok
[INFO] [stdout] test listing::tests::validate_listing_is_case_insensitive ... ok
[INFO] [stdout] test listing::tests::apply_listing_overlays_template_and_section_json ... ok
[INFO] [stdout] test listing::tests::formats_listing_names ... ok
[INFO] [stdout] test local_storage::tests::task_local_store_contexts_are_isolated ... ok
[INFO] [stdout] test local_storage::tests::stores_reads_and_removes_current_theme_store ... ok
[INFO] [stdout] test local_storage::tests::storefront_password_storage_is_scoped_by_store ... ok
[INFO] [stdout] test models::tests::role_rank_sorts_allowed_roles ... ok
[INFO] [stdout] test local_storage::tests::stores_reads_and_removes_development_theme_id ... ok
[INFO] [stdout] test models::tests::npm_platform_arch_uses_node_style_labels ... ok
[INFO] [stdout] test models::tests::theme_editor_url_formats_correctly ... ok
[INFO] [stdout] test local_storage::tests::stores_reads_and_removes_storefront_password ... ok
[INFO] [stdout] test local_storage::tests::repl_theme_storage_does_not_conflict_with_development_theme_storage ... ok
[INFO] [stdout] test local_storage::tests::stores_host_theme_ids_by_store ... ok
[INFO] [stdout] test models::tests::theme_preview_url_returns_base_url_for_live_theme ... ok
[INFO] [stdout] test models::tests::theme_preview_url_returns_preview_url_for_non_live_theme ... ok
[INFO] [stdout] test package::tests::extract_metadata_fails_when_schema_is_missing ... ok
[INFO] [stdout] test package::tests::extract_metadata_fails_on_invalid_json ... ok
[INFO] [stdout] test package::tests::package_theme_creates_zip_with_correct_name ... ok
[INFO] [stdout] test package::tests::extract_metadata_supports_nested_theme_info_object ... ok
[INFO] [stdout] test package::tests::extract_metadata_reads_theme_name_and_version ... ok
[INFO] [stdout] test package::tests::package_theme_creates_zip_without_version_when_missing ... ok
[INFO] [stdout] test package::tests::valid_package_theme_key_rejects_invalid_keys ... ok
[INFO] [stdout] test preview::tests::includes_identifier_when_updating_preview ... ok
[INFO] [stdout] test preview::tests::parses_flat_preview_response ... ok
[INFO] [stdout] test preview::tests::parses_nested_preview_response ... ok
[INFO] [stdout] test preview::tests::posts_overrides_to_create_preview ... ok
[INFO] [stdout] test package::tests::removes_comments_without_touching_strings ... ok
[INFO] [stdout] test package::tests::valid_package_theme_key_accepts_valid_keys ... ok
[INFO] [stdout] test preview::tests::read_overrides_file_errors_when_missing ... ok
[INFO] [stdout] test preview::tests::read_overrides_file_errors_when_invalid_json ... ok
[INFO] [stdout] test package::tests::package_theme_excludes_invalid_directories ... ok
[INFO] [stdout] test profile::tests::capture_profile_rejects_non_200_response ... ok
[INFO] [stdout] test preview::tests::read_overrides_file_returns_json_value ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_empty_string ... ok
[INFO] [stdout] test profile::tests::capture_profile_sends_upstream_render_request ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_handles_unicode ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_keeps_alphanumeric_and_hyphens ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_only_hyphens ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_replaces_spaces ... ok
[INFO] [stdout] test selector::tests::allowed_store_themes_filters_disallowed_roles ... ok
[INFO] [stdout] test selector::tests::filter_themes_returns_error_when_identifier_has_no_match ... ok
[INFO] [stdout] test package::tests::extract_metadata_fails_when_theme_name_is_missing ... ok
[INFO] [stdout] test profile::tests::prepare_profile_files_writes_redirect_html ... ok
[INFO] [stdout] test package::tests::package_theme_includes_listings_release_notes_and_update_extension ... ok
[INFO] [stdout] test selector::tests::filter_themes_returns_error_when_role_has_no_match ... ok
[INFO] [stdout] test selector::tests::filters_allowed_themes_and_sorts_by_role ... ok
[INFO] [stdout] test selector::tests::filters_by_id_exact_name_and_wildcards ... ok
[INFO] [stdout] test selector::tests::filters_by_multiple_identifiers ... ok
[INFO] [stdout] test selector::tests::filters_by_role ... ok
[INFO] [stdout] test selector::tests::partial_match_middle_wildcard ... ok
[INFO] [stdout] test selector::tests::partial_match_no_wildcard_returns_false ... ok
[INFO] [stdout] test selector::tests::partial_match_suffix_wildcard ... ok
[INFO] [stdout] test selector::tests::requires_prompt_when_no_filter_is_supplied ... ok
[INFO] [stdout] test selector::tests::partial_match_prefix_wildcard ... ok
[INFO] [stdout] test selector::tests::theme_filter_any_returns_false_when_empty ... ok
[INFO] [stdout] test selector::tests::theme_filter_any_returns_true_for_any_active_filter ... ok
[INFO] [stdout] test selector::tests::theme_filter_identifiers_combines_theme_and_themes ... ok
[INFO] [stdout] test services::tests::delete_themes_requires_filter ... ok
[INFO] [stdout] test services::tests::duplicate_json_nests_theme_without_urls ... ok
[INFO] [stdout] test replace_invalid_chars::tests::test_replaces_special_chars ... ok
[INFO] [stdout] test services::tests::duplicate_rejects_development_themes ... ok
[INFO] [stdout] test selector::tests::allowed_store_themes_errors_on_empty ... ok
[INFO] [stdout] test services::tests::duplicate_theme_returns_user_error_for_missing_theme ... ok
[INFO] [stdout] test services::tests::list_themes_filters_by_id ... ok
[INFO] [stdout] test services::tests::list_themes_filters_by_name ... ok
[INFO] [stdout] test services::tests::list_themes_returns_all_when_no_filter ... ok
[INFO] [stdout] test services::tests::lists_with_filters ... ok
[INFO] [stdout] test services::tests::publish_requires_a_theme_filter_when_prompts_are_unavailable ... ok
[INFO] [stdout] test services::tests::publish_success_payload_matches_theme_info_nesting ... ok
[INFO] [stdout] test services::tests::publish_theme_publishes_selected_theme ... ok
[INFO] [stdout] test services::tests::select_theme_returns_matching_theme ... ok
[INFO] [stdout] test services::tests::rename_selects_theme_by_identifier ... ok
[INFO] [stdout] test services::tests::theme_info_json_serializes_correctly ... ok
[INFO] [stdout] test sync::tests::batches_uploads_by_count ... ok
[INFO] [stdout] test sync::tests::deletions_match_upstream_dependency_order ... ok
[INFO] [stdout] test sync::tests::plan_pull_deletes_local_only_files ... ok
[INFO] [stdout] test sync::tests::dependencies_are_ordered ... ok
[INFO] [stdout] test sync::tests::plan_pull_downloads_missing_and_mismatched_remote_files ... ok
[INFO] [stdout] test sync::tests::batches_uploads_before_byte_limit ... ok
[INFO] [stdout] test selector::tests::theme_filter_identifiers_filters_empty_strings ... ok
[INFO] [stdout] test selector::tests::theme_filter_role_returns_correct_role ... ok
[INFO] [stdout] test services::tests::delete_themes_deletes_all_matching ... ok
[INFO] [stdout] test sync::tests::plan_push_respects_only_and_ignore_filters ... ok
[INFO] [stdout] test sync::tests::plan_push_skips_delete_with_nodelete ... ok
[INFO] [stdout] test sync::tests::plan_push_creates_missing_minimum_assets ... ok
[INFO] [stdout] test sync::tests::plan_push_deletes_remote_only_files ... ok
[INFO] [stdout] test sync::tests::push_retries_only_failed_uploads ... ok
[INFO] [stdout] test sync::tests::upload_work_splits_independent_files_from_dependent_chain ... ok
[INFO] [stdout] test local_storage::tests::concurrent_store_updates_do_not_lose_entries ... ok
[INFO] [stdout] test sync::tests::plan_push_never_deletes_minimum_remote_assets ... ok
[INFO] [stdout] test sync::tests::plan_pull_skips_delete_when_only_filter_excludes_local_file ... ok
[INFO] [stdout] test sync::tests::plan_push_uploads_checksum_mismatches_and_missing ... ok
[INFO] [stdout] test sync::tests::plan_pull_skips_delete_with_nodelete ... ok
[INFO] [stdout] test theme_ext::fs::tests::delete_is_noop_for_missing_file ... ok
[INFO] [stdout] test theme_ext::fs::tests::delete_removes_file_from_map ... ok
[INFO] [stdout] test theme_ext::fs::tests::get_extension_in_memory_templates_returns_unsynced_content ... ok
[INFO] [stdout] test theme_ext::fs::tests::replace_extension_templates_params_buckets_by_first_segment ... ok
[INFO] [stdout] test theme_ext::fs::tests::validates_theme_ext_whitelist_keys ... ok
[INFO] [stdout] test theme_ext::fs::tests::mounts_empty_filesystem_for_invalid_directory ... ok
[INFO] [stdout] test theme_ext::fs::tests::mounts_local_theme_extension_filesystem_with_checksums ... ok
[INFO] [stdout] test theme_ext::server::tests::accepts_uppercase_bound_host_flag ... ok
[INFO] [stdout] test theme_ext::server::tests::accepts_loopback_hosts ... ok
[INFO] [stdout] test theme_ext::fs::tests::read_returns_disk_content_and_updates_map ... ok
[INFO] [stdout] test theme_ext::fs::tests::write_creates_image_file_on_map ... ok
[INFO] [stdout] test theme_ext::fs::tests::write_creates_file_on_map ... ok
[INFO] [stdout] test theme_ext::server::tests::default_port_is_9293 ... ok
[INFO] [stdout] test theme_ext::server::tests::file_change_emits_hot_reload_update ... ok
[INFO] [stdout] test theme_ext::server::tests::ignored_paths_include_wpm ... ok
[INFO] [stdout] test theme_ext::server::tests::asset_path_is_served_locally ... ok
[INFO] [stdout] test theme_ext::server::tests::normalize_strips_trailing_dot_before_port ... ok
[INFO] [stdout] test theme_ext::server::tests::rejects_attacker_hosts_and_missing_host ... ok
[INFO] [stdout] test theme_ext::session::tests::session_captures_essential_cookie ... ok
[INFO] [stdout] test uploader::tests::builds_upload_result_maps ... ok
[INFO] [stdout] test utilities::batching::tests::batched_tasks_creates_correct_number_of_tasks ... ok
[INFO] [stdout] test utilities::batching::tests::batched_tasks_executes_all_batches ... ok
[INFO] [stdout] test utilities::batching::tests::batches_returns_single_batch_when_items_fit ... ok
[INFO] [stdout] test utilities::batching::tests::batches_splits_items_by_size ... ok
[INFO] [stdout] test utilities::cli_config::tests::combined_options_set_both ... ok
[INFO] [stdout] test utilities::cli_config::tests::no_color_disables_color_output ... ok
[INFO] [stdout] test utilities::cli_config::tests::verbose_sets_env_var ... ok
[INFO] [stdout] test theme_ext::server::tests::cdn_path_is_proxied ... ok
[INFO] [stdout] test theme_ext::server::tests::html_path_hits_storefront_mock_and_injects_hot_reload ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::fetch_returns_none_when_no_theme_id ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::find_or_create_reuses_existing_theme ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::find_returns_error_when_no_theme_id_set ... ok
[INFO] [stdout] test theme_ext::fs::tests::handle_file_update_marks_unsynced_then_clears_after_delay ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::find_or_create_creates_new_theme_when_no_match ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::find_returns_error_when_theme_not_found ... ok
[INFO] [stdout] test utilities::development_theme_manager::tests::find_returns_theme_when_id_matches ... ok
[INFO] [stdout] test utilities::host_theme_manager::tests::flag_id_fetches_existing_theme ... ok
[INFO] [stdout] test utilities::host_theme_manager::tests::falls_back_to_catalog_zip_after_retries ... ok
[INFO] [stdout] test utilities::host_theme_manager::tests::storefront_origin_prefixes_https ... ok
[INFO] [stdout] test utilities::notifier::tests::empty_path_is_noop ... ok
[INFO] [stdout] test utilities::host_theme_manager::tests::creates_dawn_zip_and_waits_until_processed ... ok
[INFO] [stdout] test utilities::notifier::tests::file_path_writes_filename ... ok
[INFO] [stdout] test utilities::notifier::tests::is_valid_url_detects_http_urls ... ok
[INFO] [stdout] test utilities::host_theme_manager::tests::reuses_persisted_host_theme ... ok
[INFO] [stdout] test utilities::theme_store::tests::returns_stored_value_when_flag_missing ... ok
[INFO] [stdout] test utilities::theme_store::tests::errors_when_no_store_available ... ok
[INFO] [stdout] test utilities::theme_store::tests::returns_store_when_provided ... ok
[INFO] [stdout] test utilities::theme_store::tests::remove_theme_store_clears_value ... ok
[INFO] [stdout] test utilities::theme_store::tests::set_and_get_theme_store_round_trips ... ok
[INFO] [stdout] test sync::tests::push_uploads_independent_files_concurrently_with_dependent_chain ... ok
[INFO] [stdout] test utilities::theme_ui::tests::ensure_directory_confirmed_returns_false_in_multi_environment ... ok
[INFO] [stdout] test utilities::theme_ui::tests::theme_component_formats_name_and_id ... ok
[INFO] [stdout] test utilities::theme_ui::tests::ensure_directory_confirmed_returns_true_when_forced ... ok
[INFO] [stdout] test watcher::tests::ignores_paths_outside_theme_directories ... ok
[INFO] [stdout] test watcher::tests::normalizes_active_listing_event_to_base_theme_key ... ok
[INFO] [stdout] test watcher::tests::normalizes_notify_create_event_to_theme_key ... ok
[INFO] [stdout] test watcher::tests::tracks_failed_upload_errors ... ok
[INFO] [stdout] test watcher::tests::applies_upload_event_and_notifies_file_path ... ok
[INFO] [stdout] test watcher::tests::upload_error_state_clears_after_success ... ok
[INFO] [stdout] test utilities::theme_store::tests::set_and_get_global_theme_store_round_trips ... ok
[INFO] [stdout] test theme_ext::server::tests::middleware_rejects_invalid_host_on_explicit_routes ... ok
[INFO] [stdout] test theme_ext::server::tests::ignored_path_returns_204 ... ok
[INFO] [stdout] test utilities::theme_ui::tests::ensure_live_theme_confirmed_returns_true_when_allow_live ... ok
[INFO] [stdout] test utilities::theme_ui::tests::ensure_live_theme_confirmed_returns_true_for_non_live_theme ... ok
[INFO] [stderr]    Doc-tests shopirust_theme
[INFO] [stdout] test models::tests::environment_info_defaults_unconfigured_values ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 285 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d", kill_on_drop: false }`
[INFO] [stdout] 543063c9bdc3ef9e2bf6dd54f193236cc6fee7e3b44facaafdaed5e6c8fc684d
