/
dieoska
/
ddnet
Обзор
Документация
Войти
/
dieoska
/
ddnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/net_test.cpp
54 строки
1 KB
ChillerDragon
Add test suffix
22 ноя 2025, 16:34
22 ноя 2025, 16:34
7b943a4
Код
Авторство
О чём код?
#include <base/system.h> #include <gtest/gtest.h> #include <chrono> using namespace std::chrono_literals; TEST(Net, Ipv4AndIpv6Work) { NETADDR Bindaddr = {}; NETSOCKET Socket1; NETSOCKET Socket2; Bindaddr.type = NETTYPE_IPV4 | NETTYPE_IPV6; Socket2 = net_udp_create(Bindaddr); do { Bindaddr.port = secure_rand() % 64511 + 1024; } while(!(Socket1 = net_udp_create(Bindaddr))); NETADDR LocalhostV4; NETADDR LocalhostV6; NETADDR TargetV4; NETADDR TargetV6; ASSERT_FALSE(net_addr_from_str(&LocalhostV4, "127.0.0.1")); ASSERT_FALSE(net_addr_from_str(&LocalhostV6, "[::1]")); TargetV4 = LocalhostV4; TargetV6 = LocalhostV6; TargetV4.port = Bindaddr.port; TargetV6.port = Bindaddr.port; NETADDR Addr; unsigned char *pData; EXPECT_EQ(net_udp_send(Socket2, &TargetV4, "abc", 3), 3); EXPECT_EQ(net_socket_read_wait(Socket1, 10s), 1); ASSERT_EQ(net_udp_recv(Socket1, &Addr, &pData), 3); Addr.port = 0; EXPECT_EQ(Addr, LocalhostV4); EXPECT_EQ(mem_comp(pData, "abc", 3), 0); EXPECT_EQ(net_udp_send(Socket2, &TargetV6, "def", 3), 3); EXPECT_EQ(net_socket_read_wait(Socket1, 10s), 1); ASSERT_EQ(net_udp_recv(Socket1, &Addr, &pData), 3); Addr.port = 0; EXPECT_EQ(Addr, LocalhostV6); EXPECT_EQ(mem_comp(pData, "def", 3), 0); net_udp_close(Socket1); net_udp_close(Socket2); }