Add protocol exception tests that check errors and exceptions. `test_process_startup_invalid_string_map`: `STARTUP` (0x01) with declared map count, but missing entries - `read_string_map` out-of-range. `test_process_query_internal_malformed_query`: `QUERY` (0x07) long string declared larger than available bytes - `read_long_string_view`. `test_process_query_internal_fail_read_options`: `QUERY` (0x07) with `PAGE_SIZE` flag, but truncated page_size - `read_options` path. `test_process_prepare_malformed_query`: `PREPARE` (0x09) long string declared larger than available bytes - `read_long_string_view` in prepare. `test_process_execute_internal_malformed_cache_key`: `EXECUTE` (0x0A) cache key short bytes declared larger than provided bytes - `read_short_bytes`. `test_process_register_malformed_string_list`: `REGISTER` (0x0B) string list with truncated element - `read_string_list`/`read_string`. Each test asserts an `ERROR` frame is returned and `protocol_error` metrics increase, without causing C++ exceptions. Refs: #24567
14 KiB
14 KiB