[INFO] fetching crate rhtmx-router 0.1.0...
[INFO] testing rhtmx-router-0.1.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rhtmx-router 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate rhtmx-router 0.1.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate rhtmx-router 0.1.0
[INFO] tweaked toml for crates.io crate rhtmx-router 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rhtmx-router 0.1.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate rhtmx-router 0.1.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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b8e735dae83c5e65d30c79cc2102cee94e622f8000d9c00e44ce24db9cf35bb7
[INFO] running `Command { std: "docker" "start" "-a" "b8e735dae83c5e65d30c79cc2102cee94e622f8000d9c00e44ce24db9cf35bb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8e735dae83c5e65d30c79cc2102cee94e622f8000d9c00e44ce24db9cf35bb7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8e735dae83c5e65d30c79cc2102cee94e622f8000d9c00e44ce24db9cf35bb7", kill_on_drop: false }`
[INFO] [stdout] b8e735dae83c5e65d30c79cc2102cee94e622f8000d9c00e44ce24db9cf35bb7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3ce0713b0aa98d4c2c6460280b50c2fb22dfbf0b83a735ee915ee74775865e56
[INFO] running `Command { std: "docker" "start" "-a" "3ce0713b0aa98d4c2c6460280b50c2fb22dfbf0b83a735ee915ee74775865e56", kill_on_drop: false }`
[INFO] [stderr]    Compiling rhtmx-router v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.12s
[INFO] running `Command { std: "docker" "inspect" "3ce0713b0aa98d4c2c6460280b50c2fb22dfbf0b83a735ee915ee74775865e56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3ce0713b0aa98d4c2c6460280b50c2fb22dfbf0b83a735ee915ee74775865e56", kill_on_drop: false }`
[INFO] [stdout] 3ce0713b0aa98d4c2c6460280b50c2fb22dfbf0b83a735ee915ee74775865e56
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6645357eb06ddf6e2288f951397203cc49d2510f64ef6675acdeb8923ae0e6dd
[INFO] running `Command { std: "docker" "start" "-a" "6645357eb06ddf6e2288f951397203cc49d2510f64ef6675acdeb8923ae0e6dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling hashbrown v0.16.0
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling toml_datetime v0.7.3
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling relative-path v1.9.3
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling futures-timer v3.0.3
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling rstest_macros v0.22.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling syn v2.0.110
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling indexmap v2.12.0
[INFO] [stderr]    Compiling toml_parser v1.0.4
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling rstest v0.22.0
[INFO] [stderr]    Compiling rhtmx-router v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> tests/nextjs_parity_tests.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 18.40s
[INFO] running `Command { std: "docker" "inspect" "6645357eb06ddf6e2288f951397203cc49d2510f64ef6675acdeb8923ae0e6dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6645357eb06ddf6e2288f951397203cc49d2510f64ef6675acdeb8923ae0e6dd", kill_on_drop: false }`
[INFO] [stdout] 6645357eb06ddf6e2288f951397203cc49d2510f64ef6675acdeb8923ae0e6dd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-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" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f54102dbb00531e72fa70a334a47dbdc59fbaa7ee4046424b00e935ce2f8961b
[INFO] running `Command { std: "docker" "start" "-a" "f54102dbb00531e72fa70a334a47dbdc59fbaa7ee4046424b00e935ce2f8961b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> tests/nextjs_parity_tests.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rhtmx-router` (test "nextjs_parity_tests") generated 1 warning (run `cargo fix --test "nextjs_parity_tests" -p rhtmx-router` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rhtmx_router-89e3eb25aef82488)
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test path::tests::test_normalize_path_double_slash ... ok
[INFO] [stdout] test path::tests::test_normalize_path_empty ... ok
[INFO] [stdout] test route::detection::tests::test_detect_intercepting_route_from_root ... ok
[INFO] [stdout] test path::tests::test_normalize_path_valid ... ok
[INFO] [stdout] test route::detection::tests::test_detect_intercepting_route_no_intercept ... ok
[INFO] [stdout] test path::tests::test_is_valid_path ... ok
[INFO] [stdout] test route::detection::tests::test_detect_parallel_route_without_slot ... ok
[INFO] [stdout] test route::detection::tests::test_detect_intercepting_route_two_levels_up ... ok
[INFO] [stdout] test route::detection::tests::test_extract_layout_name_with_name ... ok
[INFO] [stdout] test route::detection::tests::test_extract_layout_name_without_name ... ok
[INFO] [stdout] test route::detection::tests::test_detect_intercepting_route_one_level_up ... ok
[INFO] [stdout] test route::detection::tests::test_detect_intercepting_route_same_level ... ok
[INFO] [stdout] test route::detection::tests::test_detect_parallel_route_with_slot ... ok
[INFO] [stdout] test route::parser::tests::test_calculate_priority_static ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_catch_all ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_dynamic ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_skips_intercept_markers ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_skips_route_groups ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_skips_parallel_slots ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_optional_param ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_static ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_optional_catch_all ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_catch_all_with_constraint ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_optional_catch_all ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_optional ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_optional_catch_all_with_constraint ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_optional_with_constraint ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_required ... ok
[INFO] [stdout] test route::pattern::tests::test_parse_param_no_constraint ... ok
[INFO] [stdout] test route::pattern::tests::test_parse_param_uuid_constraint ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_static ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_required_with_constraint ... ok
[INFO] [stdout] test path::tests::test_path_hierarchy ... ok
[INFO] [stdout] test path::tests::test_path_hierarchy_short_circuit ... ok
[INFO] [stdout] test route::pattern::tests::test_parse_param_with_constraint ... ok
[INFO] [stdout] test route::parser::tests::test_calculate_priority_dynamic ... ok
[INFO] [stdout] test path::tests::test_normalize_path_trailing_slash ... ok
[INFO] [stdout] test route::detection::tests::test_detect_parallel_route_multiple_slots ... ok
[INFO] [stdout] test path::tests::test_normalize_path_backslash ... ok
[INFO] [stdout] test route::parser::tests::test_calculate_priority_optional_catch_all ... ok
[INFO] [stdout] test route::parser::tests::test_calculate_priority_required_catch_all ... ok
[INFO] [stdout] test route::parser::tests::test_parse_pattern_skips_special_files ... ok
[INFO] [stdout] test route::pattern::tests::test_classify_catch_all ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 43 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/nextjs_parity_tests.rs (/opt/rustwide/target/debug/deps/nextjs_parity_tests-bc4b8a8b03b67341)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test test_functional_composition ... ok
[INFO] [stdout] test test_nextjs_basic_routing ... ok
[INFO] [stdout] test test_metadata_and_constraints ... ok
[INFO] [stdout] test test_nextjs_dynamic_segments ... ok
[INFO] [stdout] test test_nextjs_error_handling ... ok
[INFO] [stdout] test test_nextjs_catch_all_segments ... ok
[INFO] [stdout] test test_nextjs_complex_dashboard ... ok
[INFO] [stdout] test test_nextjs_intercepting_from_root ... ok
[INFO] [stdout] test test_nextjs_intercepting_same_level ... ok
[INFO] [stdout] test test_nextjs_layouts ... ok
[INFO] [stdout] test test_nextjs_optional_catch_all_segments ... ok
[INFO] [stdout] test test_nextjs_parallel_routes ... ok
[INFO] [stdout] test test_nextjs_route_groups ... ok
[INFO] [stdout] test test_nextjs_route_priority ... ok
[INFO] [stdout] test test_route_aliases ... ok
[INFO] [stdout] test test_nextjs_templates ... ok
[INFO] [stdout] test test_nextjs_modal_pattern ... ok
[INFO] [stdout] test test_nextjs_parallel_routes_with_dynamic_params ... ok
[INFO] [stdout] test test_nextjs_loading_ui ... ok
[INFO] [stdout] test test_nextjs_intercepting_one_up ... ok
[INFO] [stdout] test test_nextjs_not_found ... ok
[INFO] [stdout] test test_redirects ... ok
[INFO] [stdout] test test_nextjs_ecommerce_app ... ok
[INFO] [stdout] test test_nextjs_photo_gallery_with_modals ... ok
[INFO] [stderr]      Running tests/router_tests.rs (/opt/rustwide/target/debug/deps/router_tests-1fbad63ef11f77ea)
[INFO] [stdout] test test_route_lookup_performance ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 198 tests
[INFO] [stdout] test test_alias_chaining_with_other_builders ... ok
[INFO] [stdout] test test_alias_internationalization ... ok
[INFO] [stdout] test test_alias_legacy_url_support ... ok
[INFO] [stdout] test test_all_special_files_together ... ok
[INFO] [stdout] test test_catch_all_route ... ok
[INFO] [stdout] test test_alias_with_metadata ... ok
[INFO] [stdout] test test_case_insensitive_matching ... ok
[INFO] [stdout] test test_catch_all_matches ... ok
[INFO] [stdout] test test_complex_layout_scenario ... ok
[INFO] [stdout] test test_constraint_alphanum_validation ... ok
[INFO] [stdout] test test_alias_case_sensitivity ... ok
[INFO] [stdout] test test_constraint_uuid_validation ... ok
[INFO] [stdout] test test_error_page_route ... ok
[INFO] [stdout] test test_error_page_lookup ... ok
[INFO] [stdout] test test_constraint_int_validation ... ok
[INFO] [stdout] test test_constraint_catch_all ... ok
[INFO] [stdout] test test_error_page_with_malformed_paths ... ok
[INFO] [stdout] test test_alias_priority_order ... ok
[INFO] [stdout] test test_constraint_alpha_validation ... ok
[INFO] [stdout] test test_constraint_parsing_from_filename ... ok
[INFO] [stdout] test test_constraint_with_router_matching ... ok
[INFO] [stdout] test test_constraint_slug_validation ... ok
[INFO] [stdout] test test_empty_metadata ... ok
[INFO] [stdout] test test_constraint_uint_validation ... ok
[INFO] [stdout] test test_generate_url_missing_required_parameter ... ok
[INFO] [stdout] test test_generate_url_optional_parameter_missing ... ok
[INFO] [stdout] test test_generate_url_optional_parameter_provided ... ok
[INFO] [stdout] test test_generate_url_static_route ... ok
[INFO] [stdout] test test_generate_url_with_multiple_parameters ... ok
[INFO] [stdout] test test_intercepting_route_from_root ... ok
[INFO] [stdout] test test_intercepting_route_in_router ... ok
[INFO] [stdout] test test_alias_with_trailing_slash ... ok
[INFO] [stdout] test test_intercepting_route_modal_pattern ... ok
[INFO] [stdout] test test_generate_url_with_single_parameter ... ok
[INFO] [stdout] test test_intercepting_route_real_world_modal ... ok
[INFO] [stdout] test test_get_layout_by_name ... ok
[INFO] [stdout] test test_intercepting_route_with_catch_all ... ok
[INFO] [stdout] test test_intercepting_route_with_route_groups ... ok
[INFO] [stdout] test test_layout_edge_cases ... ok
[INFO] [stdout] test test_layout_inherit_default ... ok
[INFO] [stdout] test test_constraint_optional_parameter ... ok
[INFO] [stdout] test test_is_under_nolayout_marker ... ok
[INFO] [stdout] test test_intercepting_route_one_level_up ... ok
[INFO] [stdout] test test_layout_option_named ... ok
[INFO] [stdout] test test_layout_option_none ... ok
[INFO] [stdout] test test_layout_option_with_option ... ok
[INFO] [stdout] test test_layout_skips_missing_intermediate ... ok
[INFO] [stdout] test test_layout_option_root ... ok
[INFO] [stdout] test test_layout_option_pattern ... ok
[INFO] [stdout] test test_loading_ui_detection ... ok
[INFO] [stdout] test test_layout_with_trailing_slash ... ok
[INFO] [stdout] test test_loading_pages_collection ... ok
[INFO] [stdout] test test_metadata_chaining ... ok
[INFO] [stdout] test test_metadata_override ... ok
[INFO] [stdout] test test_metadata_in_route_match ... ok
[INFO] [stdout] test test_multiple_constraints ... ok
[INFO] [stdout] test test_multiple_redirects_in_router ... ok
[INFO] [stdout] test test_named_layout_detection ... ok
[INFO] [stdout] test test_multiple_routes_with_aliases ... ok
[INFO] [stdout] test test_named_route_functional_chaining ... ok
[INFO] [stdout] test test_named_route_type_safe_reference ... ok
[INFO] [stdout] test test_named_route_with_metadata ... ok
[INFO] [stdout] test test_layout_with_backslashes ... ok
[INFO] [stdout] test test_intercepting_route_same_level ... ok
[INFO] [stdout] test test_nested_error_page_three_levels ... ok
[INFO] [stdout] test test_intercepting_route_two_levels_up ... ok
[INFO] [stdout] test test_nested_layout_three_levels ... ok
[INFO] [stdout] test test_nolayout_marker_effect ... ok
[INFO] [stdout] test test_nolayout_marker_vs_explicit_option ... ok
[INFO] [stdout] test test_loading_ui_hierarchical_resolution ... ok
[INFO] [stdout] test test_normalize_path_fixes_issues ... ok
[INFO] [stdout] test test_not_found_hierarchical_resolution ... ok
[INFO] [stdout] test test_not_found_pages_collection ... ok
[INFO] [stdout] test test_layout_with_double_slashes ... ok
[INFO] [stdout] test test_optional_catch_all_empty_string_vs_none ... ok
[INFO] [stdout] test test_nolayout_marker_detection ... ok
[INFO] [stdout] test test_nolayout_marker_hierarchy ... ok
[INFO] [stdout] test test_normalize_path_valid_unchanged ... ok
[INFO] [stdout] test test_no_constraint_default_behavior ... ok
[INFO] [stdout] test test_optional_catch_all_matches_multiple_segments ... ok
[INFO] [stdout] test test_optional_catch_all_in_router ... ok
[INFO] [stdout] test test_optional_catch_all_priority ... ok
[INFO] [stdout] test test_optional_catch_all_matches_zero_segments ... ok
[INFO] [stdout] test test_optional_catch_all_route_creation ... ok
[INFO] [stdout] test test_optional_catch_all_real_world_use_case ... ok
[INFO] [stdout] test test_optional_catch_all_route_priority_ordering ... ok
[INFO] [stdout] test test_optional_catch_all_segment_classification ... ok
[INFO] [stdout] test test_optional_catch_all_trailing_slash ... ok
[INFO] [stdout] test test_optional_catch_all_vs_optional_param ... ok
[INFO] [stdout] test test_functional_alias_composition ... ok
[INFO] [stdout] test test_optional_catch_all_vs_required_catch_all ... ok
[INFO] [stdout] test test_generate_url_catch_all ... ok
[INFO] [stdout] test test_layout_route ... ok
[INFO] [stdout] test test_optional_catch_all_with_constraint ... ok
[INFO] [stdout] test test_named_route_with_alias ... ok
[INFO] [stdout] test test_optional_catch_all_with_constraints_validation ... ok
[INFO] [stdout] test test_not_found_detection ... ok
[INFO] [stdout] test test_optional_catch_all_matches_single_segment ... ok
[INFO] [stdout] test test_optional_catch_all_with_static_prefix ... ok
[INFO] [stdout] test test_optional_param_matches ... ok
[INFO] [stdout] test test_optional_param_route ... ok
[INFO] [stdout] test test_parallel_and_intercepting_together ... ok
[INFO] [stdout] test test_empty_aliases_default ... ok
[INFO] [stdout] test test_functional_builder_chaining ... ok
[INFO] [stdout] test test_intercepting_route_collection_accessor ... ok
[INFO] [stdout] test test_multiple_named_routes ... ok
[INFO] [stdout] test test_parallel_route_collection_accessor ... ok
[INFO] [stdout] test test_parallel_route_detection ... ok
[INFO] [stdout] test test_parallel_route_multiple_slots ... ok
[INFO] [stdout] test test_parallel_route_nested ... ok
[INFO] [stdout] test test_parallel_route_in_intercepting_route ... ok
[INFO] [stdout] test test_parallel_route_real_world_dashboard ... ok
[INFO] [stdout] test test_parallel_route_specific_slot ... ok
[INFO] [stdout] test test_parallel_route_with_index ... ok
[INFO] [stdout] test test_parameter_constraint_from_str ... ok
[INFO] [stdout] test test_path_hierarchy_iterator ... ok
[INFO] [stdout] test test_phase_5_with_all_previous_features ... ok
[INFO] [stdout] test test_redirect_canonical_url ... ok
[INFO] [stdout] test test_parallel_route_with_route_groups ... ok
[INFO] [stdout] test test_redirect_chain_not_followed ... ok
[INFO] [stdout] test test_redirect_empty_params ... ok
[INFO] [stdout] test test_parallel_route_with_dynamic_params ... ok
[INFO] [stdout] test test_redirect_internationalization ... ok
[INFO] [stdout] test test_redirect_legacy_url_support ... ok
[INFO] [stdout] test test_redirect_pattern_matching ... ok
[INFO] [stdout] test test_redirect_priority_ordering ... ok
[INFO] [stdout] test test_redirect_priority_with_static_routes ... ok
[INFO] [stdout] test test_redirect_route_creation ... ok
[INFO] [stdout] test test_redirect_route_permanent ... ok
[INFO] [stdout] test test_redirect_route_preserve_method ... ok
[INFO] [stdout] test test_redirect_route_temporary ... ok
[INFO] [stdout] test test_redirect_router_matching ... ok
[INFO] [stdout] test test_redirect_shortlink ... ok
[INFO] [stdout] test test_redirect_static_route ... ok
[INFO] [stdout] test test_redirect_target_non_redirect_route ... ok
[INFO] [stdout] test test_redirect_template_path_marker ... ok
[INFO] [stdout] test test_redirect_with_different_param_names ... ok
[INFO] [stdout] test test_redirect_with_dynamic_params_in_router ... ok
[INFO] [stdout] test test_redirect_with_multiple_parameters ... ok
[INFO] [stdout] test test_redirect_with_parameters ... ok
[INFO] [stdout] test test_remove_route_removes_from_named_routes ... ok
[INFO] [stdout] test test_route_from_path_dynamic ... ok
[INFO] [stdout] test test_route_from_path_index ... ok
[INFO] [stdout] test test_route_from_path_nested_index ... ok
[INFO] [stdout] test test_route_from_path_static ... ok
[INFO] [stdout] test test_route_group_basic ... ok
[INFO] [stdout] test test_route_group_does_not_affect_params ... ok
[INFO] [stdout] test test_route_group_empty_name ... ok
[INFO] [stdout] test test_route_group_multiple ... ok
[INFO] [stdout] test test_route_group_multiple_levels ... ok
[INFO] [stdout] test test_route_group_nested ... ok
[INFO] [stdout] test test_route_group_not_at_start ... ok
[INFO] [stdout] test test_route_group_organizational_structure ... ok
[INFO] [stdout] test test_route_group_priority_unchanged ... ok
[INFO] [stdout] test test_route_group_real_world_organization ... ok
[INFO] [stdout] test test_route_group_same_path_different_groups ... ok
[INFO] [stdout] test test_route_group_with_catch_all ... ok
[INFO] [stdout] test test_route_group_with_dynamic_params ... ok
[INFO] [stdout] test test_route_group_with_layout ... ok
[INFO] [stdout] test test_route_group_with_metadata ... ok
[INFO] [stdout] test test_route_group_with_named_layout ... ok
[INFO] [stdout] test test_route_group_with_route_aliases ... ok
[INFO] [stdout] test test_route_group_with_special_chars ... ok
[INFO] [stdout] test test_route_has_meta ... ok
[INFO] [stdout] test test_route_match_redirect_methods_non_redirect ... ok
[INFO] [stdout] test test_route_matches_any_alias ... ok
[INFO] [stdout] test test_route_matches_any_no_match ... ok
[INFO] [stdout] test test_route_matches_any_primary ... ok
[INFO] [stdout] test test_route_matches_dynamic ... ok
[INFO] [stdout] test test_route_matches_static ... ok
[INFO] [stdout] test test_route_priority ... ok
[INFO] [stdout] test test_route_priority_ordering ... ok
[INFO] [stdout] test test_route_with_aliases_batch ... ok
[INFO] [stdout] test test_route_static_alias_matching ... ok
[INFO] [stdout] test test_route_with_metadata_batch ... ok
[INFO] [stdout] test test_route_with_meta ... ok
[INFO] [stdout] test test_route_with_multiple_aliases_chained ... ok
[INFO] [stdout] test test_route_with_name ... ok
[INFO] [stdout] test test_route_with_single_alias ... ok
[INFO] [stdout] test test_route_without_name ... ok
[INFO] [stdout] test test_router_get_route_by_name ... ok
[INFO] [stdout] test test_router_get_route_by_name_nonexistent ... ok
[INFO] [stdout] test test_router_match_route_with_alias ... ok
[INFO] [stdout] test test_router_matching ... ok
[INFO] [stdout] test test_router_url_for ... ok
[INFO] [stdout] test test_router_url_for_nonexistent_name ... ok
[INFO] [stdout] test test_router_url_for_params ... ok
[INFO] [stdout] test test_router_with_all_route_types ... ok
[INFO] [stdout] test test_section_error_page ... ok
[INFO] [stdout] test test_template_detection ... ok
[INFO] [stdout] test test_special_files_with_route_groups ... ok
[INFO] [stdout] test test_template_hierarchical_resolution ... ok
[INFO] [stdout] test test_url_generation_preserves_order ... ok
[INFO] [stdout] test test_url_generation_root_route ... ok
[INFO] [stdout] test test_templates_collection ... ok
[INFO] [stdout] test test_url_for_params_empty ... ok
[INFO] [stdout] test test_special_files_do_not_create_routes ... ok
[INFO] [stderr]    Doc-tests rhtmx_router
[INFO] [stdout] test test_url_generation_with_extra_params ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 198 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test src/lib.rs - Route::layout_pattern (line 440) ... ok
[INFO] [stdout] test src/lib.rs - Route::get_meta (line 588) ... ok
[INFO] [stdout] test src/lib.rs - Route::has_meta (line 605) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_alias (line 634) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_aliases (line 652) ... ok
[INFO] [stdout] test src/constraint.rs - constraint::ParameterConstraint::validate (line 34) ... ok
[INFO] [stdout] test src/lib.rs - Route::redirect (line 837) ... ok
[INFO] [stdout] test src/lib.rs - Route::from_path (line 215) ... ok
[INFO] [stdout] test src/constraint.rs - constraint::ParameterConstraint::from_str (line 88) ... ok
[INFO] [stdout] test src/layout.rs - layout::LayoutOption (line 10) ... ok
[INFO] [stdout] test src/intercept.rs - intercept::InterceptLevel (line 8) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_layout_pattern (line 529) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_meta (line 552) ... ok
[INFO] [stdout] test src/lib.rs - Route::redirect_target (line 938) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_layout_option (line 472) ... ok
[INFO] [stdout] test src/lib.rs - (line 33) ... ok
[INFO] [stdout] test src/lib.rs - Route::matches_any (line 676) ... ok
[INFO] [stdout] test src/lib.rs - Route::generate_url (line 756) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_no_layout (line 487) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_metadata (line 568) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_named_layout (line 515) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_root_layout (line 501) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_parallel_route (line 1535) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_loading_page (line 1438) ... ok
[INFO] [stdout] test src/lib.rs - RouteMatch::redirect_target (line 158) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_route_by_name (line 1656) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_layout_for_match (line 1302) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_intercepting_route (line 1554) ... ok
[INFO] [stdout] test src/lib.rs - RouteMatch::redirect_status (line 178) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_error_page (line 1404) ... ok
[INFO] [stdout] test src/lib.rs - RouteMatch::is_redirect (line 139) ... ok
[INFO] [stdout] test src/lib.rs - Router::add_route (line 1078) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_parallel_routes (line 1510) ... ok
[INFO] [stdout] test src/lib.rs - Router::url_for_params (line 1625) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_layout_by_name (line 1371) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_template (line 1460) ... ok
[INFO] [stdout] test src/lib.rs - Route::with_name (line 734) ... ok
[INFO] [stdout] test src/path/mod.rs - path::is_valid_path (line 23) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_not_found_page (line 1482) ... ok
[INFO] [stdout] test src/path/mod.rs - path::normalize_path (line 83) ... ok
[INFO] [stdout] test src/route/parser.rs - route::parser::calculate_priority (line 216) ... ok
[INFO] [stdout] test src/path/hierarchy.rs - path::hierarchy::PathHierarchy<'a>::new (line 39) ... ok
[INFO] [stdout] test src/path/hierarchy.rs - path::hierarchy::PathHierarchy (line 16) ... ok
[INFO] [stdout] test src/route/detection.rs - route::detection::detect_intercepting_route (line 96) ... ok
[INFO] [stdout] test src/route/parser.rs - route::parser::parse_pattern (line 33) ... ok
[INFO] [stdout] test src/route/pattern.rs - route::pattern::PatternSegmentType (line 15) ... ok
[INFO] [stdout] test src/route/detection.rs - route::detection::extract_layout_name (line 18) ... ok
[INFO] [stdout] test src/lib.rs - Router::get_layout (line 1267) ... ok
[INFO] [stdout] test src/lib.rs - Router::with_case_insensitive (line 1036) ... ok
[INFO] [stdout] test src/route/detection.rs - route::detection::detect_parallel_route (line 48) ... ok
[INFO] [stdout] test src/lib.rs - Router::match_route (line 1207) ... ok
[INFO] [stdout] test src/lib.rs - Router::url_for (line 1595) ... ok
[INFO] [stdout] test src/route/pattern.rs - route::pattern::classify_segment (line 67) ... ok
[INFO] [stdout] test src/route/pattern.rs - route::pattern::parse_param_with_constraint (line 133) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.66s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f54102dbb00531e72fa70a334a47dbdc59fbaa7ee4046424b00e935ce2f8961b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f54102dbb00531e72fa70a334a47dbdc59fbaa7ee4046424b00e935ce2f8961b", kill_on_drop: false }`
[INFO] [stdout] f54102dbb00531e72fa70a334a47dbdc59fbaa7ee4046424b00e935ce2f8961b
