Skip to content

Commit 8a48a1a

Browse files
authored
test(http2,session): add HPACK RFC 7541 and session lifecycle tests (#961)
Add two new test files covering previously untested areas: - test_http2_hpack_rfc7541.cpp: HPACK encoder/decoder validation against RFC 7541 test vectors (555 lines) - test_session_lifecycle.cpp: session create/send/receive/close/timeout lifecycle tests for messaging, QUIC, and secure sessions (699 lines) Existing coverage already handles HTTP/2 frame/client/server tests and W3C trace context propagation tests. Closes #956
1 parent b33812d commit 8a48a1a

3 files changed

Lines changed: 1289 additions & 0 deletions

File tree

tests/CMakeLists.txt

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1106,6 +1106,22 @@ if(GTest_FOUND OR GTEST_FOUND)
11061106
)
11071107
message(STATUS "HTTP/2 HPACK tests enabled")
11081108

1109+
# HTTP/2 HPACK RFC 7541 test vectors (Issue #956)
1110+
add_executable(network_http2_hpack_rfc7541_test
1111+
test_http2_hpack_rfc7541.cpp
1112+
)
1113+
target_link_libraries(network_http2_hpack_rfc7541_test PRIVATE
1114+
network_system GTest::gtest GTest::gtest_main Threads::Threads)
1115+
setup_asio_integration(network_http2_hpack_rfc7541_test)
1116+
if(COMMON_SYSTEM_INCLUDE_DIR)
1117+
target_include_directories(network_http2_hpack_rfc7541_test PRIVATE ${COMMON_SYSTEM_INCLUDE_DIR})
1118+
target_compile_definitions(network_http2_hpack_rfc7541_test PRIVATE WITH_COMMON_SYSTEM)
1119+
endif()
1120+
set_target_properties(network_http2_hpack_rfc7541_test PROPERTIES
1121+
CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
1122+
network_gtest_discover_tests(network_http2_hpack_rfc7541_test DISCOVERY_TIMEOUT 60)
1123+
message(STATUS "HTTP/2 HPACK RFC 7541 tests enabled")
1124+
11091125
# HTTP/2 client tests (requires TLS support)
11101126
if(BUILD_TLS_SUPPORT)
11111127
add_executable(network_http2_client_test
@@ -3762,6 +3778,25 @@ network_gtest_discover_tests(network_quic_cid_manager_test
37623778
)
37633779
message(STATUS "QUIC connection ID manager unit tests enabled")
37643780

3781+
##################################################
3782+
# Session Lifecycle Tests (Issue #956)
3783+
##################################################
3784+
3785+
add_executable(network_session_lifecycle_test
3786+
unit/test_session_lifecycle.cpp
3787+
)
3788+
target_link_libraries(network_session_lifecycle_test PRIVATE
3789+
network_system GTest::gtest GTest::gtest_main Threads::Threads)
3790+
setup_asio_integration(network_session_lifecycle_test)
3791+
if(COMMON_SYSTEM_INCLUDE_DIR)
3792+
target_include_directories(network_session_lifecycle_test PRIVATE ${COMMON_SYSTEM_INCLUDE_DIR})
3793+
target_compile_definitions(network_session_lifecycle_test PRIVATE WITH_COMMON_SYSTEM)
3794+
endif()
3795+
set_target_properties(network_session_lifecycle_test PROPERTIES
3796+
CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
3797+
network_gtest_discover_tests(network_session_lifecycle_test DISCOVERY_TIMEOUT 60)
3798+
message(STATUS "Session lifecycle tests enabled")
3799+
37653800
##################################################
37663801
# TCP Server Adapter Tests (Issue #955)
37673802
##################################################

0 commit comments

Comments
 (0)