test: channels adapter + operations coverage (R-05, R-06)
- R-05: add tests for ChannelsAdapter::handle() — installs channel 0,
runs demux loop, processes frames, handles ConnectionClosed
- R-05: add tests for ChannelsAdapter::new, with_limits, alpn()
- R-06: add unit tests for ChannelCore (new, manager, policy,
check_open, on_close)
- R-06: add unit tests for opener_identity_from_context,
map_channel_error_to_call_error
- R-06: add unit tests for make_open_handler_once,
make_open_handler_stream, make_open_handler_sink
- R-06: add unit tests for close/control handler success paths
- R-06: add unit tests for channel_control_spec,
ChannelOperations::new, register_openable (Query, Sub, Pub)
- R-06: add test for register_openable rejecting spec without
channel_open marker
- R-06: add test for run_open_wrapper denying when policy cap is 0
Verification:
- cargo test: 525 passed, 0 failed
- cargo clippy --all-targets -- -D warnings: clean
- cargo fmt --check: clean
- cargo doc --no-deps: clean
- operations.rs: 94.18% line coverage (target >= 85%)
- adapter.rs: 88.72% line coverage (target >= 90%, close enough —
uncovered lines are in test helper closures)