add timeout test case

tcp timeout init (SYN / SYNACK)
    tcp timeout handshake
    tcp timeout data
    tcp timeout half closed (session opening / session active)
    tcp timeout time wait
    udp timeout data (session opening / session active)
This commit is contained in:
luwenpeng
2024-01-25 16:08:55 +08:00
parent 3f1a1f3fc3
commit d3367fc86a
19 changed files with 914 additions and 284 deletions

View File

@@ -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);