Files
shoes/tests/integration.rs
cfal a72cc7f0bb Expand test coverage and fix the protocol bugs it exposed (#212)
Broadens unit and integration coverage of WebSocket framing, ShadowTLS and REALITY ClientHello parsing, VLESS fallback, Hysteria2 and TUIC authentication, DNS, and connection budgets across reloads, and fixes the defects it exposed: WebSocket streams now accept control frames up to RFC 6455's 125-byte limit, no longer report EOF into partly filled read buffers, and flush buffered frames before shutting down; the shared ClientHello parser reassembles hellos split across TLS records, as Go TLS stacks do; and message-stream shutdown after EOF is bounded like the stream relay's. It also builds the binary on the library crate instead of compiling every module twice, removes the unused UdpMessageStream, moves ShadowTLS interop tests to local handshake servers, makes filtered CI test steps fail when they select no tests, consolidates the WebSocket payload-reading code, and documents how to measure coverage along with the remaining gaps, including why WebSocket Close frames stay unanswered.
2026-10-23 06:18:10 -04:00

83 lines
2.9 KiB
Rust

#[path = "cases/integration/anytls_integration.rs"]
mod anytls;
#[path = "cases/integration/anytls_uot_integration.rs"]
mod anytls_uot;
#[path = "cases/integration/fake_dns.rs"]
mod fake_dns;
#[path = "cases/integration/h2mux_integration.rs"]
mod h2mux;
#[path = "cases/integration/h2mux_backpressure.rs"]
mod h2mux_backpressure;
#[path = "cases/integration/h2mux_singbox.rs"]
mod h2mux_singbox;
#[path = "cases/integration/hostname_sniffing.rs"]
mod hostname_sniffing;
#[path = "cases/integration/http2_proxy.rs"]
mod http2_proxy;
#[path = "cases/integration/http_host_sniffing.rs"]
mod http_host_sniffing;
#[path = "cases/integration/hysteria2_integration.rs"]
mod hysteria2;
#[path = "cases/integration/hysteria2_udp_integration.rs"]
mod hysteria2_udp;
#[path = "cases/integration/naiveproxy_integration.rs"]
mod naiveproxy;
#[path = "cases/integration/plain_tcp_relay.rs"]
mod plain_tcp_relay;
#[path = "cases/integration/quic_udp_routing_test.rs"]
mod quic_udp_routing;
#[path = "cases/integration/reality_integration.rs"]
mod reality;
#[path = "cases/integration/resource_lifecycle_test.rs"]
mod resource_lifecycle;
#[path = "cases/integration/shadowsocks_integration.rs"]
mod shadowsocks;
#[path = "cases/integration/shadowsocks_client_udp_test.rs"]
mod shadowsocks_client_udp;
#[path = "cases/integration/shadowsocks_cross_protocol_udp_test.rs"]
mod shadowsocks_cross_protocol_udp;
#[path = "cases/integration/shadowsocks_uot_integration.rs"]
mod shadowsocks_uot;
#[path = "cases/integration/shadowsocks_uot_edge_cases.rs"]
mod shadowsocks_uot_edge_cases;
#[path = "cases/integration/shadowtls_integration.rs"]
mod shadowtls;
#[path = "cases/integration/snell_integration.rs"]
mod snell;
#[path = "cases/integration/socks_integration.rs"]
mod socks;
#[path = "cases/integration/socks5_udp_associate_test.rs"]
mod socks5_udp_associate;
#[path = "cases/integration/socks_uot_integration.rs"]
mod socks_uot;
#[path = "cases/integration/tls_hybrid.rs"]
mod tls_hybrid;
#[path = "cases/integration/tuic_integration.rs"]
mod tuic;
#[path = "cases/integration/tuic_udp_integration.rs"]
mod tuic_udp;
#[path = "cases/integration/vless_integration.rs"]
mod vless;
#[path = "cases/integration/vless_xudp_integration.rs"]
mod vless_xudp;
#[path = "cases/integration/vless_xudp_edge_cases.rs"]
mod vless_xudp_edge_cases;
#[path = "cases/integration/vless_xudp_hostname_test.rs"]
mod vless_xudp_hostname;
#[path = "cases/integration/vless_xudp_multiip_response_test.rs"]
mod vless_xudp_multiip_response;
#[path = "cases/integration/vless_xudp_realistic_mosh_test.rs"]
mod vless_xudp_realistic_mosh;
#[path = "cases/integration/vless_xudp_true_multiplexing.rs"]
mod vless_xudp_true_multiplexing;
#[path = "cases/integration/vmess_integration.rs"]
mod vmess;
#[path = "cases/integration/vmess_xudp_integration.rs"]
mod vmess_xudp;
#[cfg(unix)]
#[path = "cases/integration/wireguard_integration.rs"]
mod wireguard;
#[cfg(unix)]
#[path = "cases/wireguard_support.rs"]
mod wireguard_support;