mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Refactor syscall tests
- Move shared helpers V4Multicast and V4Broadcast to socket_test_util - Add unnamed namespace so socket_ipv4_tcp_unbound_external_networking_test.cc and socket_ipv4_udp_unbound_external_networking_test.cc can be compiled together - Add test files to "exports_files" so they can be included by Fuchsia's syscall test setup PiperOrigin-RevId: 293880429
This commit is contained in:
@@ -12,6 +12,9 @@ exports_files(
|
||||
"socket_ip_loopback_blocking.cc",
|
||||
"socket_ip_tcp_loopback.cc",
|
||||
"socket_ip_udp_loopback.cc",
|
||||
"socket_ip_unbound.cc",
|
||||
"socket_ipv4_tcp_unbound_external_networking_test.cc",
|
||||
"socket_ipv4_udp_unbound_external_networking_test.cc",
|
||||
"socket_ipv4_udp_unbound_loopback.cc",
|
||||
"tcp_socket.cc",
|
||||
"udp_socket.cc",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
namespace gvisor {
|
||||
namespace testing {
|
||||
namespace {
|
||||
|
||||
std::vector<SocketKind> GetSockets() {
|
||||
return ApplyVec<SocketKind>(
|
||||
@@ -32,5 +33,7 @@ std::vector<SocketKind> GetSockets() {
|
||||
INSTANTIATE_TEST_SUITE_P(IPv4TCPUnboundSockets,
|
||||
IPv4TCPUnboundExternalNetworkingSocketTest,
|
||||
::testing::ValuesIn(GetSockets()));
|
||||
|
||||
} // namespace
|
||||
} // namespace testing
|
||||
} // namespace gvisor
|
||||
|
||||
@@ -30,27 +30,6 @@
|
||||
namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
constexpr char kMulticastAddress[] = "224.0.2.1";
|
||||
constexpr char kBroadcastAddress[] = "255.255.255.255";
|
||||
|
||||
TestAddress V4Multicast() {
|
||||
TestAddress t("V4Multicast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
inet_addr(kMulticastAddress);
|
||||
return t;
|
||||
}
|
||||
|
||||
TestAddress V4Broadcast() {
|
||||
TestAddress t("V4Broadcast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
inet_addr(kBroadcastAddress);
|
||||
return t;
|
||||
}
|
||||
|
||||
// Check that packets are not received without a group membership. Default send
|
||||
// interface configured by bind.
|
||||
TEST_P(IPv4UDPUnboundSocketTest, IpMulticastLoopbackNoGroup) {
|
||||
|
||||
@@ -41,26 +41,6 @@ TestAddress V4EmptyAddress() {
|
||||
return t;
|
||||
}
|
||||
|
||||
constexpr char kMulticastAddress[] = "224.0.2.1";
|
||||
|
||||
TestAddress V4Multicast() {
|
||||
TestAddress t("V4Multicast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
inet_addr(kMulticastAddress);
|
||||
return t;
|
||||
}
|
||||
|
||||
TestAddress V4Broadcast() {
|
||||
TestAddress t("V4Broadcast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
htonl(INADDR_BROADCAST);
|
||||
return t;
|
||||
}
|
||||
|
||||
void IPv4UDPUnboundExternalNetworkingSocketTest::SetUp() {
|
||||
got_if_infos_ = false;
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
namespace gvisor {
|
||||
namespace testing {
|
||||
namespace {
|
||||
|
||||
std::vector<SocketKind> GetSockets() {
|
||||
return ApplyVec<SocketKind>(
|
||||
@@ -32,5 +33,7 @@ std::vector<SocketKind> GetSockets() {
|
||||
INSTANTIATE_TEST_SUITE_P(IPv4UDPUnboundSockets,
|
||||
IPv4UDPUnboundExternalNetworkingSocketTest,
|
||||
::testing::ValuesIn(GetSockets()));
|
||||
|
||||
} // namespace
|
||||
} // namespace testing
|
||||
} // namespace gvisor
|
||||
|
||||
@@ -805,6 +805,24 @@ TestAddress V4MappedLoopback() {
|
||||
return t;
|
||||
}
|
||||
|
||||
TestAddress V4Multicast() {
|
||||
TestAddress t("V4Multicast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
inet_addr(kMulticastAddress);
|
||||
return t;
|
||||
}
|
||||
|
||||
TestAddress V4Broadcast() {
|
||||
TestAddress t("V4Broadcast");
|
||||
t.addr.ss_family = AF_INET;
|
||||
t.addr_len = sizeof(sockaddr_in);
|
||||
reinterpret_cast<sockaddr_in*>(&t.addr)->sin_addr.s_addr =
|
||||
htonl(INADDR_BROADCAST);
|
||||
return t;
|
||||
}
|
||||
|
||||
TestAddress V6Any() {
|
||||
TestAddress t("V6Any");
|
||||
t.addr.ss_family = AF_INET6;
|
||||
|
||||
@@ -484,10 +484,15 @@ struct TestAddress {
|
||||
: description(std::move(description)), addr(), addr_len() {}
|
||||
};
|
||||
|
||||
constexpr char kMulticastAddress[] = "224.0.2.1";
|
||||
constexpr char kBroadcastAddress[] = "255.255.255.255";
|
||||
|
||||
TestAddress V4Any();
|
||||
TestAddress V4Broadcast();
|
||||
TestAddress V4Loopback();
|
||||
TestAddress V4MappedAny();
|
||||
TestAddress V4MappedLoopback();
|
||||
TestAddress V4Multicast();
|
||||
TestAddress V6Any();
|
||||
TestAddress V6Loopback();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user