diff --git a/src/session/session_manager.cpp b/src/session/session_manager.cpp index d2db7d7..4208a1f 100644 --- a/src/session/session_manager.cpp +++ b/src/session/session_manager.cpp @@ -585,7 +585,7 @@ static void session_manager_update_session_base(struct session_manager *mgr, str { session_set_type(sess, SESSION_TYPE_TCP); } - session_set_create_time(sess, timestamp_get_msec()); + session_set_create_time(sess, timestamp_get_sec()); } static void session_manager_update_session_packet(struct session_manager *mgr, struct session *sess, const struct packet *pkt, enum session_dir curr_dir) @@ -609,7 +609,7 @@ static void session_manager_update_session_packet(struct session_manager *mgr, s } session_set0_cur_pkt(sess, pkt); session_set_cur_dir(sess, curr_dir); - session_set_last_time(sess, timestamp_get_msec()); + session_set_last_time(sess, timestamp_get_sec()); } static void session_manager_update_udp_to_opening(struct session_manager *mgr, struct session *sess) @@ -1128,7 +1128,7 @@ struct session *session_manager_get_expired_session(struct session_manager *mgr) { session_manager_recycle_session(mgr); - struct session *sess = session_timer_expire_session(mgr->sess_timer, timestamp_get_msec()); + struct session *sess = session_timer_expire_session(mgr->sess_timer, timestamp_get_sec()); if (sess) { session_run_expirecb(sess); @@ -1160,44 +1160,22 @@ struct session *session_manager_get_evicted_session(struct session_manager *mgr) return sess; } -// return interval (seconds) to next required update, return 0 if no session uint64_t session_manager_get_expire_interval(struct session_manager *mgr) { return session_timer_next_expire_interval(mgr->sess_timer); } -uint64_t session_manager_get_session_number(struct session_manager *mgr, enum session_type type, enum session_state state) +void session_manager_get_session_counter(struct session_manager *mgr, struct session_counter *out) { - if (type == SESSION_TYPE_TCP) - { - switch (state) - { - case SESSION_STATE_OPENING: - return mgr->tcp_opening_sess_num; - case SESSION_STATE_ACTIVE: - return mgr->tcp_active_sess_num; - case SESSION_STATE_CLOSING: - return mgr->tcp_closing_sess_num; - default: - return 0; - } - } - else if (type == SESSION_TYPE_UDP) - { - switch (state) - { - case SESSION_STATE_OPENING: - return mgr->udp_opening_sess_num; - case SESSION_STATE_ACTIVE: - return mgr->udp_active_sess_num; - case SESSION_STATE_CLOSING: - return mgr->udp_closing_sess_num; - default: - return 0; - } - } + out->tcp_sess_num = mgr->tcp_sess_num; + out->tcp_opening_sess_num = mgr->tcp_opening_sess_num; + out->tcp_active_sess_num = mgr->tcp_active_sess_num; + out->tcp_closing_sess_num = mgr->tcp_closing_sess_num; - return 0; + out->udp_sess_num = mgr->udp_sess_num; + out->udp_opening_sess_num = mgr->udp_opening_sess_num; + out->udp_active_sess_num = mgr->udp_active_sess_num; + out->udp_closing_sess_num = mgr->udp_closing_sess_num; } void session_manager_print_status(struct session_manager *mgr) diff --git a/src/session/session_manager.h b/src/session/session_manager.h index bf3bbb5..7a6cac4 100644 --- a/src/session/session_manager.h +++ b/src/session/session_manager.h @@ -65,10 +65,24 @@ struct session *session_manager_lookup_sesssion(struct session_manager *mgr, con struct session *session_manager_update_session(struct session_manager *mgr, const struct packet *pkt); struct session *session_manager_get_expired_session(struct session_manager *mgr); struct session *session_manager_get_evicted_session(struct session_manager *mgr); -// return interval (seconds) to next required update, return 0 if no session +// return 0: have already timeout session +// return >0: next expire interval uint64_t session_manager_get_expire_interval(struct session_manager *mgr); -uint64_t session_manager_get_session_number(struct session_manager *mgr, enum session_type type, enum session_state state); +struct session_counter +{ + uint64_t tcp_sess_num; + uint64_t tcp_opening_sess_num; + uint64_t tcp_active_sess_num; + uint64_t tcp_closing_sess_num; + + uint64_t udp_sess_num; + uint64_t udp_opening_sess_num; + uint64_t udp_active_sess_num; + uint64_t udp_closing_sess_num; +}; + +void session_manager_get_session_counter(struct session_manager *mgr, struct session_counter *out); void session_manager_print_status(struct session_manager *mgr); #ifdef __cpluscplus diff --git a/src/session/session_timer.cpp b/src/session/session_timer.cpp index ae1c01a..985c86c 100644 --- a/src/session/session_timer.cpp +++ b/src/session/session_timer.cpp @@ -68,7 +68,6 @@ struct session *session_timer_expire_session(struct session_timer *timer, uint64 return sess; } -// return interval to next required update, return 0 if no timer uint64_t session_timer_next_expire_interval(struct session_timer *timer) { return timeouts_timeout(timer->timeouts); diff --git a/src/session/session_timer.h b/src/session/session_timer.h index 21ffd10..d9d40f2 100644 --- a/src/session/session_timer.h +++ b/src/session/session_timer.h @@ -18,7 +18,8 @@ void session_timer_del_session(struct session_timer *timer, struct session *sess * if return session, the session will be removed from timer. */ struct session *session_timer_expire_session(struct session_timer *timer, uint64_t abs_current_ts); -// return interval to next required update, return 0 if no timer +// return 0: have already timeout session +// return >0: next expire interval uint64_t session_timer_next_expire_interval(struct session_timer *timer); #ifdef __cpluscplus diff --git a/src/session/test/CMakeLists.txt b/src/session/test/CMakeLists.txt index 66f739b..7c782ab 100644 --- a/src/session/test/CMakeLists.txt +++ b/src/session/test/CMakeLists.txt @@ -1,5 +1,5 @@ ############################################################################### -# gtest +# gtest utils ############################################################################### add_executable(gtest_session gtest_session.cpp) @@ -17,26 +17,61 @@ target_link_libraries(gtest_session_timer session_manager gtest) add_executable(gtest_session_queue gtest_session_queue.cpp) target_link_libraries(gtest_session_queue session_manager gtest) -add_executable(gtest_tcp_init_to_opening gtest_tcp_init_to_opening.cpp) -target_link_libraries(gtest_tcp_init_to_opening session_manager gtest) +############################################################################### +# gtest state machine (TCP) +############################################################################### -add_executable(gtest_tcp_opening_to_active gtest_tcp_opening_to_active.cpp) -target_link_libraries(gtest_tcp_opening_to_active session_manager gtest) +add_executable(gtest_state_tcp_init_to_opening gtest_state_tcp_init_to_opening.cpp) +target_link_libraries(gtest_state_tcp_init_to_opening session_manager gtest) -add_executable(gtest_tcp_active_to_closing gtest_tcp_active_to_closing.cpp) -target_link_libraries(gtest_tcp_active_to_closing session_manager gtest) +add_executable(gtest_state_tcp_opening_to_active gtest_state_tcp_opening_to_active.cpp) +target_link_libraries(gtest_state_tcp_opening_to_active session_manager gtest) -add_executable(gtest_tcp_opening_to_closing gtest_tcp_opening_to_closing.cpp) -target_link_libraries(gtest_tcp_opening_to_closing session_manager gtest) +add_executable(gtest_state_tcp_active_to_closing gtest_state_tcp_active_to_closing.cpp) +target_link_libraries(gtest_state_tcp_active_to_closing session_manager gtest) -add_executable(gtest_tcp_init_to_opening_to_active_to_closing_to_closed gtest_tcp_init_to_opening_to_active_to_closing_to_closed.cpp) -target_link_libraries(gtest_tcp_init_to_opening_to_active_to_closing_to_closed session_manager gtest) +add_executable(gtest_state_tcp_opening_to_closing gtest_state_tcp_opening_to_closing.cpp) +target_link_libraries(gtest_state_tcp_opening_to_closing session_manager gtest) -add_executable(gtest_udp_init_to_opening_to_closing gtest_udp_init_to_opening_to_closing.cpp) -target_link_libraries(gtest_udp_init_to_opening_to_closing session_manager gtest) +add_executable(gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed.cpp) +target_link_libraries(gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed session_manager gtest) -add_executable(gtest_udp_init_to_opening_to_active_to_closing gtest_udp_init_to_opening_to_active_to_closing.cpp) -target_link_libraries(gtest_udp_init_to_opening_to_active_to_closing session_manager gtest) +############################################################################### +# gtest state machine (UDP) +############################################################################### + +add_executable(gtest_state_udp_init_to_opening_to_closing gtest_state_udp_init_to_opening_to_closing.cpp) +target_link_libraries(gtest_state_udp_init_to_opening_to_closing session_manager gtest) + +add_executable(gtest_state_udp_init_to_opening_to_active_to_closing gtest_state_udp_init_to_opening_to_active_to_closing.cpp) +target_link_libraries(gtest_state_udp_init_to_opening_to_active_to_closing session_manager gtest) + +############################################################################### +# gtest timeout (TCP) +############################################################################### + +add_executable(gtest_timeout_tcp_init gtest_timeout_tcp_init.cpp) +target_link_libraries(gtest_timeout_tcp_init session_manager gtest) + +add_executable(gtest_timeout_tcp_handshake gtest_timeout_tcp_handshake.cpp) +target_link_libraries(gtest_timeout_tcp_handshake session_manager gtest) + +add_executable(gtest_timeout_tcp_data gtest_timeout_tcp_data.cpp) +target_link_libraries(gtest_timeout_tcp_data session_manager gtest) + +add_executable(gtest_timeout_tcp_half_closed gtest_timeout_tcp_half_closed.cpp) +target_link_libraries(gtest_timeout_tcp_half_closed session_manager gtest) + +############################################################################### +# gtest timeout (UDP) +############################################################################### + +add_executable(gtest_timeout_udp_data gtest_timeout_udp_data.cpp) +target_link_libraries(gtest_timeout_udp_data session_manager gtest) + +############################################################################### +# gtest +############################################################################### include(GoogleTest) gtest_discover_tests(gtest_session) @@ -44,10 +79,19 @@ gtest_discover_tests(gtest_session_pool) gtest_discover_tests(gtest_session_table) gtest_discover_tests(gtest_session_timer) gtest_discover_tests(gtest_session_queue) -gtest_discover_tests(gtest_tcp_init_to_opening) -gtest_discover_tests(gtest_tcp_opening_to_active) -gtest_discover_tests(gtest_tcp_active_to_closing) -gtest_discover_tests(gtest_tcp_opening_to_closing) -gtest_discover_tests(gtest_tcp_init_to_opening_to_active_to_closing_to_closed) -gtest_discover_tests(gtest_udp_init_to_opening_to_closing) -gtest_discover_tests(gtest_udp_init_to_opening_to_active_to_closing) \ No newline at end of file + +gtest_discover_tests(gtest_state_tcp_init_to_opening) +gtest_discover_tests(gtest_state_tcp_opening_to_active) +gtest_discover_tests(gtest_state_tcp_active_to_closing) +gtest_discover_tests(gtest_state_tcp_opening_to_closing) + +gtest_discover_tests(gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed) +gtest_discover_tests(gtest_state_udp_init_to_opening_to_closing) +gtest_discover_tests(gtest_state_udp_init_to_opening_to_active_to_closing) + +gtest_discover_tests(gtest_timeout_tcp_init) +gtest_discover_tests(gtest_timeout_tcp_handshake) +gtest_discover_tests(gtest_timeout_tcp_data) +gtest_discover_tests(gtest_timeout_tcp_half_closed) + +gtest_discover_tests(gtest_timeout_udp_data) \ No newline at end of file diff --git a/src/session/test/gtest_session_timer.cpp b/src/session/test/gtest_session_timer.cpp index d0ac47b..f6b948b 100644 --- a/src/session/test/gtest_session_timer.cpp +++ b/src/session/test/gtest_session_timer.cpp @@ -153,6 +153,47 @@ TEST(SESSION_TIMER, BEFORE_EXPIRE_UPDATE) session_timer_destroy(timer); } +TEST(SESSION_TIMER, NEXT_EXPIRE_INTERVAL) +{ + struct session sess1; + struct session sess2; + struct session_timer *timer = session_timer_create(); + EXPECT_TRUE(timer != NULL); + + session_init(&sess1); + session_init(&sess2); + session_set_id(&sess1, 1); + session_set_id(&sess2, 2); + session_set_expirecb(&sess1, session_expire, NULL, 1000); + session_set_expirecb(&sess2, session_expire, NULL, 1000); + + EXPECT_TRUE(session_timer_next_expire_interval(timer) == UINT64_MAX); + + session_timer_add_session(timer, &sess1); + session_timer_add_session(timer, &sess2); + EXPECT_TRUE(session_timer_next_expire_interval(timer) < UINT64_MAX); + + EXPECT_TRUE(session_timer_expire_session(timer, 900) == NULL); + EXPECT_TRUE(session_timer_next_expire_interval(timer) <= 1000 - 900); + + EXPECT_TRUE(session_timer_expire_session(timer, 950) == NULL); + EXPECT_TRUE(session_timer_next_expire_interval(timer) <= 1000 - 950); + + EXPECT_TRUE(session_timer_expire_session(timer, 980) == NULL); + EXPECT_TRUE(session_timer_next_expire_interval(timer) <= 1000 - 980); + + EXPECT_TRUE(session_timer_expire_session(timer, 990) == NULL); + EXPECT_TRUE(session_timer_next_expire_interval(timer) <= 1000 - 990); + + EXPECT_TRUE(session_timer_expire_session(timer, 1010)); + EXPECT_TRUE(session_timer_next_expire_interval(timer) == 0); + + EXPECT_TRUE(session_timer_expire_session(timer, 1010)); + EXPECT_TRUE(session_timer_next_expire_interval(timer) == UINT64_MAX); + + session_timer_destroy(timer); +} + int main(int argc, char **argv) { ::testing::InitGoogleTest(&argc, argv); diff --git a/src/session/test/gtest_tcp_active_to_closing.cpp b/src/session/test/gtest_state_tcp_active_to_closing.cpp similarity index 87% rename from src/session/test/gtest_tcp_active_to_closing.cpp rename to src/session/test/gtest_state_tcp_active_to_closing.cpp index ecb4e24..0006a0a 100644 --- a/src/session/test/gtest_tcp_active_to_closing.cpp +++ b/src/session/test/gtest_state_tcp_active_to_closing.cpp @@ -26,8 +26,8 @@ static void build_active_tcp_session(struct session_manager *mgr, struct session EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -37,7 +37,7 @@ static void build_active_tcp_session(struct session_manager *mgr, struct session __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -61,8 +61,8 @@ static void build_active_tcp_session(struct session_manager *mgr, struct session EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED)); @@ -71,7 +71,7 @@ static void build_active_tcp_session(struct session_manager *mgr, struct session __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -116,8 +116,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_C2S_FIN_RECVED)); @@ -126,7 +126,7 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -150,8 +150,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED)); @@ -160,9 +160,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_FIN_FIN) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -214,8 +214,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_C2S_RST_RECVED)); @@ -224,9 +224,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_RST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_RST); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_RST); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -278,8 +278,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_RST_RECVED)); @@ -288,9 +288,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_RST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_SERVER_RST); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_SERVER_RST); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -314,9 +314,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_DATA_TIMEOUT) // C2S SYN Packet & C2S DATA Packet build_active_tcp_session(mgr, sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -361,8 +361,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_C2S_FIN_RECVED)); @@ -371,9 +371,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -418,8 +418,8 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_FIN_RECVED)); @@ -428,9 +428,9 @@ TEST(TCP_ACTIVE_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_SERVER_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_SERVER_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_tcp_init_to_opening.cpp b/src/session/test/gtest_state_tcp_init_to_opening.cpp similarity index 87% rename from src/session/test/gtest_tcp_init_to_opening.cpp rename to src/session/test/gtest_state_tcp_init_to_opening.cpp index c2f8de5..63fdcc2 100644 --- a/src/session/test/gtest_tcp_init_to_opening.cpp +++ b/src/session/test/gtest_state_tcp_init_to_opening.cpp @@ -38,8 +38,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -49,9 +49,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -93,8 +93,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYNACK_RECVED); @@ -104,9 +104,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -148,8 +148,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -159,7 +159,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -183,8 +183,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED)); @@ -194,9 +194,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -238,8 +238,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -249,7 +249,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -273,8 +273,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED)); @@ -284,7 +284,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -308,8 +308,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED)); @@ -318,9 +318,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_SYNACK_ACK) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -364,8 +364,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -375,7 +375,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -405,8 +405,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -416,9 +416,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYN_RETRANSMISSION) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -462,8 +462,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYNACK_RECVED); @@ -473,7 +473,7 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -503,8 +503,8 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYNACK_RECVED); @@ -514,9 +514,9 @@ TEST(TCP_INIT_TO_OPENING, BY_SYNACK_RETRANSMISSION) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -558,8 +558,8 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -569,7 +569,7 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -593,8 +593,8 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED)); @@ -604,9 +604,9 @@ TEST(TCP_INIT_TO_OPENING, BY_C2S_ASMMETRIC) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -648,8 +648,8 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYNACK_RECVED); @@ -659,7 +659,7 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -683,8 +683,8 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYNACK_RECVED | TCP_S2C_ACK_RECVED)); @@ -694,9 +694,9 @@ TEST(TCP_INIT_TO_OPENING, BY_S2C_ASMMETRIC) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_tcp_init_to_opening_to_active_to_closing_to_closed.cpp b/src/session/test/gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed.cpp similarity index 88% rename from src/session/test/gtest_tcp_init_to_opening_to_active_to_closing_to_closed.cpp rename to src/session/test/gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed.cpp index 3590625..3e797f6 100644 --- a/src/session/test/gtest_tcp_init_to_opening_to_active_to_closing_to_closed.cpp +++ b/src/session/test/gtest_state_tcp_init_to_opening_to_active_to_closing_to_closed.cpp @@ -35,8 +35,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -46,7 +46,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -71,8 +71,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED)); @@ -81,7 +81,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -106,8 +106,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED)); @@ -116,7 +116,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -141,8 +141,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED)); @@ -151,7 +151,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -176,8 +176,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED)); @@ -186,7 +186,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -211,8 +211,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED)); @@ -221,7 +221,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -246,8 +246,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354 + 385); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED)); @@ -256,7 +256,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -281,8 +281,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354 + 385); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED)); @@ -291,7 +291,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -316,8 +316,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354 + 385); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED | TCP_C2S_FIN_RECVED)); @@ -326,7 +326,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -351,8 +351,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354 + 385 + 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED)); @@ -361,7 +361,7 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); sleep(1); timestamp_update(); @@ -386,8 +386,8 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 66 + 1354 + 385 + 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1 + 1 + 1 + 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1 + 1 + 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_DATA_RECVED | TCP_S2C_DATA_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED)); @@ -396,9 +396,9 @@ TEST(TCP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING_TO_CLOSED, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_tcp_opening_to_active.cpp b/src/session/test/gtest_state_tcp_opening_to_active.cpp similarity index 87% rename from src/session/test/gtest_tcp_opening_to_active.cpp rename to src/session/test/gtest_state_tcp_opening_to_active.cpp index f0a1672..1cef0fa 100644 --- a/src/session/test/gtest_tcp_opening_to_active.cpp +++ b/src/session/test/gtest_state_tcp_opening_to_active.cpp @@ -38,8 +38,8 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -49,7 +49,7 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -73,8 +73,8 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_DATA_RECVED)); @@ -83,9 +83,9 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYN_C2S_DATA) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -127,8 +127,8 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYNACK_RECVED); @@ -138,7 +138,7 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -162,8 +162,8 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74 + 1354); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1 + 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYNACK_RECVED | TCP_S2C_ACK_RECVED | TCP_S2C_DATA_RECVED)); @@ -172,9 +172,9 @@ TEST(TCP_OPENING_TO_ACTIVE, BY_SYNACK_S2C_DATA) __session_dispatch(sess); - __session_manager_count(mgr, 0, 1, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_tcp_opening_to_closing.cpp b/src/session/test/gtest_state_tcp_opening_to_closing.cpp similarity index 87% rename from src/session/test/gtest_tcp_opening_to_closing.cpp rename to src/session/test/gtest_state_tcp_opening_to_closing.cpp index f7e4182..ee9f5d3 100644 --- a/src/session/test/gtest_tcp_opening_to_closing.cpp +++ b/src/session/test/gtest_state_tcp_opening_to_closing.cpp @@ -26,8 +26,8 @@ static void build_opening_tcp_session(struct session_manager *mgr, struct sessio EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == TCP_SYN_RECVED); @@ -37,7 +37,7 @@ static void build_opening_tcp_session(struct session_manager *mgr, struct sessio __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -82,8 +82,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_FIN_RECVED)); @@ -92,7 +92,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -116,8 +116,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_S2C_ACK_RECVED | TCP_C2S_FIN_RECVED | TCP_S2C_FIN_RECVED)); @@ -126,9 +126,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_FIN_FIN) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -180,8 +180,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_RST_RECVED)); @@ -190,9 +190,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_RST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_RST); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_RST); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -244,8 +244,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_S2C_RST_RECVED)); @@ -254,9 +254,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_RST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 1, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_SERVER_RST); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_SERVER_RST); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -280,8 +280,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_INIT_TIMEOUT) // C2S SYN Packet build_opening_tcp_session(mgr, sess); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -326,8 +327,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED)); @@ -337,9 +338,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_HANDSHAKE_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -384,8 +385,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED)); @@ -395,7 +396,7 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); sleep(1); timestamp_update(); @@ -419,8 +420,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 74); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_SYNACK_RECVED | TCP_C2S_ACK_RECVED)); @@ -429,9 +430,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_DATA_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -476,8 +477,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1 + 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_C2S_ACK_RECVED | TCP_C2S_FIN_RECVED)); @@ -486,9 +487,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_C2S_HALF_CLOSED_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_CLIENT_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_CLIENT_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -533,8 +534,8 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT) EXPECT_TRUE(session_get_s2c_bytes(sess) == 66); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_tcp_state(sess) == (TCP_SYN_RECVED | TCP_S2C_ACK_RECVED | TCP_S2C_FIN_RECVED)); @@ -543,9 +544,9 @@ TEST(TCP_OPENING_TO_CLOSING, BY_S2C_HALF_CLOSED_TIMEOUT) __session_dispatch(sess); - __session_manager_count(mgr, 1, 0, 0, 0, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_SERVER_FIN); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_SERVER_FIN); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_udp_init_to_opening_to_active_to_closing.cpp b/src/session/test/gtest_state_udp_init_to_opening_to_active_to_closing.cpp similarity index 87% rename from src/session/test/gtest_udp_init_to_opening_to_active_to_closing.cpp rename to src/session/test/gtest_state_udp_init_to_opening_to_active_to_closing.cpp index fa1d473..8fd4004 100644 --- a/src/session/test/gtest_udp_init_to_opening_to_active_to_closing.cpp +++ b/src/session/test/gtest_state_udp_init_to_opening_to_active_to_closing.cpp @@ -42,8 +42,8 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_udp_state(sess) == UDP_C2S_RECVED); @@ -53,7 +53,7 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 0, 1, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0); sleep(1); timestamp_update(); @@ -77,8 +77,8 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST) EXPECT_TRUE(session_get_s2c_bytes(sess) == 550); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) < timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_udp_state(sess) == (UDP_C2S_RECVED | UDP_S2C_RECVED)); @@ -87,9 +87,9 @@ TEST(UDP_INIT_TO_OPENING_TO_ACTIVE_TO_CLOSING, TEST) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 0, 0, 1, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 1, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_udp_init_to_opening_to_closing.cpp b/src/session/test/gtest_state_udp_init_to_opening_to_closing.cpp similarity index 86% rename from src/session/test/gtest_udp_init_to_opening_to_closing.cpp rename to src/session/test/gtest_state_udp_init_to_opening_to_closing.cpp index 6b0fefe..e98ad75 100644 --- a/src/session/test/gtest_udp_init_to_opening_to_closing.cpp +++ b/src/session/test/gtest_state_udp_init_to_opening_to_closing.cpp @@ -40,8 +40,8 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_C2S) EXPECT_TRUE(session_get_s2c_bytes(sess) == 0); EXPECT_TRUE(session_get_c2s_packets(sess) == 1); EXPECT_TRUE(session_get_s2c_packets(sess) == 0); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_C2S); EXPECT_TRUE(session_get_udp_state(sess) == UDP_C2S_RECVED); @@ -51,9 +51,9 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_C2S) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 0, 1, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } @@ -97,8 +97,8 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_S2C) EXPECT_TRUE(session_get_s2c_bytes(sess) == 550); EXPECT_TRUE(session_get_c2s_packets(sess) == 0); EXPECT_TRUE(session_get_s2c_packets(sess) == 1); - EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_msec()); - EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_msec()); + EXPECT_TRUE(session_get_create_time(sess) == timestamp_get_sec()); + EXPECT_TRUE(session_get_last_time(sess) == timestamp_get_sec()); EXPECT_TRUE(session_get0_cur_pkt(sess) == &pkt); EXPECT_TRUE(session_get_cur_dir(sess) == SESSION_DIR_S2C); EXPECT_TRUE(session_get_udp_state(sess) == UDP_S2C_RECVED); @@ -108,9 +108,9 @@ TEST(UDP_INIT_TO_OPENING_TO_CLOSING, BY_S2C) __session_dispatch(sess); - __session_manager_count(mgr, 0, 0, 0, 1, 0, 0); - __session_manager_dispatch(mgr, CLOSING_BY_TIMEOUT); - __session_manager_count(mgr, 0, 0, 0, 0, 0, 0); + __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0); + __session_manager_wait(mgr, CLOSING_BY_TIMEOUT); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); session_manager_destroy(mgr); } diff --git a/src/session/test/gtest_timeout_tcp_data.cpp b/src/session/test/gtest_timeout_tcp_data.cpp new file mode 100644 index 0000000..d724e3e --- /dev/null +++ b/src/session/test/gtest_timeout_tcp_data.cpp @@ -0,0 +1,44 @@ +#include "test_utils.h" + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_DATA) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S SYN Packet + printf("=> packet parse: TCP C2S SYN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + // C2S DATA Packet + printf("=> packet parse: TCP C2S DATA packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt4_c2s_http_req, sizeof(tcp_pkt4_c2s_http_req)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_data(mgr, &config); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/session/test/gtest_timeout_tcp_half_closed.cpp b/src/session/test/gtest_timeout_tcp_half_closed.cpp new file mode 100644 index 0000000..3a81051 --- /dev/null +++ b/src/session/test/gtest_timeout_tcp_half_closed.cpp @@ -0,0 +1,88 @@ +#include "test_utils.h" + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_HALF_CLOSED1) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S SYN Packet + printf("=> packet parse: TCP C2S SYN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + // C2S FIN Packet + printf("=> packet parse: TCP C2S FIN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_half_closed(mgr, &config, SESSION_STATE_OPENING); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_HALF_CLOSED2) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S SYN Packet + printf("=> packet parse: TCP C2S SYN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + // C2S DATA Packet + printf("=> packet parse: TCP C2S DATA packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt4_c2s_http_req, sizeof(tcp_pkt4_c2s_http_req)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + // C2S FIN Packet + printf("=> packet parse: TCP C2S FIN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt9_c2s_fin, sizeof(tcp_pkt9_c2s_fin)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_half_closed(mgr, &config, SESSION_STATE_ACTIVE); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/session/test/gtest_timeout_tcp_handshake.cpp b/src/session/test/gtest_timeout_tcp_handshake.cpp new file mode 100644 index 0000000..1b87f47 --- /dev/null +++ b/src/session/test/gtest_timeout_tcp_handshake.cpp @@ -0,0 +1,37 @@ +#include "test_utils.h" + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_HANDSHAKE) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // SYNACK Packet + printf("=> packet parse: TCP S2C SYNACK packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_handshake(mgr, &config); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/session/test/gtest_timeout_tcp_init.cpp b/src/session/test/gtest_timeout_tcp_init.cpp new file mode 100644 index 0000000..2a7f98f --- /dev/null +++ b/src/session/test/gtest_timeout_tcp_init.cpp @@ -0,0 +1,67 @@ +#include "test_utils.h" + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_INIT1) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S SYN Packet + printf("=> packet parse: TCP C2S SYN packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt1_c2s_syn, sizeof(tcp_pkt1_c2s_syn)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_init(mgr, &config); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +#if 1 +TEST(TIMEOUT, TCP_TIMEOUT_INIT2) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // S2C SYNACK Packet + printf("=> packet parse: TCP S2C SYNACK packet\n"); + packet_parse(&pkt, (const char *)tcp_pkt2_s2c_syn_ack, sizeof(tcp_pkt2_s2c_syn_ack)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + + __session_manager_check_tcp_timeout_init(mgr, &config); + __session_manager_check_tcp_timeout_time_wait(mgr, &config); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/session/test/gtest_timeout_udp_data.cpp b/src/session/test/gtest_timeout_udp_data.cpp new file mode 100644 index 0000000..6fbab5f --- /dev/null +++ b/src/session/test/gtest_timeout_udp_data.cpp @@ -0,0 +1,74 @@ +#include "test_utils.h" + +#if 1 +TEST(TIMEOUT, UDP_TIMEOUT_DATA1) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S REQ Packet + printf("=> packet parse: UDP C2S REQ packet\n"); + packet_parse(&pkt, (const char *)udp_pkt1_dns_req, sizeof(udp_pkt1_dns_req)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0); + + __session_manager_check_udp_timeout_data(mgr, &config, SESSION_STATE_OPENING); + + EXPECT_TRUE(session_manager_get_expired_session(mgr) == NULL); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +#if 1 +TEST(TIMEOUT, UDP_TIMEOUT_DATA2) +{ + struct packet pkt; + struct session *sess = NULL; + struct session_manager *mgr = NULL; + + timestamp_update(); + + mgr = session_manager_create(&config); + EXPECT_TRUE(mgr != NULL); + + // C2S REQ Packet + printf("=> packet parse: UDP C2S REQ packet\n"); + packet_parse(&pkt, (const char *)udp_pkt1_dns_req, sizeof(udp_pkt1_dns_req)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + // S2C RESP Packet + printf("=> packet parse: UDP S2C RESP packet\n"); + packet_parse(&pkt, (const char *)udp_pkt2_dns_resp, sizeof(udp_pkt2_dns_resp)); + printf("<= packet parse\n\n"); + sess = session_manager_update_session(mgr, &pkt); + EXPECT_TRUE(sess); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 1, 0); + + __session_manager_check_udp_timeout_data(mgr, &config, SESSION_STATE_ACTIVE); + + EXPECT_TRUE(session_manager_get_expired_session(mgr) == NULL); + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + + session_manager_destroy(mgr); +} +#endif + +int main(int argc, char **argv) +{ + ::testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} diff --git a/src/session/test/test_utils.h b/src/session/test/test_utils.h index 591a9db..1825a1d 100644 --- a/src/session/test/test_utils.h +++ b/src/session/test/test_utils.h @@ -29,7 +29,7 @@ struct session_manager_config config = { .tcp_timeout_discard = 2, // udp timeout - .udp_timeout_data = 1, + .udp_timeout_data = 2, // tcp duplicate packet filter .tcp_dupkt_filter_enable = 1, @@ -44,7 +44,7 @@ struct session_manager_config config = { .udp_eviction_filter_error_rate = 0.0001, }; -static void __session_dispatch(struct session *sess) +__attribute__((unused)) static void __session_dispatch(struct session *sess) { if (sess == NULL) { @@ -61,10 +61,10 @@ static void __session_dispatch(struct session *sess) session_set_cur_dir(sess, SESSION_DIR_NONE); } -static void __session_manager_dispatch(struct session_manager *mgr, enum closing_reasion reason) +__attribute__((unused)) static void __session_manager_wait(struct session_manager *mgr, enum closing_reasion reason) { struct session *sess; - for (int i = 0; i < 3; i++) + for (int i = 0; i < 5; i++) { timestamp_update(); sess = session_manager_get_expired_session(mgr); @@ -83,15 +83,257 @@ static void __session_manager_dispatch(struct session_manager *mgr, enum closing } } -static void __session_manager_count(struct session_manager *mgr, uint64_t tcp_opening_num, uint64_t tcp_active_num, uint64_t tcp_closing_num, uint64_t udp_opening_num, uint64_t udp_active_num, uint64_t udp_closing_num) +__attribute__((unused)) static void __session_manager_check_counter(struct session_manager *mgr, + uint64_t tcp_opening_sess_num, uint64_t tcp_active_sess_num, uint64_t tcp_closing_sess_num, + uint64_t udp_opening_sess_num, uint64_t udp_active_sess_num, uint64_t udp_closing_sess_num) { - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_TCP, SESSION_STATE_OPENING) == tcp_opening_num); - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_TCP, SESSION_STATE_ACTIVE) == tcp_active_num); - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_TCP, SESSION_STATE_CLOSING) == tcp_closing_num); + struct session_counter counter; + session_manager_get_session_counter(mgr, &counter); - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_UDP, SESSION_STATE_OPENING) == udp_opening_num); - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_UDP, SESSION_STATE_ACTIVE) == udp_active_num); - EXPECT_TRUE(session_manager_get_session_number(mgr, SESSION_TYPE_UDP, SESSION_STATE_CLOSING) == udp_closing_num); + EXPECT_TRUE(counter.tcp_sess_num == tcp_opening_sess_num + tcp_active_sess_num + tcp_closing_sess_num); + EXPECT_TRUE(counter.tcp_opening_sess_num == tcp_opening_sess_num); + EXPECT_TRUE(counter.tcp_active_sess_num == tcp_active_sess_num); + EXPECT_TRUE(counter.tcp_closing_sess_num == tcp_closing_sess_num); + + EXPECT_TRUE(counter.udp_sess_num == udp_opening_sess_num + udp_active_sess_num + udp_closing_sess_num); + EXPECT_TRUE(counter.udp_opening_sess_num == udp_opening_sess_num); + EXPECT_TRUE(counter.udp_active_sess_num == udp_active_sess_num); + EXPECT_TRUE(counter.udp_closing_sess_num == udp_closing_sess_num); +} + +__attribute__((unused)) static void __session_manager_check_tcp_timeout_init(struct session_manager *mgr, struct session_manager_config *config) +{ + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->tcp_timeout_init; + printf("\n=> tcp_timeout_init\n"); + for (uint64_t i = 0; i <= config->tcp_timeout_init; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->tcp_timeout_init) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + EXPECT_TRUE(sess != NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->tcp_timeout_init); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= tcp_timeout_init\n\n"); +} + +__attribute__((unused)) static void __session_manager_check_tcp_timeout_handshake(struct session_manager *mgr, struct session_manager_config *config) +{ + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->tcp_timeout_handshake; + printf("\n=> tcp_timeout_handshake\n"); + for (uint64_t i = 0; i <= config->tcp_timeout_handshake; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->tcp_timeout_handshake) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + EXPECT_TRUE(sess != NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->tcp_timeout_handshake); + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= tcp_timeout_handshake\n\n"); +} + +__attribute__((unused)) static void __session_manager_check_tcp_timeout_data(struct session_manager *mgr, struct session_manager_config *config) +{ + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->tcp_timeout_data; + printf("\n=> tcp_timeout_data\n"); + for (uint64_t i = 0; i <= config->tcp_timeout_data; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->tcp_timeout_data) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + EXPECT_TRUE(sess != NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->tcp_timeout_data); + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= tcp_timeout_data\n\n"); +} + +__attribute__((unused)) static void __session_manager_check_tcp_timeout_half_closed(struct session_manager *mgr, struct session_manager_config *config, enum session_state curr_state) +{ + EXPECT_TRUE(curr_state == SESSION_STATE_OPENING || curr_state == SESSION_STATE_ACTIVE); + + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->tcp_timeout_half_closed; + printf("\n=> tcp_timeout_half_closed\n"); + for (uint64_t i = 0; i <= config->tcp_timeout_half_closed; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->tcp_timeout_half_closed) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + EXPECT_TRUE(sess != NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->tcp_timeout_half_closed); + if (curr_state == SESSION_STATE_OPENING) + { + __session_manager_check_counter(mgr, 1, 0, 0, 0, 0, 0); + } + if (curr_state == SESSION_STATE_ACTIVE) + { + __session_manager_check_counter(mgr, 0, 1, 0, 0, 0, 0); + } + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= tcp_timeout_half_closed\n\n"); +} + +__attribute__((unused)) static void __session_manager_check_tcp_timeout_time_wait(struct session_manager *mgr, struct session_manager_config *config) +{ + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->tcp_timeout_time_wait; + printf("\n=> tcp_timeout_time_wait\n"); + for (uint64_t i = 0; i <= config->tcp_timeout_time_wait; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->tcp_timeout_time_wait) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 0); + EXPECT_TRUE(sess == NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->tcp_timeout_init); + __session_manager_check_counter(mgr, 0, 0, 1, 0, 0, 0); + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= tcp_timeout_time_wait\n\n"); +} + +__attribute__((unused)) static void __session_manager_check_udp_timeout_data(struct session_manager *mgr, struct session_manager_config *config, enum session_state curr_state) +{ + EXPECT_TRUE(curr_state == SESSION_STATE_OPENING || curr_state == SESSION_STATE_ACTIVE); + + struct session *sess; + uint64_t interval; + uint64_t timeout_time = timestamp_get_sec() + config->udp_timeout_data; + printf("\n=> udp_timeout_data\n"); + for (uint64_t i = 0; i <= config->udp_timeout_data; i++) + { + timestamp_update(); + + sess = session_manager_get_expired_session(mgr); + interval = session_manager_get_expire_interval(mgr); + + if (i == config->udp_timeout_data) + { + printf("timeout_time: %lu, curr_time: %lu, session expired\n", + timeout_time, timestamp_get_sec()); + + __session_manager_check_counter(mgr, 0, 0, 0, 0, 0, 1); + EXPECT_TRUE(sess != NULL); + break; + } + else + { + printf("timeout_time: %lu, curr_time: %lu, interval : %lu, session not expire\n", + timeout_time, timestamp_get_sec(), interval); + + EXPECT_TRUE(interval <= config->udp_timeout_data); + if (curr_state == SESSION_STATE_OPENING) + { + __session_manager_check_counter(mgr, 0, 0, 0, 1, 0, 0); + } + if (curr_state == SESSION_STATE_ACTIVE) + { + __session_manager_check_counter(mgr, 0, 0, 0, 0, 1, 0); + } + + EXPECT_TRUE(sess == NULL); + } + sleep(1); + } + printf("<= udp_timeout_data\n\n"); } #ifdef __cpluscplus