[INFO] cloning repository https://github.com/nktkt/Michael
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nktkt/Michael" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnktkt%2FMichael", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnktkt%2FMichael'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1485d5d23a931222e806299aaebb57381c0ded24
[INFO] testing nktkt/Michael against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnktkt%2FMichael" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-1-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/nktkt/Michael
[INFO] finished tweaking git repo https://github.com/nktkt/Michael
[INFO] tweaked toml for git repo https://github.com/nktkt/Michael written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nktkt/Michael on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nktkt/Michael 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded pem v3.0.6
[INFO] [stderr]   Downloaded yasna v0.5.2
[INFO] [stderr]   Downloaded java-locator v0.1.9
[INFO] [stderr]   Downloaded cast v0.3.0
[INFO] [stderr]   Downloaded tinytemplate v1.2.1
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded zip v2.4.2
[INFO] [stderr]   Downloaded rcgen v0.13.2
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded redis v0.27.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745
[INFO] running `Command { std: "docker" "start" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", 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" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", 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" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling rustls-pemfile v2.2.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling tomcatrs-servlet-bridge v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-servlet-bridge)
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling tomcatrs-core v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-core)
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tomcatrs-config v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-config)
[INFO] [stderr]    Compiling tomcatrs-webapp v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-webapp)
[INFO] [stderr]    Compiling tomcatrs-session v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-session)
[INFO] [stderr]    Compiling tomcatrs-websocket v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-websocket)
[INFO] [stderr]    Compiling tomcatrs-coyote v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-coyote)
[INFO] [stderr]    Compiling tomcatrs-security v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-security)
[INFO] [stderr]    Compiling tomcatrs-soak v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-soak)
[INFO] [stderr]    Compiling tomcatrs-observability v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-observability)
[INFO] [stderr]    Compiling tomcatrs-catalina v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-catalina)
[INFO] [stderr]    Compiling tomcatrs-jsp v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-jsp)
[INFO] [stderr]    Compiling tomcatrs-compat-tests v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-compat-tests)
[INFO] [stderr]    Compiling tomcatrs-bench v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-bench)
[INFO] [stderr]    Compiling tomcatrs-cli v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-cli)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s
[INFO] running `Command { std: "docker" "inspect" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", 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" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]    Compiling deranged v0.5.8
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling pem v3.0.6
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling tomcatrs-websocket v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-websocket)
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tomcatrs-core v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-core)
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling yasna v0.5.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rcgen v0.13.2
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tomcatrs-config v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-config)
[INFO] [stderr]    Compiling tomcatrs-webapp v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-webapp)
[INFO] [stderr]    Compiling tomcatrs-coyote v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-coyote)
[INFO] [stderr]    Compiling tomcatrs-soak v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-soak)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling tomcatrs-observability v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-observability)
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tomcatrs-session v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-session)
[INFO] [stderr]    Compiling tomcatrs-security v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-security)
[INFO] [stderr]    Compiling tomcatrs-servlet-bridge v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-servlet-bridge)
[INFO] [stderr]    Compiling tomcatrs-catalina v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-catalina)
[INFO] [stderr]    Compiling tomcatrs-jsp v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-jsp)
[INFO] [stderr]    Compiling tomcatrs-compat-tests v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-compat-tests)
[INFO] [stderr]    Compiling tomcatrs-bench v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-bench)
[INFO] [stderr]    Compiling tomcatrs-cli v1.0.0 (/opt/rustwide/workdir/crates/tomcatrs-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 57.50s
[INFO] running `Command { std: "docker" "inspect" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", 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" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_bench-22aaceca06845d9a)
[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 unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_catalina-7cf1d25d3610d0fd)
[INFO] [stdout] 
[INFO] [stdout] running 130 tests
[INFO] [stdout] test adapter::tests::mapped_request_returns_routing_placeholder ... ok
[INFO] [stdout] test adapter::tests::resolve_under_rejects_traversal ... ok
[INFO] [stdout] test background::tests::counter_processor_is_invoked ... ok
[INFO] [stdout] test background::tests::engine_collects_one_processor_per_context ... ok
[INFO] [stdout] test adapter::tests::mapped_request_works_through_host_alias ... ok
[INFO] [stdout] test adapter::tests::unknown_path_in_known_host_is_404 ... ok
[INFO] [stdout] test adapter::tests::static_file_under_context_is_served ... ok
[INFO] [stdout] test context::tests::deploy_descriptor_wires_servlets_mappings_and_filters ... ok
[INFO] [stdout] test context::tests::from_config_copies_fields ... ok
[INFO] [stdout] test adapter::tests::unknown_host_falls_back_and_404s ... ok
[INFO] [stdout] test context::tests::deploy_descriptor_is_single_shot ... ok
[INFO] [stdout] test context::tests::deploy_succeeds_with_empty_report_when_no_web_xml ... ok
[INFO] [stdout] test context::tests::wrapper_lookup_by_name ... ok
[INFO] [stdout] test default_servlet::tests::head_has_no_body_but_keeps_headers ... ok
[INFO] [stdout] test background::tests::loop_stops_when_sender_dropped ... ok
[INFO] [stdout] test default_servlet::tests::directory_listing_when_enabled ... ok
[INFO] [stdout] test default_servlet::tests::if_modified_since_yields_304 ... ok
[INFO] [stdout] test background::tests::non_reloadable_context_does_nothing ... ok
[INFO] [stdout] test background::tests::loop_stops_promptly_on_shutdown ... ok
[INFO] [stdout] test background::tests::spawn_background_stops_when_sender_signals ... ok
[INFO] [stdout] test default_servlet::tests::if_none_match_yields_304 ... ok
[INFO] [stdout] test default_servlet::tests::single_range_yields_206_with_content_range ... ok
[INFO] [stdout] test default_servlet::tests::sendfile_hint_for_large_files ... ok
[INFO] [stdout] test default_servlet::tests::missing_file_is_404 ... ok
[INFO] [stdout] test default_servlet::tests::for_context_reads_doc_base_and_welcome_files ... ok
[INFO] [stdout] test default_servlet::tests::multiple_ranges_yield_multipart ... ok
[INFO] [stdout] test default_servlet::tests::serves_a_real_file_with_type_and_length ... ok
[INFO] [stdout] test context::tests::deploy_reads_real_web_xml_from_exploded_webapp ... ok
[INFO] [stdout] test default_servlet::tests::directory_with_welcome_file_is_served ... ok
[INFO] [stdout] test context::tests::context_cascades_lifecycle_to_wrappers ... ok
[INFO] [stdout] test default_servlet::tests::traversal_is_rejected ... ok
[INFO] [stdout] test deployer::tests::deploy_all_registers_a_context_per_webapp ... ok
[INFO] [stdout] test default_servlet::tests::non_get_on_read_only_is_405 ... ok
[INFO] [stdout] test deployer::tests::deploy_all_is_idempotent ... ok
[INFO] [stdout] test engine::tests::host_lookup_is_case_insensitive ... ok
[INFO] [stdout] test filter::tests::a_filter_named_twice_appears_once_at_first_match ... ok
[INFO] [stdout] test engine::tests::init_fails_when_default_host_missing ... ok
[INFO] [stdout] test engine::tests::engine_cascades_lifecycle_to_hosts ... ok
[INFO] [stdout] test filter::tests::custom_invoker_observes_links_in_chain_order ... ok
[INFO] [stdout] test filter::tests::dispatcher_type_filtering_excludes_non_covered_mappings ... ok
[INFO] [stdout] test filter::tests::dispatcher_type_parses_known_tokens_case_insensitively ... ok
[INFO] [stdout] test filter::tests::from_web_descriptor_builds_url_pattern_mappings ... ok
[INFO] [stdout] test filter::tests::mapping_with_empty_dispatchers_normalises_to_request ... ok
[INFO] [stdout] test default_servlet::tests::unsatisfiable_range_yields_416 ... ok
[INFO] [stdout] test filter::tests::running_an_empty_chain_reaches_the_end_immediately ... ok
[INFO] [stdout] test filter::tests::servlet_name_filters_come_after_url_pattern_filters ... ok
[INFO] [stdout] test filter::tests::url_pattern_filters_keep_declaration_order ... ok
[INFO] [stdout] test host::tests::from_config_builds_contexts_and_aliases ... ok
[INFO] [stdout] test default_servlet::tests::web_inf_is_rejected ... ok
[INFO] [stdout] test host::tests::host_cascades_lifecycle_to_contexts ... ok
[INFO] [stdout] test filter::tests::non_matching_url_patterns_are_excluded ... ok
[INFO] [stdout] test manager::tests::authenticated_user_without_manager_role_is_forbidden ... ok
[INFO] [stdout] test filter::tests::noop_invoker_walks_the_whole_chain_to_the_end ... ok
[INFO] [stdout] test filter::tests::undeclared_filter_in_mapping_is_skipped ... ok
[INFO] [stdout] test deployer::tests::deploy_all_rejects_missing_app_base ... ok
[INFO] [stdout] test default_servlet::tests::write_methods_are_501_when_not_read_only ... ok
[INFO] [stdout] test manager::tests::good_basic_auth_with_manager_role_grants_access ... ok
[INFO] [stdout] test manager::tests::bad_credentials_yield_401 ... ok
[INFO] [stdout] test manager::tests::health_is_a_simple_liveness_probe ... ok
[INFO] [stdout] test manager::tests::loopback_detection_covers_v4_and_v6 ... ok
[INFO] [stdout] test manager::tests::missing_auth_yields_401_with_challenge ... ok
[INFO] [stdout] test manager::tests::non_loopback_peer_is_rejected_when_remote_disallowed ... ok
[INFO] [stdout] test manager::tests::non_loopback_peer_is_admitted_when_remote_allowed ... ok
[INFO] [stdout] test manager::tests::parse_query_handles_percent_and_plus ... ok
[INFO] [stdout] test manager::tests::owns_path_matches_mount_prefix_only_on_segment_boundary ... ok
[INFO] [stdout] test manager::tests::serverinfo_reports_version ... ok
[INFO] [stdout] test manager::tests::undeploy_for_unknown_path_is_404 ... ok
[INFO] [stdout] test manager::tests::unknown_path_under_mount_is_404 ... ok
[INFO] [stdout] test manager::tests::start_then_stop_drives_context_state ... ok
[INFO] [stdout] test manager::tests::undeploy_removes_context_from_host ... ok
[INFO] [stdout] test manager::tests::list_includes_configured_services_hosts_and_contexts ... ok
[INFO] [stdout] test manager_ui::tests::html_escapes_special_characters ... ok
[INFO] [stdout] test manager_ui::tests::html_contains_host_and_context_names ... ok
[INFO] [stdout] test mapper::tests::context_path_must_match_segment_boundary ... ok
[INFO] [stdout] test mapper::tests::default_pattern_matches_anything ... ok
[INFO] [stdout] test manager_ui::tests::render_returns_html_response_with_correct_headers ... ok
[INFO] [stdout] test manager_ui::tests::url_encode_preserves_unreserved_and_encodes_slash ... ok
[INFO] [stdout] test mapper::tests::default_servlet_is_last_resort ... ok
[INFO] [stdout] test mapper::tests::exact_beats_prefix_extension_and_default ... ok
[INFO] [stdout] test mapper::tests::exact_pattern_matches_only_itself ... ok
[INFO] [stdout] test mapper::tests::extension_beats_default ... ok
[INFO] [stdout] test mapper::tests::extension_pattern_matches_final_segment_suffix ... ok
[INFO] [stdout] test mapper::tests::host_resolves_by_exact_alias_and_default ... ok
[INFO] [stdout] test mapper::tests::longer_prefix_beats_shorter_prefix ... ok
[INFO] [stdout] test mapper::tests::parse_classifies_every_pattern_kind ... ok
[INFO] [stdout] test mapper::tests::longest_context_path_wins ... ok
[INFO] [stdout] test mapper::tests::pattern_roundtrips_through_string_form ... ok
[INFO] [stdout] test mapper::tests::map_returns_none_when_no_servlet_matches ... ok
[INFO] [stdout] test mapper::tests::prefix_beats_extension_and_default ... ok
[INFO] [stdout] test mapper::tests::prefix_pattern_matches_prefix_and_descendants ... ok
[INFO] [stdout] test pipeline::tests::pipeline_without_basic_valve_errors ... ok
[INFO] [stdout] test pipeline::tests::short_circuiting_valve_skips_the_rest_of_the_pipeline ... ok
[INFO] [stdout] test pipeline::tests::pipeline_runs_three_valves_in_order_then_basic ... ok
[INFO] [stdout] test pipeline::tests::pipeline_is_send_and_sync ... ok
[INFO] [stdout] test security_valve::tests::method_filter_default_allows_safe_methods_only ... ok
[INFO] [stdout] test security_valve::tests::method_filter_rejects_delete_when_only_get_post_allowed ... ok
[INFO] [stdout] test security_valve::tests::security_headers_config_overrides_take_effect ... ok
[INFO] [stdout] test security_valve::tests::method_filter_is_case_insensitive ... ok
[INFO] [stdout] test server::tests::from_config_builds_the_whole_tree ... ok
[INFO] [stdout] test security_valve::tests::security_headers_valve_adds_each_default_header ... ok
[INFO] [stdout] test startup::tests::init_config_snapshots_wrapper ... ok
[INFO] [stdout] test redeploy::tests::first_tick_records_initial_mtime_without_redeploying ... ok
[INFO] [stdout] test startup::tests::all_servlets_load_order_lists_eager_then_lazy ... ok
[INFO] [stdout] test server::tests::server_lifecycle_cascades_through_whole_tree ... ok
[INFO] [stdout] test server::tests::from_config_rejects_empty_server ... ok
[INFO] [stdout] test security_valve::tests::security_headers_valve_honours_downstream_csp_override ... ok
[INFO] [stdout] test security_valve::tests::method_filter_allows_listed_methods ... ok
[INFO] [stdout] test startup::tests::initialize_servlets_reports_eager_and_lazy ... ok
[INFO] [stdout] test service::tests::service_cascades_lifecycle_to_engine ... ok
[INFO] [stdout] test server::tests::default_dev_config_starts_cleanly ... ok
[INFO] [stdout] test startup::tests::load_mode_classification ... ok
[INFO] [stdout] test valve::tests::access_log_line_has_expected_shape ... ok
[INFO] [stdout] test startup::tests::startup_order_is_sorted_and_tie_broken_by_declaration ... ok
[INFO] [stdout] test valve::tests::error_report_valve_fills_body_on_500 ... ok
[INFO] [stdout] test valve::tests::error_report_valve_leaves_existing_body_untouched ... ok
[INFO] [stdout] test state::tests::starts_in_new_and_transitions ... ok
[INFO] [stdout] test valve::tests::pipeline_of_three_valves_runs_in_order_and_reaches_terminal ... ok
[INFO] [stdout] test wrapper::tests::accessors_reflect_construction ... ok
[INFO] [stdout] test valve::tests::remote_addr_valve_allows_all_when_unconfigured ... ok
[INFO] [stdout] test wrapper::tests::init_params_and_load_on_startup_are_carried ... ok
[INFO] [stdout] test wrapper::tests::wrapper_lifecycle_transitions ... ok
[INFO] [stdout] test startup::tests::eager_failure_is_collected_not_fatal ... ok
[INFO] [stdout] test valve::tests::remote_addr_valve_denies_listed_ip ... ok
[INFO] [stdout] test valve::tests::remote_addr_valve_allows_listed_ip ... ok
[INFO] [stdout] test deployer::tests::watcher_deploys_then_stops_on_shutdown ... ok
[INFO] [stdout] test background::tests::background_process_runs_within_a_few_ticks ... ok
[INFO] [stdout] test background::tests::engine_emits_periodic_and_ticks_context ... ok
[INFO] [stdout] test redeploy::tests::redeploy_task_run_stops_promptly_on_shutdown ... ok
[INFO] [stdout] test redeploy::tests::non_reloadable_context_is_ignored ... ok
[INFO] [stdout] test redeploy::tests::mtime_change_triggers_redeploy_and_starts_context ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 130 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tomcatrs-f8aaac51c20cdc47)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test preflight::tests::exit_code_respects_strict ... ok
[INFO] [stdout] test preflight::tests::attr_value_handles_both_quote_styles ... ok
[INFO] [stdout] test preflight::tests::find_start_tags_picks_up_simple_and_self_closing ... ok
[INFO] [stdout] test preflight::tests::limits_equal_treats_defaults_as_equal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-0311b516bb69aeb6)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cli_serves_real_http_traffic ... ok
[INFO] [stderr]      Running tests/graceful_shutdown.rs (/opt/rustwide/target/debug/deps/graceful_shutdown-cfd888b08fc7d0fe)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test run_help_advertises_shutdown_timeout_flag ... ok
[INFO] [stdout] test sigterm_triggers_graceful_shutdown_within_timeout ... ok
[INFO] [stderr]      Running tests/preflight.rs (/opt/rustwide/target/debug/deps/preflight-09d13294c6f677da)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test preflight_on_shipped_conf_succeeds_under_non_strict ... ok
[INFO] [stdout] test preflight_on_ajp_without_secret_fails_under_strict ... ok
[INFO] [stdout] test preflight_with_ajp_secret_passes_non_strict ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_compat_tests-d7dea0962a9c5238)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test goldens::tests::diff_reports_each_mismatch ... ok
[INFO] [stdout] test goldens::tests::matching_response_has_empty_diff ... ok
[INFO] [stdout] test goldens::tests::parses_a_golden_with_every_directive ... ok
[INFO] [stdout] test tests::compat_result_from_parts_lowercases_headers ... ok
[INFO] [stdout] test tests::parse_response_decodes_chunked_body ... ok
[INFO] [stdout] test tests::parse_response_honors_content_length ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scenarios.rs (/opt/rustwide/target/debug/deps/scenarios-31e3bd2976094287)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test options_root_is_method_not_allowed ... ok
[INFO] [stdout] test oversized_header_field_is_rejected_with_431 ... ok
[INFO] [stdout] test chunked_post_body_is_consumed_and_yields_405 ... ok
[INFO] [stdout] test get_root_serves_landing_page ... ok
[INFO] [stdout] test unknown_host_falls_back_to_app_base_and_404s ... ok
[INFO] [stdout] test get_nonexistent_returns_404 ... ok
[INFO] [stdout] test post_root_is_method_not_allowed ... ok
[INFO] [stdout] test path_traversal_is_rejected_with_400 ... ok
[INFO] [stdout] test body_lengths_are_consistent_across_scenarios ... ok
[INFO] [stdout] test http_1_0_request_still_works ... ok
[INFO] [stdout] test head_root_returns_empty_body_with_200 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_config-0ea14c86e7f9497d)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test catalina_properties::tests::empty_input_is_empty ... ok
[INFO] [stdout] test catalina_properties::tests::handles_line_continuations ... ok
[INFO] [stdout] test catalina_properties::tests::colon_separator_and_escapes ... ok
[INFO] [stdout] test server_xml::tests::missing_server_element_is_an_error ... ok
[INFO] [stdout] test web_xml::tests::empty_web_app_yields_empty_struct ... ok
[INFO] [stdout] test context_xml::tests::defaults_when_attributes_absent ... ok
[INFO] [stdout] test server_xml::tests::unknown_attributes_do_not_fail ... ok
[INFO] [stdout] test context_xml::tests::missing_context_element_is_an_error ... ok
[INFO] [stdout] test context_xml::tests::parses_context_xml ... ok
[INFO] [stdout] test server_xml::tests::parses_realistic_server_xml ... ok
[INFO] [stdout] test tests::request_limits_defaults_are_tomcat_like ... ok
[INFO] [stdout] test tests::default_dev_matches_canonical_tomcat ... ok
[INFO] [stdout] test web_xml::tests::parses_sample_web_xml ... ok
[INFO] [stdout] test catalina_properties::tests::parses_basic_properties ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_core-f6a03eb63d66403b)
[INFO] [stdout] test tests::protocol_default_is_http11 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test lifecycle::tests::availability_is_started_only ... ok
[INFO] [stdout] test lifecycle::tests::terminal_states ... ok
[INFO] [stdout] test runtime::tests::server_info_contains_version ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_coyote-02669c91c074cee5)
[INFO] [stdout] 
[INFO] [stdout] running 199 tests
[INFO] [stdout] test acceptor::tests::fatal_classification ... ok
[INFO] [stdout] test acceptor::tests::shutdown_starts_untriggered_and_flips_once ... ok
[INFO] [stdout] test ajp::tests::decode_forward_request_rejects_unknown_method ... ok
[INFO] [stdout] test ajp::tests::decode_forward_request_get_root ... ok
[INFO] [stdout] test ajp::tests::encode_get_body_chunk_layout ... ok
[INFO] [stdout] test ajp::tests::encode_cpong_layout ... ok
[INFO] [stdout] test ajp::tests::encode_end_response_layout ... ok
[INFO] [stdout] test ajp::tests::encode_send_body_chunk_layout ... ok
[INFO] [stdout] test ajp::tests::encode_send_body_chunk_rejects_oversize ... ok
[INFO] [stdout] test ajp::tests::encode_send_headers_layout ... ok
[INFO] [stdout] test ajp::tests::into_request_rejects_control_bytes_in_uri ... ok
[INFO] [stdout] test ajp::tests::message_framing_round_trip ... ok
[INFO] [stdout] test ajp::tests::message_read_from_clean_eof_is_none ... ok
[INFO] [stdout] test ajp::tests::message_type_codes ... ok
[INFO] [stdout] test ajp::tests::request_header_code_table ... ok
[INFO] [stdout] test ajp::tests::req_attribute_injection_is_dropped ... ok
[INFO] [stdout] test ajp::tests::message_write_then_read_round_trip ... ok
[INFO] [stdout] test ajp::tests::serve_answers_cping_with_cpong ... ok
[INFO] [stdout] test ajp::tests::response_header_code_table ... ok
[INFO] [stdout] test ajp::tests::serve_enforces_secret ... ok
[INFO] [stdout] test ajp::tests::secret_matches_logic ... ok
[INFO] [stdout] test chunked::tests::encode_chunked_empty_body ... ok
[INFO] [stdout] test chunked::tests::chunk_extensions_are_ignored ... ok
[INFO] [stdout] test ajp::tests::serve_one_request_over_duplex ... ok
[INFO] [stdout] test ajp::tests::message_read_from_validates_magic ... ok
[INFO] [stdout] test chunked::tests::decodes_body_fed_byte_by_byte ... ok
[INFO] [stdout] test chunked::tests::collects_trailer_headers ... ok
[INFO] [stdout] test chunked::tests::decodes_multi_chunk_body ... ok
[INFO] [stdout] test ajp::tests::method_code_table ... ok
[INFO] [stdout] test chunked::tests::rejects_empty_chunk_size ... ok
[INFO] [stdout] test chunked::tests::rejects_missing_chunk_data_crlf ... ok
[INFO] [stdout] test chunked::tests::rejects_malformed_chunk_size ... ok
[INFO] [stdout] test ajp::tests::serve_pulls_request_body ... ok
[INFO] [stdout] test chunked::tests::rejects_oversize_body ... ok
[INFO] [stdout] test chunked::tests::encode_chunked_round_trips_through_decoder ... ok
[INFO] [stdout] test chunked::tests::decodes_empty_body ... ok
[INFO] [stdout] test cookies::tests::expires_unix_round_trips_into_header ... ok
[INFO] [stdout] test chunked::tests::stops_at_end_leaving_pipelined_bytes ... ok
[INFO] [stdout] test cookies::tests::imf_fixdate_formats_known_timestamps ... ok
[INFO] [stdout] test cookies::tests::negotiate_rejects_explicitly_unacceptable ... ok
[INFO] [stdout] test cookies::tests::negotiate_picks_best_available ... ok
[INFO] [stdout] test cookies::tests::parse_accept_keeps_extension_params ... ok
[INFO] [stdout] test cookies::tests::parse_accept_language_lowercases_and_sorts ... ok
[INFO] [stdout] test cookies::tests::parse_accept_encoding_handles_q_zero ... ok
[INFO] [stdout] test cookies::tests::parse_accept_orders_by_quality_then_specificity ... ok
[INFO] [stdout] test cookies::tests::parse_quality_list_skips_blank_entries ... ok
[INFO] [stdout] test cookies::tests::parse_cookie_header_handles_empty_input ... ok
[INFO] [stdout] test cookies::tests::set_cookie_same_site_none_secure ... ok
[INFO] [stdout] test hpack::tests::decoder_rejects_invalid_index ... ok
[INFO] [stdout] test hpack::tests::decoder_rejects_misplaced_table_size_update ... ok
[INFO] [stdout] test hpack::tests::dynamic_table_fifo_eviction ... ok
[INFO] [stdout] test hpack::tests::decoder_rejects_table_size_update_over_limit ... ok
[INFO] [stdout] test cookies::tests::set_cookie_with_all_attributes ... ok
[INFO] [stdout] test hpack::tests::dynamic_table_resize_evicts ... ok
[INFO] [stdout] test hpack::tests::dynamic_table_oversized_entry_empties_table ... ok
[INFO] [stdout] test hpack::tests::dynamic_table_set_max_capacity_clamps_down ... ok
[INFO] [stdout] test hpack::tests::decoder_accepts_leading_table_size_update ... ok
[INFO] [stdout] test cookies::tests::parses_multi_cookie_header_with_quotes_and_skips_malformed ... ok
[INFO] [stdout] test hpack::tests::encoder_custom_sensitivity_predicate ... ok
[INFO] [stdout] test hpack::tests::encoder_decoder_roundtrip_sensitive_and_hints ... ok
[INFO] [stdout] test hpack::tests::encoder_decoder_roundtrip_arbitrary_lists ... ok
[INFO] [stdout] test hpack::tests::decoder_rejects_oversized_header_list ... ok
[INFO] [stdout] test hpack::tests::encoder_emits_indexed_for_static_match ... ok
[INFO] [stdout] test hpack::tests::encoder_emits_pending_table_size_update ... ok
[INFO] [stdout] test chunked::tests::rejects_oversized_chunk_size_line ... ok
[INFO] [stdout] test cookies::tests::set_cookie_minimal ... ok
[INFO] [stdout] test hpack::tests::encoder_indexes_repeatable_headers_into_dynamic_table ... ok
[INFO] [stdout] test hpack::tests::huffman_decode_rejects_bad_padding ... ok
[INFO] [stdout] test hpack::tests::huffman_known_strings ... ok
[INFO] [stdout] test hpack::tests::huffman_table_is_well_formed_and_prefix_free ... ok
[INFO] [stdout] test hpack::tests::encoder_decoder_roundtrip_with_eviction_under_tiny_table ... ok
[INFO] [stdout] test acceptor::tests::shutdown_refuses_new_connections_promptly ... ok
[INFO] [stdout] test hpack::tests::encoder_marks_sensitive_headers_never_indexed ... ok
[INFO] [stdout] test hpack::tests::integer_codec_rfc_c1_examples ... ok
[INFO] [stdout] test hpack::tests::integer_decode_rejects_truncation_and_overflow ... ok
[INFO] [stdout] test hpack::tests::rfc_c2_2_literal_without_indexing ... ok
[INFO] [stdout] test hpack::tests::rfc_c2_1_literal_with_incremental_indexing ... ok
[INFO] [stdout] test hpack::tests::rfc_c3_request_sequence_without_huffman ... ok
[INFO] [stdout] test hpack::tests::rfc_c2_4_indexed_header_field ... ok
[INFO] [stdout] test hpack::tests::rfc_c4_request_sequence_with_huffman ... ok
[INFO] [stdout] test hpack::tests::integer_codec_roundtrips_many_values_and_prefixes ... ok
[INFO] [stdout] test hpack::tests::rfc_c5_response_sequence_without_huffman_evicts ... ok
[INFO] [stdout] test hpack::tests::rfc_c2_3_literal_never_indexed ... ok
[INFO] [stdout] test hpack::tests::static_table_has_61_entries_and_known_anchors ... ok
[INFO] [stdout] test hpack::tests::string_literal_raw_and_huffman_roundtrip ... ok
[INFO] [stdout] test http1::tests::body_framing_content_length ... ok
[INFO] [stdout] test http1::tests::body_framing_recognizes_chunked ... ok
[INFO] [stdout] test http1::tests::body_framing_rejects_content_length_plus_chunked ... ok
[INFO] [stdout] test http1::tests::body_framing_rejects_te_without_chunked_final ... ok
[INFO] [stdout] test http1::tests::enforces_max_header_count_with_431 ... ok
[INFO] [stdout] test http1::tests::enforces_max_header_size_with_431 ... ok
[INFO] [stdout] test http1::tests::enforces_max_uri_len_with_414 ... ok
[INFO] [stdout] test hpack::tests::rfc_c6_response_sequence_with_huffman_evicts ... ok
[INFO] [stdout] test hpack::tests::string_literal_rejects_truncation ... ok
[INFO] [stdout] test http1::tests::body_framing_rejects_unsupported_transfer_coding ... ok
[INFO] [stdout] test http1::tests::find_header_end_locates_blank_line ... ok
[INFO] [stdout] test http1::tests::keep_alive_defaults_by_version ... ok
[INFO] [stdout] test http1::tests::parses_simple_get_request_line_and_headers ... ok
[INFO] [stdout] test http1::tests::rejects_header_missing_colon ... ok
[INFO] [stdout] test http1::tests::rejects_missing_version ... ok
[INFO] [stdout] test http1::tests::keep_alive_works_after_a_chunked_request ... ok
[INFO] [stdout] test http1::tests::parses_request_with_no_headers ... ok
[INFO] [stdout] test http1::tests::read_request_decodes_chunked_body ... ok
[INFO] [stdout] test http2::tests::data_frame_round_trips ... ok
[INFO] [stdout] test http2::tests::empty_buffer_returns_none ... ok
[INFO] [stdout] test http1::tests::read_request_rejects_malformed_chunked_body_with_400 ... ok
[INFO] [stdout] test http1::tests::write_response_emits_well_formed_bytes ... ok
[INFO] [stdout] test http2::tests::continuation_round_trips ... ok
[INFO] [stdout] test http1::tests::read_request_rejects_oversized_chunked_body_with_413 ... ok
[INFO] [stdout] test http1::tests::read_request_reads_body_by_content_length ... ok
[INFO] [stdout] test http1::tests::rejects_unknown_http_version ... ok
[INFO] [stdout] test http2::tests::frame_header_masks_reserved_r_bit ... ok
[INFO] [stdout] test http2::tests::frame_header_parse_needs_full_header ... ok
[INFO] [stdout] test http2::tests::frame_header_round_trips ... ok
[INFO] [stdout] test http2::tests::frame_type_from_u8_round_trips_known_types ... ok
[INFO] [stdout] test http2::tests::goaway_too_short_is_rejected ... ok
[INFO] [stdout] test http2::tests::headers_frame_round_trips_with_priority ... ok
[INFO] [stdout] test http1::tests::read_request_rejects_oversized_body_with_413 ... ok
[INFO] [stdout] test http1::tests::header_values_are_trimmed ... ok
[INFO] [stdout] test http2::tests::headers_frame_round_trips_without_priority ... ok
[INFO] [stdout] test http2::tests::oversized_frame_is_rejected ... ok
[INFO] [stdout] test http2::tests::padded_data_frame_parses_with_padding_stripped ... ok
[INFO] [stdout] test http2::tests::frame_header_encodes_big_endian ... ok
[INFO] [stdout] test http2::tests::padded_headers_with_priority_parses ... ok
[INFO] [stdout] test http2::tests::goaway_round_trips_with_and_without_debug ... ok
[INFO] [stdout] test http2::tests::padded_frame_with_bad_pad_length_is_rejected ... ok
[INFO] [stdout] test http2::tests::partial_buffer_returns_none ... ok
[INFO] [stdout] test http2::tests::ping_frame_round_trips ... ok
[INFO] [stdout] test http2::tests::preface_is_the_rfc_9113_octets ... ok
[INFO] [stdout] test http2::tests::priority_frame_round_trips ... ok
[INFO] [stdout] test http2::tests::priority_frame_with_wrong_length_is_rejected ... ok
[INFO] [stdout] test http2::tests::push_promise_is_rejected_as_protocol_error ... ok
[INFO] [stdout] test http2::tests::rst_stream_round_trips ... ok
[INFO] [stdout] test http2::tests::rst_stream_with_wrong_length_is_rejected ... ok
[INFO] [stdout] test http2::tests::parse_consumes_only_one_frame_and_reports_offset ... ok
[INFO] [stdout] test http2::tests::settings_ack_round_trips ... ok
[INFO] [stdout] test http2::tests::settings_ack_with_nonempty_payload_is_rejected ... ok
[INFO] [stdout] test http2::tests::settings_with_bad_length_is_rejected ... ok
[INFO] [stdout] test http2::tests::stream_id_accessor_reports_connection_frames_as_zero ... ok
[INFO] [stdout] test http2::tests::settings_frame_round_trips ... ok
[INFO] [stdout] test http2::tests::unknown_frame_type_alone_returns_none_for_next ... ok
[INFO] [stdout] test http2::tests::unknown_frame_type_is_skipped ... ok
[INFO] [stdout] test http2::tests::unsupported_is_a_protocol_error ... ok
[INFO] [stdout] test http2::tests::window_update_round_trips ... ok
[INFO] [stdout] test http2::tests::window_update_with_wrong_length_is_rejected ... ok
[INFO] [stdout] test http2::tests::window_update_zero_increment_is_rejected ... ok
[INFO] [stdout] test http2_conn::tests::build_request_rejects_missing_method ... ok
[INFO] [stdout] test http2_conn::tests::build_request_maps_pseudo_headers ... ok
[INFO] [stdout] test http2_conn::tests::build_request_rejects_uppercase_header ... ok
[INFO] [stdout] test http2_conn::tests::flow_control_window_accounting ... ok
[INFO] [stdout] test http2_conn::tests::full_request_response_state_cycle ... ok
[INFO] [stdout] test http2_conn::tests::settings_apply_ignores_unknown_ids ... ok
[INFO] [stdout] test http2_conn::tests::settings_initial_window_change_adjusts_open_streams ... ok
[INFO] [stdout] test http2_conn::tests::default_settings_match_rfc_9113 ... ok
[INFO] [stdout] test http2_conn::tests::stream_state_data_transitions ... ok
[INFO] [stdout] test http2_conn::tests::stream_state_headers_illegal_when_closed ... ok
[INFO] [stdout] test normalize::tests::collapses_double_dot_segments_within_root ... ok
[INFO] [stdout] test http2_conn::tests::stream_state_send_end_stream_transitions ... ok
[INFO] [stdout] test normalize::tests::asterisk_form_is_allowed ... ok
[INFO] [stdout] test normalize::tests::collapses_single_dot_segments ... ok
[INFO] [stdout] test http2_conn::tests::build_request_rejects_pseudo_after_regular ... ok
[INFO] [stdout] test http2_conn::tests::http2_serves_a_get_over_duplex ... ok
[INFO] [stdout] test http2_conn::tests::stream_state_idle_to_half_closed_remote_on_headers_end_stream ... ok
[INFO] [stdout] test normalize::tests::collapses_duplicate_slashes ... ok
[INFO] [stdout] test normalize::tests::rejects_backslash ... ok
[INFO] [stdout] test normalize::tests::rejects_bad_percent_encoding ... ok
[INFO] [stdout] test normalize::tests::plain_path_passes_through ... ok
[INFO] [stdout] test http2::tests::ping_with_wrong_payload_length_is_rejected ... ok
[INFO] [stdout] test http2_conn::tests::settings_apply_rejects_bad_max_frame_size ... ok
[INFO] [stdout] test http2_conn::tests::stream_state_idle_to_open_on_headers ... ok
[INFO] [stdout] test normalize::tests::preserves_trailing_slash ... ok
[INFO] [stdout] test normalize::tests::percent_decodes_path ... ok
[INFO] [stdout] test normalize::tests::rejects_nul_byte ... ok
[INFO] [stdout] test normalize::tests::rejects_non_absolute_target ... ok
[INFO] [stdout] test normalize::tests::rejects_traversal_via_encoded_dots ... ok
[INFO] [stdout] test normalize::tests::rejects_encoded_slash ... ok
[INFO] [stdout] test normalize::tests::root_path_stays_root ... ok
[INFO] [stdout] test protocol::tests::ajp_is_rejected ... ok
[INFO] [stdout] test protocol::tests::http11_and_http2_are_supported ... ok
[INFO] [stdout] test normalize::tests::splits_query_string_undecoded ... ok
[INFO] [stdout] test tests::request_header_lookup_is_case_insensitive ... ok
[INFO] [stdout] test tests::request_cookie_lookup_across_multiple_headers ... ok
[INFO] [stdout] test tests::response_new_is_empty ... ok
[INFO] [stdout] test normalize::tests::rejects_traversal_above_root ... ok
[INFO] [stdout] test tests::response_add_set_cookie_appends_each_call ... ok
[INFO] [stdout] test tests::response_builders_and_set_header ... ok
[INFO] [stdout] test upgrade::tests::detects_h2c_upgrade ... ok
[INFO] [stdout] test tls::tests::tls_enabled::load_cert_chain_reads_leaf ... ok
[INFO] [stdout] test tls::tests::tls_enabled::load_cert_chain_rejects_empty ... ok
[INFO] [stdout] test upgrade::tests::unknown_upgrade_token_is_reported ... ok
[INFO] [stdout] test tls::tests::unsupported_is_a_protocol_error ... ok
[INFO] [stdout] test upgrade::tests::no_upgrade_header_yields_none ... ok
[INFO] [stdout] test tests::connector_serves_a_real_http11_request_over_tcp ... ok
[INFO] [stdout] test tls::tests::tls_enabled::load_private_key_reads_pkcs8 ... ok
[INFO] [stdout] test tests::connector_rejects_path_traversal_with_400 ... ok
[INFO] [stdout] test upgrade::tests::detects_websocket_upgrade ... ok
[INFO] [stdout] test tls::tests::tls_enabled::real_handshake_negotiates_alpn_over_duplex ... ok
[INFO] [stdout] test acceptor::tests::shutdown_drains_in_flight_and_refuses_new_connections ... ok
[INFO] [stdout] test hpack::tests::huffman_roundtrips_all_octets_and_random_data ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 199 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol.rs (/opt/rustwide/target/debug/deps/protocol-ee94a7175147e508)
[INFO] [stdout] 
[INFO] [stdout] running 17 tests
[INFO] [stdout] test ajp_cping_is_answered_with_cpong ... ok
[INFO] [stdout] test ajp_secret_enforcement_accepts_match_rejects_missing ... ok
[INFO] [stdout] test http2_preface_and_settings_exchange_completes ... ok
[INFO] [stdout] test ajp_forward_request_yields_send_headers_body_end ... ok
[INFO] [stdout] test http11_head_request_reaches_adapter ... ok
[INFO] [stdout] test http11_absolute_uri_form_in_request_line_is_rejected ... ok
[INFO] [stdout] test http11_options_concrete_path_succeeds ... ok
[INFO] [stdout] test http2_get_request_yields_headers_and_data ... ok
[INFO] [stdout] test http11_keepalive_serves_three_requests_on_one_connection ... ok
[INFO] [stdout] test http11_obsolete_header_continuation_is_rejected ... ok
[INFO] [stdout] test http11_smuggling_te_plus_cl_is_rejected_with_400 ... ok
[INFO] [stdout] test http11_post_with_chunked_body_is_decoded ... ok
[INFO] [stdout] test http11_get_returns_200_with_echoed_path ... ok
[INFO] [stdout] test http11_too_long_uri_returns_414 ... ok
[INFO] [stdout] test http11_post_with_content_length_delivers_body ... ok
[INFO] [stdout] test http11_too_large_header_returns_431 ... ok
[INFO] [stdout] test http2_ping_is_answered_with_ack ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_jsp-8edb7aff821e0b50)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test el::tests::divide_by_zero_modulo ... ok
[INFO] [stdout] test el::tests::el_plus_is_numeric_not_concat ... ok
[INFO] [stdout] test el::tests::division_is_double ... ok
[INFO] [stdout] test el::tests::empty_operator ... ok
[INFO] [stdout] test el::tests::eval_errors ... ok
[INFO] [stdout] test el::tests::expression_is_reusable ... ok
[INFO] [stdout] test el::tests::int_double_coercion ... ok
[INFO] [stdout] test el::tests::interpolate_mixed_template ... ok
[INFO] [stdout] test el::tests::interpolate_unterminated_fragment_errors ... ok
[INFO] [stdout] test el::tests::parse_errors ... ok
[INFO] [stdout] test el::tests::index_access ... ok
[INFO] [stdout] test el::tests::nested_access ... ok
[INFO] [stdout] test el::tests::arithmetic_precedence ... ok
[INFO] [stdout] test el::tests::relational_operators ... ok
[INFO] [stdout] test el::tests::scope_access ... ok
[INFO] [stdout] test el::tests::short_circuit ... ok
[INFO] [stdout] test jasper_bridge::tests::init_params_cover_every_jasper_setting ... ok
[INFO] [stdout] test el::tests::string_concat_via_function ... ok
[INFO] [stdout] test jasper_bridge::tests::is_jsp_path_recognises_jsp_and_jspx ... ok
[INFO] [stdout] test jasper_bridge::tests::register_records_jsp_servlet_on_no_jvm_stub ... ok
[INFO] [stdout] test el::tests::error_converts_to_core_error ... ok
[INFO] [stdout] test el::tests::value_display_and_truthiness ... ok
[INFO] [stdout] test jasper_bridge::tests::config_builders_set_fields ... ok
[INFO] [stdout] test jasper_bridge::tests::config_defaults_are_production_leaning ... ok
[INFO] [stdout] test el::tests::literals ... ok
[INFO] [stdout] test el::tests::logical_operators ... ok
[INFO] [stdout] test el::tests::property_access ... ok
[INFO] [stdout] test el::tests::ternary ... ok
[INFO] [stdout] test jasper_bridge::tests::service_jsp_rejects_non_jsp_paths ... ok
[INFO] [stdout] test jasper_bridge::tests::service_jsp_returns_servlet_name_for_jsp_paths ... ok
[INFO] [stdout] test jsp_config::tests::exact_match_beats_prefix_and_extension ... ok
[INFO] [stdout] test jsp_config::tests::malformed_xml_is_an_error ... ok
[INFO] [stdout] test jsp_config::tests::parses_jsp_config_block ... ok
[INFO] [stdout] test jsp_config::tests::property_group_for_extension_pattern ... ok
[INFO] [stdout] test jsp_config::tests::property_group_for_prefix_pattern ... ok
[INFO] [stdout] test jsp_config::tests::web_xml_without_jsp_config_is_empty ... ok
[INFO] [stdout] test precompile::tests::empty_webapp_yields_empty_task ... ok
[INFO] [stdout] test precompile::tests::discover_builds_task_with_generated_plan ... ok
[INFO] [stdout] test precompile::tests::mangle_custom_prefix ... ok
[INFO] [stdout] test precompile::tests::mangle_hyphenated_segments ... ok
[INFO] [stdout] test jasper_bridge::tests::register_reuses_an_existing_webapp_runtime ... ok
[INFO] [stdout] test precompile::tests::mangle_jspx_extension ... ok
[INFO] [stdout] test precompile::tests::mangle_leading_digit ... ok
[INFO] [stdout] test precompile::tests::jspc_args_translate_config ... ok
[INFO] [stdout] test precompile::tests::mangle_misc_non_identifier_chars ... ok
[INFO] [stdout] test precompile::tests::find_jsp_files_walks_recursively ... ok
[INFO] [stdout] test precompile::tests::mangle_nested_package ... ok
[INFO] [stdout] test precompile::tests::mangle_reserved_word_segments ... ok
[INFO] [stdout] test precompile::tests::mangle_simple_index ... ok
[INFO] [stdout] test precompile::tests::missing_root_is_not_found ... ok
[INFO] [stdout] test precompile::tests::output_paths_follow_package_dirs ... ok
[INFO] [stdout] test precompile::tests::run_offline_produces_full_plan ... ok
[INFO] [stdout] test precompile::tests::web_xml_fragment_escapes_xml ... ok
[INFO] [stdout] test scratchdir::tests::clean_creates_missing_directory ... ok
[INFO] [stdout] test precompile::tests::web_xml_fragment_has_servlet_and_mapping_per_jsp ... ok
[INFO] [stdout] test scratchdir::tests::create_and_clean_roundtrip ... ok
[INFO] [stdout] test scratchdir::tests::jsp_output_dir_is_a_subdir_of_the_scratch_root ... ok
[INFO] [stdout] test scratchdir::tests::for_context_builds_tomcat_layout ... ok
[INFO] [stdout] test scratchdir::tests::path_for_stays_within_root ... ok
[INFO] [stdout] test taglib::tests::malformed_xml_is_an_error ... ok
[INFO] [stdout] test scratchdir::tests::ensure_jsp_output_dir_creates_and_returns_managed_dir ... ok
[INFO] [stdout] test taglib::tests::parses_sample_tld ... ok
[INFO] [stdout] test taglib::tests::unknown_elements_are_tolerated ... ok
[INFO] [stdout] test taglib::tests::tag_library_map_lookup_by_uri ... ok
[INFO] [stdout] test taglib::tests::scan_webapp_without_web_inf_is_empty ... ok
[INFO] [stdout] test taglib::tests::scan_webapp_finds_loose_and_jar_tlds ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_observability-1d0628ddf8d43566)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test access_log::tests::common_format_matches_apache_example ... ok
[INFO] [stdout] test access_log::tests::combined_format_matches_apache_example ... ok
[INFO] [stdout] test access_log::tests::missing_fields_render_as_dash ... ok
[INFO] [stdout] test jmx_bridge::tests::descriptor_builder_collects_attributes ... ok
[INFO] [stdout] test access_log::tests::access_log_writer_appends_lines ... ok
[INFO] [stdout] test jmx_bridge::tests::register_without_feature_returns_error ... ok
[INFO] [stdout] test jmx_bridge::tests::mbean_snapshot_reports_registered_counters_and_gauges ... ok
[INFO] [stdout] test metrics::tests::gauge_moves_both_ways ... ok
[INFO] [stdout] test health::tests::memory_check_passes ... ok
[INFO] [stdout] test health::tests::adapter_returns_404_for_non_get ... ok
[INFO] [stdout] test health::tests::adapter_live_always_200 ... ok
[INFO] [stdout] test health::tests::adapter_returns_404_for_unknown_path ... ok
[INFO] [stdout] test metrics::tests::prometheus_render_contains_metrics_with_type_lines ... ok
[INFO] [stdout] test metrics::tests::render_is_sorted_and_deterministic ... ok
[INFO] [stdout] test health::tests::aggregate_fail_wins_over_warn ... ok
[INFO] [stdout] test health::tests::aggregate_empty_registry_is_pass ... ok
[INFO] [stdout] test health::tests::adapter_returns_503_when_any_fail ... ok
[INFO] [stdout] test health::tests::adapter_ready_mirrors_aggregate ... ok
[INFO] [stdout] test health::tests::adapter_returns_200_when_pass ... ok
[INFO] [stdout] test health::tests::aggregate_pass_when_all_pass ... ok
[INFO] [stdout] test health::tests::aggregate_warn_when_any_warn_but_no_fail ... ok
[INFO] [stdout] test metrics::tests::counter_increments_and_shares_state ... ok
[INFO] [stdout] test health::tests::uptime_check_passes_after_construction ... ok
[INFO] [stdout] test otel::tests::parse_http_url_extracts_components ... ok
[INFO] [stdout] test otel::tests::export_once_without_endpoint_is_a_noop ... ok
[INFO] [stdout] test otel::tests::to_otlp_json_handles_empty_registry ... ok
[INFO] [stdout] test otel::tests::config_builders_compose ... ok
[INFO] [stdout] test otel::tests::to_otlp_json_renders_counter_and_gauge_values ... ok
[INFO] [stdout] [2m2026-07-10T12:41:55.971029Z[0m [32m INFO[0m [2mtomcatrs_observability::tracing::tests[0m[2m:[0m tracing initialized in test
[INFO] [stdout] test tracing::tests::init_tracing_is_idempotent ... ok
[INFO] [stdout] test jmx_bridge::tests::bridge_collects_descriptors ... ok
[INFO] [stdout] test jmx_bridge::tests::empty_registry_snapshots_to_empty ... ok
[INFO] [stdout] test metrics::tests::type_conflict_panics - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_security-5241fa204760056a)
[INFO] [stdout] 
[INFO] [stdout] running 90 tests
[INFO] [stdout] test access_control::tests::enforce_limits_accepts_a_request_within_bounds ... ok
[INFO] [stdout] test access_control::tests::is_protected_path_predicate ... ok
[INFO] [stdout] test access_control::tests::accepts_and_collapses_dot_segments ... ok
[INFO] [stdout] test access_control::tests::is_path_traversal_predicate ... ok
[INFO] [stdout] test access_control::tests::strips_query_string_before_validation ... ok
[INFO] [stdout] test access_control::tests::rejects_web_inf_and_meta_inf ... ok
[INFO] [stdout] test auth_basic::tests::challenge_quotes_realm_name ... ok
[INFO] [stdout] test auth_basic::tests::parses_well_formed_basic_header ... ok
[INFO] [stdout] test auth_basic::tests::password_may_contain_colons ... ok
[INFO] [stdout] test auth_basic::tests::rejects_malformed_headers ... ok
[INFO] [stdout] test auth_basic::tests::authenticate_against_realm_round_trips ... ok
[INFO] [stdout] test auth_basic::tests::scheme_token_is_case_insensitive ... ok
[INFO] [stdout] test auth_digest::tests::authenticates_legacy_rfc2069_no_qop ... ok
[INFO] [stdout] test auth_digest::tests::authenticates_a_correct_response_qop_auth ... ok
[INFO] [stdout] test auth_digest::tests::authenticates_md5_sess_correctly ... ok
[INFO] [stdout] test auth_digest::tests::constant_time_eq_matches_eq ... ok
[INFO] [stdout] test access_control::tests::accepts_double_dots_inside_a_segment_name ... ok
[INFO] [stdout] test access_control::tests::accepts_internal_traversal_that_stays_within_root ... ok
[INFO] [stdout] test access_control::tests::accepts_percent_encoded_safe_characters ... ok
[INFO] [stdout] test access_control::tests::rejects_encoded_dotdot_traversal ... ok
[INFO] [stdout] test auth_digest::tests::parse_handles_unquoted_and_quoted_values ... ok
[INFO] [stdout] test access_control::tests::rejects_encoded_forward_slash ... ok
[INFO] [stdout] test auth_digest::tests::nonce_validation_rejects_tampering ... ok
[INFO] [stdout] test auth_digest::tests::nonce_validation_rejects_stale_timestamps ... ok
[INFO] [stdout] test auth_digest::tests::parse_rejects_non_digest_scheme_and_missing_directives ... ok
[INFO] [stdout] test auth_digest::tests::nonces_are_unique_well_formed_and_self_validating ... ok
[INFO] [stdout] test auth_digest::tests::parses_a_full_client_response ... ok
[INFO] [stdout] test auth_digest::tests::rejects_forged_nonce ... ok
[INFO] [stdout] test auth_digest::tests::rejects_realm_mismatch ... ok
[INFO] [stdout] test auth_digest::tests::hex_round_trips ... ok
[INFO] [stdout] test auth_digest::tests::rejects_replayed_nc ... ok
[INFO] [stdout] test auth_digest::tests::rejects_bad_response_and_wrong_method ... ok
[INFO] [stdout] test access_control::tests::rejects_backslash ... ok
[INFO] [stdout] test access_control::tests::enforce_limits_rejects_too_many_headers ... ok
[INFO] [stdout] test access_control::tests::rejects_non_absolute_path ... ok
[INFO] [stdout] test access_control::tests::rejects_nul_byte ... ok
[INFO] [stdout] test access_control::tests::enforce_limits_rejects_oversize_header_block ... ok
[INFO] [stdout] test access_control::tests::rejects_plain_dotdot_traversal ... ok
[INFO] [stdout] test auth_form::tests::authenticate_delegates_to_realm ... ok
[INFO] [stdout] test auth_digest::tests::rejects_unknown_user_silently ... ok
[INFO] [stdout] test auth_form::tests::j_security_check_with_invalid_credentials_returns_error_page ... ok
[INFO] [stdout] test access_control::tests::enforce_limits_rejects_oversize_post_body ... ok
[INFO] [stdout] test access_control::tests::enforce_limits_rejects_oversize_uri ... ok
[INFO] [stdout] test access_control::tests::accepts_a_plain_path ... ok
[INFO] [stdout] test auth_form::tests::extracts_credentials_from_form_body ... ok
[INFO] [stdout] test auth_form::tests::j_security_check_without_saved_request_redirects_to_root ... ok
[INFO] [stdout] test constraints::tests::confidential_required_before_auth_check ... ok
[INFO] [stdout] test auth_form::tests::unrelated_request_without_token_passes_through ... ok
[INFO] [stdout] test auth_form::tests::j_security_check_with_missing_body_returns_error_page ... ok
[INFO] [stdout] test auth_digest::tests::split_directives_respects_quotes ... ok
[INFO] [stdout] test auth_form::tests::extracts_credentials_with_percent_encoding_only ... ok
[INFO] [stdout] test auth_form::tests::saved_request_store_round_trip ... ok
[INFO] [stdout] test auth_form::tests::unauthenticated_get_saves_request_and_shows_login ... ok
[INFO] [stdout] test auth_form::tests::missing_field_yields_none ... ok
[INFO] [stdout] test auth_form::tests::j_security_check_with_valid_credentials_returns_authenticated ... ok
[INFO] [stdout] test auth_form::tests::recognises_the_security_check_path ... ok
[INFO] [stdout] test auth_digest::tests::challenge_header_format_is_correct ... ok
[INFO] [stdout] test constraints::tests::confidential_transport_required_on_insecure ... ok
[INFO] [stdout] test constraints::tests::deny_all_constraint_blocks_any_user ... ok
[INFO] [stdout] test constraints::tests::extension_pattern_matches_jsp_files ... ok
[INFO] [stdout] test constraints::tests::http_method_filter_only_covers_listed_methods ... ok
[INFO] [stdout] test constraints::tests::exact_pattern_beats_prefix ... ok
[INFO] [stdout] test constraints::tests::unauthenticated_when_role_required_and_no_principal ... ok
[INFO] [stdout] test constraints::tests::wildcard_star_allows_any_authenticated ... ok
[INFO] [stdout] test constraints::tests::role_match_allows_request ... ok
[INFO] [stdout] test constraints::tests::role_mismatch_returns_forbidden ... ok
[INFO] [stdout] test csrf::tests::matches_is_length_sensitive ... ok
[INFO] [stdout] test csrf::tests::tampered_token_fails_validation ... ok
[INFO] [stdout] test csrf::tests::valid_token_passes_validation ... ok
[INFO] [stdout] test realm::tests::authenticate_rejects_bad_password ... ok
[INFO] [stdout] test realm::tests::authenticate_accepts_good_password ... ok
[INFO] [stdout] test constraints::tests::longest_pattern_wins_over_broader_constraint ... ok
[INFO] [stdout] test constraints::tests::no_constraints_allows_everything ... ok
[INFO] [stdout] test constraints::tests::pattern_match_len_precedence ... ok
[INFO] [stdout] test constraints::tests::http_method_omission_covers_everything_except_listed ... ok
[INFO] [stdout] test realm::tests::digest_ha1_helper_matches_rfc_definition ... ok
[INFO] [stdout] test csrf::tests::generated_tokens_are_unique_and_long ... ok
[INFO] [stdout] test realm::tests::has_role_reflects_principal_membership ... ok
[INFO] [stdout] test realm::tests::digest_users_expose_ha1_and_still_do_basic ... ok
[INFO] [stdout] test realm_backends::tests::file_realm_handles_empty_roles_attribute ... ok
[INFO] [stdout] test csrf::tests::consume_retires_the_token ... ok
[INFO] [stdout] test realm_backends::tests::file_realm_parses_users_and_roles ... ok
[INFO] [stdout] test realm_backends::tests::file_realm_rejects_user_without_username ... ok
[INFO] [stdout] test realm_backends::tests::file_realm_rejects_bad_password_and_unknown_user ... ok
[INFO] [stdout] test realm::tests::passwords_are_not_stored_in_plaintext ... ok
[INFO] [stdout] test realm_backends::tests::combined_realm_first_success_wins ... ok
[INFO] [stdout] test realm_backends::tests::combined_realm_returns_none_when_no_backend_matches ... ok
[INFO] [stdout] test realm::tests::plain_users_have_no_digest_ha1 ... ok
[INFO] [stdout] test realm_backends::tests::lockout_realm_does_not_lock_on_success ... ok
[INFO] [stderr]      Running tests/security_conformance.rs (/opt/rustwide/target/debug/deps/security_conformance-05be5c2a076c5ea0)
[INFO] [stdout] test realm_backends::tests::lockout_realm_locks_after_three_failures ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 90 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test csrf_comparison_documents_constant_time_behaviour ... ok
[INFO] [stdout] test constraint_role_mismatch_returns_forbidden ... ok
[INFO] [stdout] test constraint_transport_fires_before_authentication_prompt ... ok
[INFO] [stdout] test constraint_confidential_transport_required_when_not_secure ... ok
[INFO] [stdout] test constraint_deny_all_blocks_anonymous_and_authenticated_users ... ok
[INFO] [stdout] test constraint_unauthenticated_when_role_required_and_anonymous ... ok
[INFO] [stdout] test encoded_forward_slash_is_rejected_by_default ... ok
[INFO] [stdout] test encoded_backslash_is_rejected_by_default ... ok
[INFO] [stdout] test basic_malformed_authorization_is_rejected_as_401 ... ok
[INFO] [stdout] test basic_valid_credentials_return_a_principal ... ok
[INFO] [stdout] test digest_missing_or_non_digest_header_is_rejected ... ok
[INFO] [stdout] test csrf_consume_retires_one_shot_token ... ok
[INFO] [stdout] test digest_replay_of_same_nonce_count_is_rejected ... ok
[INFO] [stdout] test csrf_valid_token_passes_validation ... ok
[INFO] [stdout] test csrf_tampered_token_fails_validation ... ok
[INFO] [stdout] test basic_missing_authorization_returns_challenge_path ... ok
[INFO] [stdout] test basic_invalid_password_returns_401 ... ok
[INFO] [stdout] test digest_valid_round_trip_authenticates_the_user ... ok
[INFO] [stdout] test enforce_limits_accepts_a_request_within_every_bound ... ok
[INFO] [stdout] test digest_stale_or_forged_nonce_is_rejected ... ok
[INFO] [stdout] test enforce_limits_rejects_header_block_size_over_limit ... ok
[INFO] [stdout] test enforce_limits_rejects_post_body_over_limit ... ok
[INFO] [stdout] test enforce_limits_rejects_uri_length_over_limit ... ok
[INFO] [stdout] test is_path_traversal_helper_matches_segment_boundaries ... ok
[INFO] [stdout] test meta_inf_direct_access_is_rejected ... ok
[INFO] [stdout] test enforce_limits_rejects_header_count_over_limit ... ok
[INFO] [stdout] test traversal_bare_dotdot_at_root_is_rejected ... ok
[INFO] [stdout] test traversal_percent_encoded_dotdot_with_encoded_slash_is_rejected ... ok
[INFO] [stdout] test traversal_dotdot_segment_in_path_is_rejected ... ok
[INFO] [stdout] test web_inf_is_case_insensitive ... ok
[INFO] [stdout] test traversal_double_encoded_dotdot_is_rejected ... ok
[INFO] [stdout] test traversal_mixed_literal_and_encoded_dot_is_rejected ... ok
[INFO] [stdout] test traversal_nul_byte_in_path_is_rejected ... ok
[INFO] [stdout] test protected_path_helper_classifies_correctly ... ok
[INFO] [stdout] test traversal_backslash_separator_is_rejected ... ok
[INFO] [stdout] test traversal_into_web_inf_post_collapse_is_rejected ... ok
[INFO] [stdout] test traversal_percent_encoded_dotdot_is_rejected ... ok
[INFO] [stdout] test web_inf_direct_access_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_servlet_bridge-abcce24e32c638ac)
[INFO] [stdout] 
[INFO] [stdout] running 124 tests
[INFO] [stdout] test async_servlet::tests::handles_are_shared_across_clones ... ok
[INFO] [stdout] test async_servlet::tests::await_completion_is_immediate_when_already_settled ... ok
[INFO] [stdout] test async_servlet::tests::illegal_transition_is_rejected ... ok
[INFO] [stdout] test async_servlet::tests::process_global_registry_helpers_round_trip ... ok
[INFO] [stdout] test async_servlet::tests::registry_round_trip ... ok
[INFO] [stdout] test async_servlet::tests::start_twice_is_rejected ... ok
[INFO] [stdout] test async_servlet::tests::starts_in_dispatched_state ... ok
[INFO] [stdout] test async_servlet::tests::timeout_configuration ... ok
[INFO] [stdout] test async_servlet::tests::full_transition_path_dispatched_started_completed ... ok
[INFO] [stdout] test classloader::tests::explicit_parent_first_config ... ok
[INFO] [stdout] test classloader::tests::classloader_spec_common_kind ... ok
[INFO] [stdout] test classloader::tests::search_path_is_classes_then_jars_in_order ... ok
[INFO] [stdout] test classloader::tests::file_url_for_relative_path_still_valid ... ok
[INFO] [stdout] test classloader::tests::file_url_normalises_backslashes ... ok
[INFO] [stdout] test classloader::tests::no_jvm::webapp_loader_returns_bridge_error ... ok
[INFO] [stdout] test classloader::tests::search_path_omits_absent_classes_dir ... ok
[INFO] [stdout] test classloader::tests::no_jvm::load_class_and_instantiate_return_bridge_error ... ok
[INFO] [stdout] test classloader::tests::to_spec_produces_webapp_kind_with_search_path ... ok
[INFO] [stdout] test classloader::tests::no_jvm::common_loader_returns_bridge_error ... ok
[INFO] [stdout] test dispatch::tests::adapter_and_dispatch_are_debug ... ok
[INFO] [stdout] test dispatch::tests::bridge_adapter_resolved_route_dispatches_through_bridge ... ok
[INFO] [stdout] test dispatch::tests::bridge_adapter_unresolved_route_replies_404 ... ok
[INFO] [stdout] test dispatch::tests::dispatch_without_runtime_reports_no_runtime ... ok
[INFO] [stdout] test dispatch::tests::marshalling_error_converts_to_bridge_error ... ok
[INFO] [stdout] test classloader::tests::file_url_percent_encodes_special_chars ... ok
[INFO] [stdout] test classloader::tests::config_file_urls_round_trip_through_search_path ... ok
[INFO] [stdout] test dispatch::tests::request_handle_carries_coyote_metadata_and_body ... ok
[INFO] [stdout] test dispatch::tests::dispatch_round_trips_coyote_request_to_response ... ok
[INFO] [stdout] test invoker::tests::stub_invoke_coyote_round_trip_marshalling ... ok
[INFO] [stdout] test dispatch::tests::scheme_honours_forwarded_proto_header ... ok
[INFO] [stdout] test jni::tests::context_entry_init_params_resolve_by_name ... ok
[INFO] [stdout] test invoker::tests::stub_invoke_replies_501_with_body ... ok
[INFO] [stdout] test jni::tests::context_entry_minimal_derives_sensible_defaults ... ok
[INFO] [stdout] test jni::tests::content_length_is_minus_one_when_absent_or_invalid ... ok
[INFO] [stdout] test jni::tests::context_entry_real_path_joins_under_doc_base ... ok
[INFO] [stdout] test jni::tests::context_registry_round_trip_with_path_index ... ok
[INFO] [stdout] test classloader::tests::file_url_percent_encodes_spaces ... ok
[INFO] [stdout] test classloader::tests::file_url_for_plain_absolute_path ... ok
[INFO] [stdout] test jni::tests::process_global_context_registry_round_trip ... ok
[INFO] [stdout] test jni::tests::process_global_registry_helpers_round_trip ... ok
[INFO] [stdout] test classloader::tests::file_url_encodes_non_ascii ... ok
[INFO] [stdout] test jni::tests::context_entry_resource_paths_lists_directory ... ok
[INFO] [stdout] test jni::tests::registration_tables_are_non_empty_and_well_formed ... ok
[INFO] [stdout] test jni::tests::request_entry_exposes_parts_and_content_length ... ok
[INFO] [stdout] test jvm::tests::start_without_jvm_feature_returns_bridge_error ... ok
[INFO] [stdout] test jvm::tests::webapp_registry_registers_and_looks_up ... ok
[INFO] [stdout] test jni::tests::request_register_lookup_unregister_round_trip ... ok
[INFO] [stdout] test jvm::tests::worker_count_is_zero_without_jvm ... ok
[INFO] [stdout] test listener::tests::classify_recognises_each_interface_suffix ... ok
[INFO] [stdout] test listener::tests::classify_returns_empty_on_no_hint ... ok
[INFO] [stdout] test jvm::tests::webapp_runtime_servlet_and_filter_registries ... ok
[INFO] [stdout] test listener::tests::classify_prefers_specific_attribute_suffix ... ok
[INFO] [stdout] test listener::tests::dispatch_order_constructive_is_declaration_order ... ok
[INFO] [stdout] test jni::tests::request_entry_header_lookup_is_case_insensitive ... ok
[INFO] [stdout] test listener::tests::event_listener_type_and_destructiveness ... ok
[INFO] [stdout] test listener::tests::interface_name_forms_are_consistent ... ok
[INFO] [stdout] test jni::tests::response_register_lookup_unregister_round_trip ... ok
[INFO] [stdout] test jvm::tests::classpath_option_joins_with_separator ... ok
[INFO] [stdout] test jvm::tests::default_config_sizes_worker_pool ... ok
[INFO] [stdout] test listener::tests::no_jvm::fire_with_skips_non_matching_listener_types ... ok
[INFO] [stdout] test listener::tests::no_jvm::fire_with_records_events_in_dispatch_order ... ok
[INFO] [stdout] test listener::tests::no_jvm::instantiate_listeners_registers_placeholders_in_order ... ok
[INFO] [stdout] test listener::tests::of_type_yields_declaration_indices ... ok
[INFO] [stdout] test listener::tests::no_jvm::fire_without_registry_records_synthetic_listener ... ok
[INFO] [stdout] test listener::tests::no_jvm::clear_log_empties_recorded_events ... ok
[INFO] [stdout] test listener::tests::registry_preserves_declaration_order ... ok
[INFO] [stdout] test jvm::tests::with_env_without_jvm_feature_returns_bridge_error ... ok
[INFO] [stdout] test listener::tests::dispatch_order_filters_by_listener_type ... ok
[INFO] [stdout] test registration::tests::no_jvm::register_reuses_an_already_registered_webapp ... ok
[INFO] [stdout] test registration::tests::no_jvm::register_populates_webapp_registries_and_returns_counts ... ok
[INFO] [stdout] test listener::tests::dispatch_order_destructive_is_reverse_declaration_order ... ok
[INFO] [stdout] test registration::tests::empty_web_xml_yields_empty_plan ... ok
[INFO] [stdout] test registration::tests::plan_preserves_filter_declaration_order ... ok
[INFO] [stdout] test jvm::tests::webapp_runtime_class_loader_hook ... ok
[INFO] [stdout] test registration::tests::no_jvm::register_servlet_mapping_table_matches_plan ... ok
[INFO] [stdout] test registration::tests::plan_carries_init_params_onto_planned_servlet ... ok
[INFO] [stdout] test registration::tests::plan_copies_listeners_and_mappings_in_order ... ok
[INFO] [stdout] test registration::tests::servlet_mapping_table_resolves_pattern_to_name ... ok
[INFO] [stdout] test registration::tests::plan_orders_servlets_by_load_on_startup_then_declaration ... ok
[INFO] [stdout] test request_facade::tests::body_streams_in_chunks ... ok
[INFO] [stdout] test request_facade::tests::attributes_round_trip ... ok
[INFO] [stdout] test request_facade::tests::dispatch_guard ... ok
[INFO] [stdout] test request_facade::tests::clone_shares_state ... ok
[INFO] [stdout] test request_facade::tests::from_coyote_empty_body_is_empty ... ok
[INFO] [stdout] test request_facade::tests::header_lookup_is_case_insensitive ... ok
[INFO] [stdout] test request_facade::tests::from_coyote_round_trips_metadata_and_body ... ok
[INFO] [stdout] test request_facade::tests::ids_are_unique_and_monotonic ... ok
[INFO] [stdout] test response_facade::tests::complete_commits_and_snapshots ... ok
[INFO] [stdout] test response_facade::tests::commit_freezes_headers_and_status ... ok
[INFO] [stdout] test response_facade::tests::flush_is_commit ... ok
[INFO] [stdout] test response_facade::tests::commit_defaults_status_to_200 ... ok
[INFO] [stdout] test response_facade::tests::ids_are_unique ... ok
[INFO] [stdout] test response_facade::tests::body_can_still_grow_after_commit ... ok
[INFO] [stdout] test response_facade::tests::into_coyote_works_with_outstanding_clones ... ok
[INFO] [stdout] test response_facade::tests::status_and_body_visible_through_sink ... ok
[INFO] [stdout] test classloader::tests::webapp_config_from_borrowed_parts ... ok
[INFO] [stdout] test response_facade::tests::set_header_replaces_add_header_appends ... ok
[INFO] [stdout] test classloader::tests::webapp_config_parts_defaults_to_child_first ... ok
[INFO] [stdout] test registration::tests::plan_treats_negative_load_on_startup_as_lazy ... ok
[INFO] [stdout] test sci::tests::run_sci_without_jvm_returns_empty_report ... ok
[INFO] [stdout] test response_facade::tests::into_coyote_defaults_status_when_unset ... ok
[INFO] [stdout] test response_facade::tests::effective_status_defaults_without_explicit_set ... ok
[INFO] [stdout] test response_facade::tests::into_coyote_marshals_status_headers_body ... ok
[INFO] [stdout] test request_facade::tests::read_body_into_streams_correctly ... ok
[INFO] [stdout] test sci::tests::sci_report_defaults_are_empty ... ok
[INFO] [stdout] test sci::tests::sci_report_eq ... ok
[INFO] [stdout] test sci::tests::sci_report_tracks_invocations_and_errors ... ok
[INFO] [stdout] test session_bridge::tests::binder_creates_session_and_emits_set_cookie_when_no_jsessionid ... ok
[INFO] [stdout] test session_bridge::tests::manager_for_context_yields_in_memory_default ... ok
[INFO] [stdout] test session_bridge::tests::native_request_session_method_table_is_well_formed ... ok
[INFO] [stdout] test session_bridge::tests::native_session_method_table_is_well_formed ... ok
[INFO] [stdout] test session_bridge::tests::per_context_session_manager_round_trip ... ok
[INFO] [stdout] test session_bridge::tests::binder_reuses_session_when_jsessionid_present ... ok
[INFO] [stdout] test session_bridge::tests::registry_ids_are_unique ... ok
[INFO] [stdout] test session_bridge::tests::session_handle_attribute_get_set_remove ... ok
[INFO] [stdout] test session_bridge::tests::session_handle_timestamps_and_interval ... ok
[INFO] [stdout] test tests::noop_invoker_replies_501 ... ok
[INFO] [stdout] test session_bridge::tests::registry_register_lookup_unregister_round_trip ... ok
[INFO] [stdout] test session_bridge::tests::session_handle_invalidate_then_access_fails ... ok
[INFO] [stdout] test async_servlet::tests::await_completion_returns_completed_after_complete ... ok
[INFO] [stdout] test tests::invocation_result_is_copy ... ok
[INFO] [stdout] test async_servlet::tests::await_completion_returns_dispatched_with_path ... ok
[INFO] [stdout] test async_servlet::tests::await_completion_no_timeout_waits_for_signal ... ok
[INFO] [stderr]      Running tests/cookies_test.rs (/opt/rustwide/target/debug/deps/cookies_test-c6e56b212d416821)
[INFO] [stdout] test async_servlet::tests::await_completion_times_out_when_nothing_completes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 124 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[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] [stdout] 
[INFO] [stderr]      Running tests/end_to_end.rs (/opt/rustwide/target/debug/deps/end_to_end-e7f952a0fe9a0158)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/jvm_bridge.rs (/opt/rustwide/target/debug/deps/jvm_bridge-515711fa48dcc706)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sci_test.rs (/opt/rustwide/target/debug/deps/sci_test-cdbed52cc954af83)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/servlet_context_test.rs (/opt/rustwide/target/debug/deps/servlet_context_test-7e6880914461ae53)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/session_test.rs (/opt/rustwide/target/debug/deps/session_test-bc8372b040793b36)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/spring_boot.rs (/opt/rustwide/target/debug/deps/spring_boot-0a4b0cf9d4a4f181)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_session-38117843da6fbe45)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test cookie::tests::builds_full_set_cookie ... ok
[INFO] [stdout] test cookie::tests::builds_minimal_set_cookie ... ok
[INFO] [stdout] test cookie::tests::expiry_cookie_has_max_age_zero ... ok
[INFO] [stdout] test cookie::tests::parses_multiple_cookie_pairs ... ok
[INFO] [stdout] test cookie::tests::round_trips_through_parse ... ok
[INFO] [stdout] test cookie::tests::skips_malformed_entries ... ok
[INFO] [stdout] test manager::tests::create_then_find ... ok
[INFO] [stdout] test manager::tests::reload_all_is_a_noop_for_stores_without_enumeration ... ok
[INFO] [stdout] test cluster_tcp::tests::broadcast_reaches_every_connected_peer ... ok
[INFO] [stdout] test manager::tests::reap_expired_removes_stale_sessions ... ok
[INFO] [stdout] test cookie::tests::extracts_jsessionid ... ok
[INFO] [stdout] test manager::tests::save_and_invalidate ... ok
[INFO] [stdout] test cluster_tcp::tests::send_to_unparseable_addr_errors ... ok
[INFO] [stdout] test store_cluster::tests::load_all_reports_local_sessions ... ok
[INFO] [stdout] test store_jdbc::tests::null_executor_reports_not_configured ... ok
[INFO] [stdout] test store_jdbc::tests::load_deserialises_session_data_column ... ok
[INFO] [stdout] test store_memory::tests::load_all_returns_every_session ... ok
[INFO] [stdout] test store_memory::tests::reap_evicts_only_expired_sessions ... ok
[INFO] [stdout] test store_jdbc::tests::save_inserts_when_update_matches_no_rows ... ok
[INFO] [stdout] test store_file::tests::id_safety_check ... ok
[INFO] [stdout] test store_file::tests::unsafe_ids_are_rejected ... ok
[INFO] [stdout] test store_jdbc::tests::save_skips_insert_when_update_hits ... ok
[INFO] [stdout] test manager::tests::reap_expired_generic_path_via_file_store ... ok
[INFO] [stdout] test tests::expiry_is_relative_to_last_accessed ... ok
[INFO] [stdout] test tests::generated_ids_look_like_jsessionid ... ok
[INFO] [stdout] test store_redis::tests::connect_fails_without_feature ... ok
[INFO] [stdout] test tests::session_data_json_round_trips ... ok
[INFO] [stdout] test tests::new_session_has_defaults ... ok
[INFO] [stdout] test tests::touch_advances_last_accessed ... ok
[INFO] [stdout] test store_memory::tests::save_load_delete_round_trip ... ok
[INFO] [stdout] test tests::zero_interval_never_expires ... ok
[INFO] [stdout] test store_file::tests::file_store_round_trip ... ok
[INFO] [stdout] test cluster_tcp::tests::two_nodes_exchange_a_message ... ok
[INFO] [stdout] test store_file::tests::load_all_round_trips_persisted_sessions ... ok
[INFO] [stdout] test manager::tests::reload_all_and_persist_all_round_trip_via_file_store ... ok
[INFO] [stdout] test store_cluster::tests::primary_backup_sends_to_backup_and_third_node_fetches ... ok
[INFO] [stdout] test store_cluster::tests::all_to_all_replicates_save_to_every_node ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/tomcatrs_soak-b4085f54750b666c)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test histogram::tests::bucket_for_simple_values ... ok
[INFO] [stdout] test client::tests::keeps_query_string ... ok
[INFO] [stdout] test client::tests::rejects_https ... ok
[INFO] [stdout] test histogram::tests::overflow_lands_in_last_bucket ... ok
[INFO] [stdout] test histogram::tests::zero_duration_records_as_one_microsecond ... ok
[INFO] [stdout] test client::tests::defaults_port_80_and_path_slash ... ok
[INFO] [stderr]      Running tests/short_soak.rs (/opt/rustwide/target/debug/deps/short_soak-717123ccdfcc1beb)
[INFO] [stdout] test histogram::tests::histogram_percentiles_are_monotonic ... ok
[INFO] [stdout] test client::tests::parses_plain_url ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test short_soak_against_live_cli ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_webapp-4fd75d89d1d2bf95)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 30.18s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 35 tests
[INFO] [stdout] test annotations::tests::empty_index_reports_empty ... ok
[INFO] [stdout] test annotations::tests::rejects_bad_magic ... ok
[INFO] [stdout] test annotations::tests::modified_utf8_decodes_ascii_and_supplementary ... ok
[INFO] [stdout] test annotations::tests::rejects_truncated_file ... ok
[INFO] [stdout] test annotations::tests::merge_appends_all_categories ... ok
[INFO] [stdout] test deployment::tests::name_to_context_path_mapping ... ok
[INFO] [stdout] test annotations::tests::extracts_weblistener_annotation ... ok
[INFO] [stdout] test annotations::tests::extracts_webfilter_annotation ... ok
[INFO] [stdout] test annotations::tests::accepts_legacy_javax_descriptors ... ok
[INFO] [stdout] test annotations::tests::parses_constant_pool_and_class_name ... ok
[INFO] [stdout] test annotations::tests::webservlet_value_element_supplies_patterns ... ok
[INFO] [stdout] test scanner::tests::scan_classes_dir_missing_dir_is_empty ... ok
[INFO] [stdout] test scanner::tests::classgraph_index_empty_for_missing_webapp ... ok
[INFO] [stdout] test resources::tests::rejects_path_traversal ... ok
[INFO] [stdout] test scanner::tests::scan_jar_rejects_non_zip ... ok
[INFO] [stdout] test scanner::tests::scan_webapp_honours_metadata_complete ... ok
[INFO] [stdout] test scanner::tests::scan_jar_finds_annotated_classes ... ok
[INFO] [stdout] test resources::tests::resolves_existing_public_resources ... ok
[INFO] [stdout] test scanner::tests::classgraph_index_finds_direct_and_transitive_implementors ... ok
[INFO] [stdout] test resources::tests::rejects_protected_directories ... ok
[INFO] [stdout] test web_descriptor::tests::parses_full_descriptor ... ok
[INFO] [stdout] test scanner::tests::scan_real_javac_compiled_servlet ... ok
[INFO] [stdout] test scanner::tests::classgraph_index_finds_annotation_hits ... ok
[INFO] [stdout] test war::tests::open_rejects_missing_web_inf ... ok
[INFO] [stdout] test web_descriptor::tests::empty_web_app_is_ok ... ok
[INFO] [stdout] test war::tests::open_rejects_packed_war ... ok
[INFO] [stdout] test war::tests::open_detects_classes_lib_and_web_xml ... ok
[INFO] [stdout] test war::tests::root_context_path_is_normalized_to_empty ... ok
[INFO] [stdout] test web_descriptor::tests::malformed_xml_is_deployment_error ... ok
[INFO] [stdout] test scanner::tests::classgraph_index_scans_lib_jars_too ... ok
[INFO] [stdout] test scanner::tests::scan_classes_dir_finds_annotated_classes ... ok
[INFO] [stdout] test scanner::tests::scan_webapp_scans_classes_and_lib ... ok
[INFO] [stdout] test annotations::tests::extracts_webservlet_annotation ... ok
[INFO] [stdout] test deployment::tests::scan_discovers_and_maps_units ... ok
[INFO] [stdout] test deployment::tests::scan_rejects_missing_app_base ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 35 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/corpus.rs (/opt/rustwide/target/debug/deps/corpus-dfd1edb6d68e4b05)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test corpus_root_exists_and_lists_every_fixture ... ok
[INFO] [stdout] test hello_fixture_declares_single_servlet_mapping ... ok
[INFO] [stdout] test static_fixture_has_empty_descriptor_and_static_assets ... ok
[INFO] [stdout] test filtered_fixture_declares_filter_and_servlet ... ok
[INFO] [stdout] test deployment_scanner_discovers_every_fixture ... ok
[INFO] [stdout] test welcome_fixture_lists_welcome_files_in_order ... ok
[INFO] [stdout] test listener_fixture_declares_servlet_context_listener ... ok
[INFO] [stdout] test secure_fixture_parses_cleanly_with_security_constraint_present ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/real_war.rs (/opt/rustwide/target/debug/deps/real_war-63ababdb64ab72cc)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test build_script_compiles_every_fixture ... ok
[INFO] [stdout] test hello_servlet_fixture_opens_and_exposes_expected_descriptor ... ok
[INFO] [stdout] test build_script_is_idempotent ... ok
[INFO] [stdout] test spring_boot_style_fixture_exposes_filter_listener_and_servlets ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tomcatrs_websocket-dff4a0737ed24ce5)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test frame::tests::oversized_payload_is_rejected ... ok
[INFO] [stdout] test frame::tests::bad_opcode_is_rejected ... ok
[INFO] [stdout] test frame::tests::parse_masked_client_text_frame ... ok
[INFO] [stdout] test frame::tests::partial_buffer_returns_none ... ok
[INFO] [stdout] test frame::tests::encode_server_text_frame_is_unmasked ... ok
[INFO] [stdout] test frame::tests::extended_16bit_length_round_trip ... ok
[INFO] [stdout] test handshake::tests::accept_key_trims_whitespace ... ok
[INFO] [stdout] test handshake::tests::handshake_response_handles_combined_connection_token ... ok
[INFO] [stdout] test handshake::tests::handshake_response_accepts_valid_request ... ok
[INFO] [stdout] test frame::tests::unmasked_client_frame_is_rejected ... ok
[INFO] [stdout] test handshake::tests::handshake_response_rejects_missing_upgrade ... ok
[INFO] [stdout] test jakarta_bridge::tests::event_exposes_its_endpoint ... ok
[INFO] [stdout] test jakarta_bridge::tests::endpoint_trait_dispatch_fans_out ... ok
[INFO] [stdout] test transport::tests::deflate_offer_rejected_when_policy_disabled ... ok
[INFO] [stdout] test transport::tests::close_frame_payload_round_trip ... ok
[INFO] [stdout] test transport::tests::deflate_offer_with_unknown_param_is_rejected ... ok
[INFO] [stdout] test transport::tests::deflate_offer_accepted_when_policy_enabled ... ok
[INFO] [stdout] test transport::tests::deflate_offer_with_bad_window_bits_is_rejected ... ok
[INFO] [stdout] test transport::tests::no_deflate_offer_is_rejected ... ok
[INFO] [stdout] test transport::tests::parses_multiple_extensions_and_valued_params ... ok
[INFO] [stdout] test transport::tests::parses_a_simple_extension_offer ... ok
[INFO] [stdout] test transport::tests::clean_eof_returns_none ... ok
[INFO] [stdout] test transport::tests::reassembles_a_fragmented_message ... ok
[INFO] [stdout] test transport::tests::ping_is_auto_ponged ... ok
[INFO] [stdout] test transport::tests::oversize_message_is_rejected ... ok
[INFO] [stdout] test transport::tests::close_handshake_peer_initiated ... ok
[INFO] [stdout] test transport::tests::close_handshake_server_initiated ... ok
[INFO] [stdout] test transport::tests::invalid_utf8_text_is_rejected ... ok
[INFO] [stdout] test transport::tests::accepts_unmasked_frames_when_configured ... ok
[INFO] [stdout] test transport::tests::control_frame_interleaved_within_fragments ... ok
[INFO] [stdout] test transport::tests::round_trips_a_text_message ... ok
[INFO] [stdout] test transport::tests::oversize_frame_is_rejected ... ok
[INFO] [stdout] test handshake::tests::accept_key_matches_rfc_6455_example ... ok
[INFO] [stdout] test handshake::tests::handshake_response_rejects_bad_version ... ok
[INFO] [stdout] test jakarta_bridge::tests::message_maps_to_lifecycle_events ... ok
[INFO] [stdout] test transport::tests::server_fragments_large_outbound_message ... ok
[INFO] [stdout] test frame::tests::text_frame_round_trips_through_a_masked_client_frame ... ok
[INFO] [stdout] test transport::tests::round_trips_a_binary_message ... ok
[INFO] [stderr]    Doc-tests tomcatrs_bench
[INFO] [stdout] test transport::tests::write_after_close_is_rejected ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[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] [stderr]    Doc-tests tomcatrs_catalina
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test crates/tomcatrs-catalina/src/lib.rs - (line 36) - compile ... ok
[INFO] [stderr]    Doc-tests tomcatrs_compat_tests
[INFO] [stdout] test crates/tomcatrs-catalina/src/filter.rs - filter (line 39) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.67s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/tomcatrs-compat-tests/src/lib.rs - (line 53) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_config
[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]    Doc-tests tomcatrs_core
[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]    Doc-tests tomcatrs_coyote
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test crates/tomcatrs-coyote/src/lib.rs - (line 25) - compile ... ok
[INFO] [stdout] test crates/tomcatrs-coyote/src/hpack.rs - hpack (line 29) ... ok
[INFO] [stdout] test crates/tomcatrs-coyote/src/cookies.rs - cookies::SetCookie::to_header_value (line 254) ... ok
[INFO] [stdout] test crates/tomcatrs-coyote/src/cookies.rs - cookies::SetCookie (line 129) ... ok
[INFO] [stdout] test crates/tomcatrs-coyote/src/cookies.rs - cookies::negotiate (line 552) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_jsp
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/tomcatrs-jsp/src/el.rs - el (line 28) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_observability
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/tomcatrs-observability/src/tracing.rs - tracing::init_tracing (line 30) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.56s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_security
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test crates/tomcatrs-security/src/realm.rs - realm::InMemoryRealm (line 150) ... ok
[INFO] [stdout] test crates/tomcatrs-security/src/access_control.rs - access_control::normalize_and_validate_uri (line 113) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_servlet_bridge
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/tomcatrs-servlet-bridge/src/classloader.rs - classloader::webapp_config (line 207) - compile ... ok
[INFO] [stderr]    Doc-tests tomcatrs_session
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test crates/tomcatrs-session/src/store_cluster.rs - store_cluster::ClusterSessionStore::run_receiver (line 367) - compile ... ok
[INFO] [stdout] test crates/tomcatrs-session/src/store_jdbc.rs - store_jdbc::JdbcSessionStore (line 170) ... ok
[INFO] [stdout] test crates/tomcatrs-session/src/lib.rs - (line 37) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.87s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tomcatrs_webapp
[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]    Doc-tests tomcatrs_websocket
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test crates/tomcatrs-websocket/src/handshake.rs - handshake::accept_key (line 30) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.39s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745", kill_on_drop: false }`
[INFO] [stdout] c2c6f1f001381dd6f1c8f5ad197c319792bdbfe3eaef17b92e39029e2e4f3745
