diff --git a/occlum/blocklist/packet_socket_raw_test b/occlum/blocklist/packet_socket_raw_test index e070aa54de..2ad74fc81e 100644 --- a/occlum/blocklist/packet_socket_raw_test +++ b/occlum/blocklist/packet_socket_raw_test @@ -1,27 +1 @@ -AllInetTests/RawPacketTest.Receive/0 -AllInetTests/RawPacketTest.Receive/1 -AllInetTests/RawPacketTest.Send/0 -AllInetTests/RawPacketTest.Send/ -AllInetTests/RawPacketTest.SetSocketRecvBufBelowMin/0 -AllInetTests/RawPacketTest.SetSocketRecvBufBelowMin/1 -AllInetTests/RawPacketTest.SetSocketRecvBufAboveMax/0 -AllInetTests/RawPacketTest.SetSocketRecvBufAboveMax/1 -AllInetTests/RawPacketTest.SetSocketRecvBuf/0 -AllInetTests/RawPacketTest.SetSocketRecvBuf/1 -AllInetTests/RawPacketTest.SetSocketSendBufBelowMin/0 -AllInetTests/RawPacketTest.SetSocketSendBufBelowMin/1 -AllInetTests/RawPacketTest.SetSocketSendBufAboveMax/0 -AllInetTests/RawPacketTest.SetSocketSendBufAboveMax/1 -AllInetTests/RawPacketTest.SetSocketSendBuf/0 -AllInetTests/RawPacketTest.SetSocketSendBuf/1 -AllInetTests/RawPacketTest.GetSocketError/0 -AllInetTests/RawPacketTest.GetSocketError/1 -AllInetTests/RawPacketTest.GetSocketErrorBind/0 -AllInetTests/RawPacketTest.GetSocketErrorBind/1 -AllInetTests/RawPacketTest.SetSocketDetachFilterNoInstalledFilter/0 -AllInetTests/RawPacketTest.SetSocketDetachFilterNoInstalledFilter/1 -AllInetTests/RawPacketTest.GetSocketDetachFilter/0 -AllInetTests/RawPacketTest.GetSocketDetachFilter/1 -AllInetTests/RawPacketTest.SetAndGetSocketLinger/0 -AllInetTests/RawPacketTest.SetAndGetSocketLinger/1 AllInetTests/RawPacketTest.Send/1 diff --git a/occlum/blocklist/packet_socket_test b/occlum/blocklist/packet_socket_test index a78abd04e7..cbda2b89cd 100644 --- a/occlum/blocklist/packet_socket_test +++ b/occlum/blocklist/packet_socket_test @@ -1,15 +1,8 @@ -BasicCookedPacketTest.WrongType -AllInetTests/CookedPacketTest.Receive/0 -AllInetTests/CookedPacketTest.Receive/1 -AllInetTests/CookedPacketTest.Send/0 AllInetTests/CookedPacketTest.Send/1 AllInetTests/CookedPacketTest.BindReceive/0 AllInetTests/CookedPacketTest.BindReceive/1 -AllInetTests/CookedPacketTest.DoubleBindSucceeds/0 -AllInetTests/CookedPacketTest.DoubleBindSucceeds/1 AllInetTests/CookedPacketTest.BindDrop/0 AllInetTests/CookedPacketTest.BindDrop/1 -AllInetTests/CookedPacketTest.ReceiveOutbound/0 AllInetTests/CookedPacketTest.ReceiveOutbound/1 AllInetTests/CookedPacketTest.BindFail/0 -AllInetTests/CookedPacketTest.BindFail/1 +AllInetTests/CookedPacketTest.BindFail/1 \ No newline at end of file diff --git a/occlum/blocklist/raw_socket_hdrincl_test b/occlum/blocklist/raw_socket_hdrincl_test index 023801440e..1beb362f6d 100644 --- a/occlum/blocklist/raw_socket_hdrincl_test +++ b/occlum/blocklist/raw_socket_hdrincl_test @@ -1,15 +1 @@ -RawHDRINCL.MultipleCreation -RawHDRINCL.FailShutdownWithoutConnect -RawHDRINCL.FailListen -RawHDRINCL.FailAccept -RawHDRINCL.PollWritableImmediately -RawHDRINCL.NotReadable -RawHDRINCL.ConnectToLoopback -RawHDRINCL.SendWithoutConnectSucceeds -RawHDRINCL.NotReadableAfterWrite -RawHDRINCL.WriteTooSmall -RawHDRINCL.BindToLocalhost -RawHDRINCL.BindToInvalid -RawHDRINCL.SendAndReceive -RawHDRINCL.SendAndReceiveDifferentAddress -RawHDRINCL.SendAndReceiveIPHdrIncl +RawHDRINCL.FailAccept \ No newline at end of file diff --git a/occlum/blocklist/raw_socket_test b/occlum/blocklist/raw_socket_test index 0a179e86df..e2688f8605 100644 --- a/occlum/blocklist/raw_socket_test +++ b/occlum/blocklist/raw_socket_test @@ -1,125 +1,7 @@ -RawSocketTest.IPv6ProtoRaw -AllInetTests/RawSocketTest.MultipleCreation/0 -AllInetTests/RawSocketTest.MultipleCreation/1 -AllInetTests/RawSocketTest.MultipleCreation/2 -AllInetTests/RawSocketTest.MultipleCreation/3 -AllInetTests/RawSocketTest.FailShutdownWithoutConnect/0 -AllInetTests/RawSocketTest.FailShutdownWithoutConnect/1 -AllInetTests/RawSocketTest.FailShutdownWithoutConnect/2 -AllInetTests/RawSocketTest.FailShutdownWithoutConnect/3 -AllInetTests/RawSocketTest.ShutdownWriteNoop/0 -AllInetTests/RawSocketTest.ShutdownWriteNoop/1 -AllInetTests/RawSocketTest.ShutdownWriteNoop/2 -AllInetTests/RawSocketTest.ShutdownWriteNoop/3 -AllInetTests/RawSocketTest.ShutdownReadNoop/0 -AllInetTests/RawSocketTest.ShutdownReadNoop/1 -AllInetTests/RawSocketTest.ShutdownReadNoop/2 -AllInetTests/RawSocketTest.ShutdownReadNoop/3 -AllInetTests/RawSocketTest.FailListen/0 -AllInetTests/RawSocketTest.FailListen/1 -AllInetTests/RawSocketTest.FailListen/2 -AllInetTests/RawSocketTest.FailListen/3 AllInetTests/RawSocketTest.FailAccept/0 AllInetTests/RawSocketTest.FailAccept/1 AllInetTests/RawSocketTest.FailAccept/2 AllInetTests/RawSocketTest.FailAccept/3 -AllInetTests/RawSocketTest.FailGetPeerNameBeforeConnect/0 -AllInetTests/RawSocketTest.FailGetPeerNameBeforeConnect/1 -AllInetTests/RawSocketTest.FailGetPeerNameBeforeConnect/2 -AllInetTests/RawSocketTest.FailGetPeerNameBeforeConnect/3 -AllInetTests/RawSocketTest.GetPeerName/0 -AllInetTests/RawSocketTest.GetPeerName/1 -AllInetTests/RawSocketTest.GetPeerName/2 -AllInetTests/RawSocketTest.GetPeerName/3 -AllInetTests/RawSocketTest.PollWritableImmediately/0 -AllInetTests/RawSocketTest.PollWritableImmediately/1 -AllInetTests/RawSocketTest.PollWritableImmediately/2 -AllInetTests/RawSocketTest.PollWritableImmediately/3 -AllInetTests/RawSocketTest.PollNotReadableInitially/0 -AllInetTests/RawSocketTest.PollNotReadableInitially/1 -AllInetTests/RawSocketTest.PollNotReadableInitially/2 -AllInetTests/RawSocketTest.PollNotReadableInitially/3 -AllInetTests/RawSocketTest.PollTriggeredOnWrite/0 -AllInetTests/RawSocketTest.PollTriggeredOnWrite/1 -AllInetTests/RawSocketTest.PollTriggeredOnWrite/2 -AllInetTests/RawSocketTest.PollTriggeredOnWrite/3 -AllInetTests/RawSocketTest.ConnectToLoopback/0 -AllInetTests/RawSocketTest.ConnectToLoopback/1 -AllInetTests/RawSocketTest.ConnectToLoopback/2 -AllInetTests/RawSocketTest.ConnectToLoopback/3 -AllInetTests/RawSocketTest.SendWithoutConnectFails/0 -AllInetTests/RawSocketTest.SendWithoutConnectFails/1 -AllInetTests/RawSocketTest.SendWithoutConnectFails/2 -AllInetTests/RawSocketTest.SendWithoutConnectFails/3 -AllInetTests/RawSocketTest.BindToWildcard/0 -AllInetTests/RawSocketTest.BindToWildcard/1 -AllInetTests/RawSocketTest.BindToWildcard/2 -AllInetTests/RawSocketTest.BindToWildcard/3 -AllInetTests/RawSocketTest.BindToLocalhost/0 -AllInetTests/RawSocketTest.BindToLocalhost/1 -AllInetTests/RawSocketTest.BindToLocalhost/2 -AllInetTests/RawSocketTest.BindToLocalhost/3 -AllInetTests/RawSocketTest.BindToInvalid/0 -AllInetTests/RawSocketTest.BindToInvalid/1 -AllInetTests/RawSocketTest.BindToInvalid/2 -AllInetTests/RawSocketTest.BindToInvalid/3 -AllInetTests/RawSocketTest.SendAndReceive/0 -AllInetTests/RawSocketTest.SendAndReceive/1 -AllInetTests/RawSocketTest.SendAndReceive/2 -AllInetTests/RawSocketTest.SendAndReceive/3 -AllInetTests/RawSocketTest.MultipleSocketReceive/0 -AllInetTests/RawSocketTest.MultipleSocketReceive/1 -AllInetTests/RawSocketTest.MultipleSocketReceive/2 -AllInetTests/RawSocketTest.MultipleSocketReceive/3 -AllInetTests/RawSocketTest.SendAndReceiveViaConnect/0 -AllInetTests/RawSocketTest.SendAndReceiveViaConnect/1 -AllInetTests/RawSocketTest.SendAndReceiveViaConnect/2 -AllInetTests/RawSocketTest.SendAndReceiveViaConnect/3 -AllInetTests/RawSocketTest.BindSendAndReceive/0 -AllInetTests/RawSocketTest.BindSendAndReceive/1 -AllInetTests/RawSocketTest.BindSendAndReceive/2 -AllInetTests/RawSocketTest.BindSendAndReceive/3 -AllInetTests/RawSocketTest.BindConnectSendAndReceive/0 -AllInetTests/RawSocketTest.BindConnectSendAndReceive/1 -AllInetTests/RawSocketTest.BindConnectSendAndReceive/2 -AllInetTests/RawSocketTest.BindConnectSendAndReceive/3 -AllInetTests/RawSocketTest.SetSocketRecvBufBelowMin/0 -AllInetTests/RawSocketTest.SetSocketRecvBufBelowMin/1 -AllInetTests/RawSocketTest.SetSocketRecvBufBelowMin/2 -AllInetTests/RawSocketTest.SetSocketRecvBufBelowMin/3 -AllInetTests/RawSocketTest.SetSocketRecvBufAboveMax/0 -AllInetTests/RawSocketTest.SetSocketRecvBufAboveMax/1 -AllInetTests/RawSocketTest.SetSocketRecvBufAboveMax/2 -AllInetTests/RawSocketTest.SetSocketRecvBufAboveMax/3 -AllInetTests/RawSocketTest.SetSocketRecvBuf/0 -AllInetTests/RawSocketTest.SetSocketRecvBuf/1 -AllInetTests/RawSocketTest.SetSocketRecvBuf/2 -AllInetTests/RawSocketTest.SetSocketRecvBuf/3 -AllInetTests/RawSocketTest.SetSocketSendBufBelowMin/0 -AllInetTests/RawSocketTest.SetSocketSendBufBelowMin/1 -AllInetTests/RawSocketTest.SetSocketSendBufBelowMin/2 -AllInetTests/RawSocketTest.SetSocketSendBufBelowMin/3 -AllInetTests/RawSocketTest.SetSocketSendBufAboveMax/0 -AllInetTests/RawSocketTest.SetSocketSendBufAboveMax/1 -AllInetTests/RawSocketTest.SetSocketSendBufAboveMax/2 -AllInetTests/RawSocketTest.SetSocketSendBufAboveMax/3 -AllInetTests/RawSocketTest.SetSocketSendBuf/0 -AllInetTests/RawSocketTest.SetSocketSendBuf/1 -AllInetTests/RawSocketTest.SetSocketSendBuf/2 -AllInetTests/RawSocketTest.SetSocketSendBuf/3 AllInetTests/RawSocketTest.RecvBufLimitsEmptyRecvBuffer/0 -AllInetTests/RawSocketTest.RecvBufLimitsEmptyRecvBuffer/1 -AllInetTests/RawSocketTest.RecvBufLimitsEmptyRecvBuffer/2 -AllInetTests/RawSocketTest.RecvBufLimitsEmptyRecvBuffer/3 -AllInetTests/RawSocketTest.RecvBufLimits/0 -AllInetTests/RawSocketTest.RecvBufLimits/1 AllInetTests/RawSocketTest.RecvBufLimits/2 -AllInetTests/RawSocketTest.RecvBufLimits/3 -AllInetTests/RawSocketTest.SetSocketDetachFilterNoInstalledFilter/0 -AllInetTests/RawSocketTest.SetSocketDetachFilterNoInstalledFilter/1 -AllInetTests/RawSocketTest.SetSocketDetachFilterNoInstalledFilter/2 -AllInetTests/RawSocketTest.SetSocketDetachFilterNoInstalledFilter/3 -AllInetTests/RawSocketTest.GetSocketDetachFilter/0 -AllInetTests/RawSocketTest.GetSocketDetachFilter/1 -AllInetTests/RawSocketTest.GetSocketDetachFilter/2 -AllInetTests/RawSocketTest.GetSocketDetachFilter/3 +AllInetTests/RawSocketTest.RecvBufLimits/3 \ No newline at end of file diff --git a/test/syscalls/linux/packet_socket.cc b/test/syscalls/linux/packet_socket.cc index 861617ff7f..70e32abf76 100644 --- a/test/syscalls/linux/packet_socket.cc +++ b/test/syscalls/linux/packet_socket.cc @@ -87,11 +87,11 @@ void SendUDPMessage(int sock) { // Send an IP packet and make sure ETH_P_ doesn't pick it up. TEST(BasicCookedPacketTest, WrongType) { - if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - ASSERT_THAT(socket(AF_PACKET, SOCK_DGRAM, ETH_P_PUP), - SyscallFailsWithErrno(EPERM)); - GTEST_SKIP(); - } + // if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // ASSERT_THAT(socket(AF_PACKET, SOCK_DGRAM, ETH_P_PUP), + // SyscallFailsWithErrno(EPERM)); + // GTEST_SKIP(); + // } FileDescriptor sock = ASSERT_NO_ERRNO_AND_VALUE( Socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_PUP))); @@ -125,25 +125,25 @@ class CookedPacketTest : public ::testing::TestWithParam { }; void CookedPacketTest::SetUp() { - if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - ASSERT_THAT(socket(AF_PACKET, SOCK_DGRAM, htons(GetParam())), - SyscallFailsWithErrno(EPERM)); - GTEST_SKIP(); - } - - if (!IsRunningOnGvisor()) { - FileDescriptor acceptLocal = ASSERT_NO_ERRNO_AND_VALUE( - Open("/proc/sys/net/ipv4/conf/lo/accept_local", O_RDONLY)); - FileDescriptor routeLocalnet = ASSERT_NO_ERRNO_AND_VALUE( - Open("/proc/sys/net/ipv4/conf/lo/route_localnet", O_RDONLY)); - char enabled; - ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_EQ(enabled, '1'); - ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_EQ(enabled, '1'); - } + // if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // ASSERT_THAT(socket(AF_PACKET, SOCK_DGRAM, htons(GetParam())), + // SyscallFailsWithErrno(EPERM)); + // GTEST_SKIP(); + // } + + // if (!IsRunningOnGvisor()) { + // FileDescriptor acceptLocal = ASSERT_NO_ERRNO_AND_VALUE( + // Open("/proc/sys/net/ipv4/conf/lo/accept_local", O_RDONLY)); + // FileDescriptor routeLocalnet = ASSERT_NO_ERRNO_AND_VALUE( + // Open("/proc/sys/net/ipv4/conf/lo/route_localnet", O_RDONLY)); + // char enabled; + // ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_EQ(enabled, '1'); + // ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_EQ(enabled, '1'); + // } ASSERT_THAT(socket_ = socket(AF_PACKET, SOCK_DGRAM, htons(GetParam())), SyscallSucceeds()); @@ -151,9 +151,9 @@ void CookedPacketTest::SetUp() { void CookedPacketTest::TearDown() { // TearDown will be run even if we skip the test. - if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - EXPECT_THAT(close(socket_), SyscallSucceeds()); - } + // if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // EXPECT_THAT(close(socket_), SyscallSucceeds()); + // } } int CookedPacketTest::GetLoopbackIndex() { diff --git a/test/syscalls/linux/packet_socket_raw.cc b/test/syscalls/linux/packet_socket_raw.cc index b558e3a011..8656a5149d 100644 --- a/test/syscalls/linux/packet_socket_raw.cc +++ b/test/syscalls/linux/packet_socket_raw.cc @@ -102,49 +102,49 @@ class RawPacketTest : public ::testing::TestWithParam { }; void RawPacketTest::SetUp() { - if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - ASSERT_THAT(socket(AF_PACKET, SOCK_RAW, htons(GetParam())), - SyscallFailsWithErrno(EPERM)); - GTEST_SKIP(); - } - - if (!IsRunningOnGvisor()) { - // Ensure that looped back packets aren't rejected by the kernel. - FileDescriptor acceptLocal = ASSERT_NO_ERRNO_AND_VALUE( - Open("/proc/sys/net/ipv4/conf/lo/accept_local", O_RDWR)); - FileDescriptor routeLocalnet = ASSERT_NO_ERRNO_AND_VALUE( - Open("/proc/sys/net/ipv4/conf/lo/route_localnet", O_RDWR)); - char enabled; - ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - if (enabled != '1') { - enabled = '1'; - ASSERT_THAT(lseek(acceptLocal.get(), 0, SEEK_SET), - SyscallSucceedsWithValue(0)); - ASSERT_THAT(write(acceptLocal.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_THAT(lseek(acceptLocal.get(), 0, SEEK_SET), - SyscallSucceedsWithValue(0)); - ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_EQ(enabled, '1'); - } - - ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - if (enabled != '1') { - enabled = '1'; - ASSERT_THAT(lseek(routeLocalnet.get(), 0, SEEK_SET), - SyscallSucceedsWithValue(0)); - ASSERT_THAT(write(routeLocalnet.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_THAT(lseek(routeLocalnet.get(), 0, SEEK_SET), - SyscallSucceedsWithValue(0)); - ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), - SyscallSucceedsWithValue(1)); - ASSERT_EQ(enabled, '1'); - } - } + // if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // ASSERT_THAT(socket(AF_PACKET, SOCK_RAW, htons(GetParam())), + // SyscallFailsWithErrno(EPERM)); + // GTEST_SKIP(); + // } + + // if (!IsRunningOnGvisor()) { + // // Ensure that looped back packets aren't rejected by the kernel. + // FileDescriptor acceptLocal = ASSERT_NO_ERRNO_AND_VALUE( + // Open("/proc/sys/net/ipv4/conf/lo/accept_local", O_RDWR)); + // FileDescriptor routeLocalnet = ASSERT_NO_ERRNO_AND_VALUE( + // Open("/proc/sys/net/ipv4/conf/lo/route_localnet", O_RDWR)); + // char enabled; + // ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // if (enabled != '1') { + // enabled = '1'; + // ASSERT_THAT(lseek(acceptLocal.get(), 0, SEEK_SET), + // SyscallSucceedsWithValue(0)); + // ASSERT_THAT(write(acceptLocal.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_THAT(lseek(acceptLocal.get(), 0, SEEK_SET), + // SyscallSucceedsWithValue(0)); + // ASSERT_THAT(read(acceptLocal.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_EQ(enabled, '1'); + // } + + // ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // if (enabled != '1') { + // enabled = '1'; + // ASSERT_THAT(lseek(routeLocalnet.get(), 0, SEEK_SET), + // SyscallSucceedsWithValue(0)); + // ASSERT_THAT(write(routeLocalnet.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_THAT(lseek(routeLocalnet.get(), 0, SEEK_SET), + // SyscallSucceedsWithValue(0)); + // ASSERT_THAT(read(routeLocalnet.get(), &enabled, 1), + // SyscallSucceedsWithValue(1)); + // ASSERT_EQ(enabled, '1'); + // } + // } ASSERT_THAT(s_ = socket(AF_PACKET, SOCK_RAW, htons(GetParam())), SyscallSucceeds()); @@ -152,9 +152,9 @@ void RawPacketTest::SetUp() { void RawPacketTest::TearDown() { // TearDown will be run even if we skip the test. - if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - EXPECT_THAT(close(s_), SyscallSucceeds()); - } + // if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // EXPECT_THAT(close(s_), SyscallSucceeds()); + // } } int RawPacketTest::GetLoopbackIndex() { @@ -338,7 +338,7 @@ TEST_P(RawPacketTest, Send) { // Check that setting SO_RCVBUF below min is clamped to the minimum // receive buffer size. TEST_P(RawPacketTest, SetSocketRecvBufBelowMin) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover minimum receive buf size by trying to set it to zero. // See: @@ -371,7 +371,7 @@ TEST_P(RawPacketTest, SetSocketRecvBufBelowMin) { // Check that setting SO_RCVBUF above max is clamped to the maximum // receive buffer size. TEST_P(RawPacketTest, SetSocketRecvBufAboveMax) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover max buf size by trying to set the largest possible buffer size. constexpr int kRcvBufSz = 0xffffffff; @@ -398,7 +398,7 @@ TEST_P(RawPacketTest, SetSocketRecvBufAboveMax) { // Check that setting SO_RCVBUF min <= kRcvBufSz <= max is honored. TEST_P(RawPacketTest, SetSocketRecvBuf) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int max = 0; int min = 0; @@ -451,7 +451,7 @@ TEST_P(RawPacketTest, SetSocketRecvBuf) { // Check that setting SO_SNDBUF below min is clamped to the minimum // receive buffer size. TEST_P(RawPacketTest, SetSocketSendBufBelowMin) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover minimum buffer size by trying to set it to zero. constexpr int kSndBufSz = 0; @@ -482,7 +482,7 @@ TEST_P(RawPacketTest, SetSocketSendBufBelowMin) { // Check that setting SO_SNDBUF above max is clamped to the maximum // send buffer size. TEST_P(RawPacketTest, SetSocketSendBufAboveMax) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover maximum buffer size by trying to set it to a large value. constexpr int kSndBufSz = 0xffffffff; @@ -509,7 +509,7 @@ TEST_P(RawPacketTest, SetSocketSendBufAboveMax) { // Check that setting SO_SNDBUF min <= kSndBufSz <= max is honored. TEST_P(RawPacketTest, SetSocketSendBuf) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int max = 0; int min = 0; @@ -559,7 +559,7 @@ TEST_P(RawPacketTest, SetSocketSendBuf) { } TEST_P(RawPacketTest, GetSocketError) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int val = 0; socklen_t val_len = sizeof(val); @@ -569,7 +569,7 @@ TEST_P(RawPacketTest, GetSocketError) { } TEST_P(RawPacketTest, GetSocketErrorBind) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); { // Bind to the loopback device. @@ -635,7 +635,7 @@ TEST_P(RawPacketTest, SetSocketDetachFilterNoInstalledFilter) { } TEST_P(RawPacketTest, GetSocketDetachFilter) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int val = 0; socklen_t val_len = sizeof(val); @@ -644,7 +644,7 @@ TEST_P(RawPacketTest, GetSocketDetachFilter) { } TEST_P(RawPacketTest, SetAndGetSocketLinger) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int level = SOL_SOCKET; int type = SO_LINGER; diff --git a/test/syscalls/linux/raw_socket.cc b/test/syscalls/linux/raw_socket.cc index 54709371c1..a2517c1c03 100644 --- a/test/syscalls/linux/raw_socket.cc +++ b/test/syscalls/linux/raw_socket.cc @@ -84,11 +84,11 @@ class RawSocketTest : public ::testing::TestWithParam> { }; void RawSocketTest::SetUp() { - if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - ASSERT_THAT(socket(Family(), SOCK_RAW, Protocol()), - SyscallFailsWithErrno(EPERM)); - GTEST_SKIP(); - } + // if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // ASSERT_THAT(socket(Family(), SOCK_RAW, Protocol()), + // SyscallFailsWithErrno(EPERM)); + // GTEST_SKIP(); + // } ASSERT_THAT(s_ = socket(Family(), SOCK_RAW, Protocol()), SyscallSucceeds()); @@ -108,16 +108,16 @@ void RawSocketTest::SetUp() { void RawSocketTest::TearDown() { // TearDown will be run even if we skip the test. - if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - EXPECT_THAT(close(s_), SyscallSucceeds()); - } + // if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // EXPECT_THAT(close(s_), SyscallSucceeds()); + // } } // We should be able to create multiple raw sockets for the same protocol. // BasicRawSocket::Setup creates the first one, so we only have to create one // more here. TEST_P(RawSocketTest, MultipleCreation) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int s2; ASSERT_THAT(s2 = socket(Family(), SOCK_RAW, Protocol()), SyscallSucceeds()); @@ -127,7 +127,7 @@ TEST_P(RawSocketTest, MultipleCreation) { // Test that shutting down an unconnected socket fails. TEST_P(RawSocketTest, FailShutdownWithoutConnect) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT(shutdown(s_, SHUT_WR), SyscallFailsWithErrno(ENOTCONN)); ASSERT_THAT(shutdown(s_, SHUT_RD), SyscallFailsWithErrno(ENOTCONN)); @@ -135,7 +135,7 @@ TEST_P(RawSocketTest, FailShutdownWithoutConnect) { // Shutdown is a no-op for raw sockets (and datagram sockets in general). TEST_P(RawSocketTest, ShutdownWriteNoop) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( connect(s_, reinterpret_cast(&addr_), AddrLen()), @@ -150,7 +150,7 @@ TEST_P(RawSocketTest, ShutdownWriteNoop) { // Shutdown is a no-op for raw sockets (and datagram sockets in general). TEST_P(RawSocketTest, ShutdownReadNoop) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( connect(s_, reinterpret_cast(&addr_), AddrLen()), @@ -167,14 +167,14 @@ TEST_P(RawSocketTest, ShutdownReadNoop) { // Test that listen() fails. TEST_P(RawSocketTest, FailListen) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT(listen(s_, 1), SyscallFailsWithErrno(ENOTSUP)); } // Test that accept() fails. TEST_P(RawSocketTest, FailAccept) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); struct sockaddr saddr; socklen_t addrlen; @@ -183,7 +183,7 @@ TEST_P(RawSocketTest, FailAccept) { // Test that getpeername() returns nothing before connect(). TEST_P(RawSocketTest, FailGetPeerNameBeforeConnect) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); struct sockaddr saddr; socklen_t addrlen = sizeof(saddr); @@ -193,7 +193,7 @@ TEST_P(RawSocketTest, FailGetPeerNameBeforeConnect) { // Test that getpeername() returns something after connect(). TEST_P(RawSocketTest, GetPeerName) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( connect(s_, reinterpret_cast(&addr_), AddrLen()), @@ -207,7 +207,7 @@ TEST_P(RawSocketTest, GetPeerName) { // Test that the socket is writable immediately. TEST_P(RawSocketTest, PollWritableImmediately) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); struct pollfd pfd = {}; pfd.fd = s_; @@ -217,7 +217,7 @@ TEST_P(RawSocketTest, PollWritableImmediately) { // Test that the socket isn't readable before receiving anything. TEST_P(RawSocketTest, PollNotReadableInitially) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Try to receive data with MSG_DONTWAIT, which returns immediately if there's // nothing to be read. @@ -228,7 +228,7 @@ TEST_P(RawSocketTest, PollNotReadableInitially) { // Test that the socket becomes readable once something is written to it. TEST_P(RawSocketTest, PollTriggeredOnWrite) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Write something so that there's data to be read. // Arbitrary. @@ -243,7 +243,7 @@ TEST_P(RawSocketTest, PollTriggeredOnWrite) { // Test that we can connect() to a valid IP (loopback). TEST_P(RawSocketTest, ConnectToLoopback) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( connect(s_, reinterpret_cast(&addr_), AddrLen()), @@ -252,7 +252,7 @@ TEST_P(RawSocketTest, ConnectToLoopback) { // Test that calling send() without connect() fails. TEST_P(RawSocketTest, SendWithoutConnectFails) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Arbitrary. constexpr char kBuf[] = "Endgame was good"; @@ -262,7 +262,7 @@ TEST_P(RawSocketTest, SendWithoutConnectFails) { // Wildcard Bind. TEST_P(RawSocketTest, BindToWildcard) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); struct sockaddr_storage addr; addr = {}; @@ -283,7 +283,7 @@ TEST_P(RawSocketTest, BindToWildcard) { // Bind to localhost. TEST_P(RawSocketTest, BindToLocalhost) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( bind(s_, reinterpret_cast(&addr_), AddrLen()), @@ -292,7 +292,7 @@ TEST_P(RawSocketTest, BindToLocalhost) { // Bind to a different address. TEST_P(RawSocketTest, BindToInvalid) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); struct sockaddr_storage bind_addr = addr_; if (Family() == AF_INET) { @@ -310,7 +310,7 @@ TEST_P(RawSocketTest, BindToInvalid) { // Send and receive an packet. TEST_P(RawSocketTest, SendAndReceive) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Arbitrary. constexpr char kBuf[] = "TB12"; @@ -325,7 +325,7 @@ TEST_P(RawSocketTest, SendAndReceive) { // We should be able to create multiple raw sockets for the same protocol and // receive the same packet on both. TEST_P(RawSocketTest, MultipleSocketReceive) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int s2; ASSERT_THAT(s2 = socket(Family(), SOCK_RAW, Protocol()), SyscallSucceeds()); @@ -352,7 +352,7 @@ TEST_P(RawSocketTest, MultipleSocketReceive) { // Test that connect sends packets to the right place. TEST_P(RawSocketTest, SendAndReceiveViaConnect) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( connect(s_, reinterpret_cast(&addr_), AddrLen()), @@ -371,7 +371,7 @@ TEST_P(RawSocketTest, SendAndReceiveViaConnect) { // Bind to localhost, then send and receive packets. TEST_P(RawSocketTest, BindSendAndReceive) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( bind(s_, reinterpret_cast(&addr_), AddrLen()), @@ -389,7 +389,7 @@ TEST_P(RawSocketTest, BindSendAndReceive) { // Bind and connect to localhost and send/receive packets. TEST_P(RawSocketTest, BindConnectSendAndReceive) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( bind(s_, reinterpret_cast(&addr_), AddrLen()), @@ -411,7 +411,7 @@ TEST_P(RawSocketTest, BindConnectSendAndReceive) { // Check that setting SO_RCVBUF below min is clamped to the minimum // receive buffer size. TEST_P(RawSocketTest, SetSocketRecvBufBelowMin) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover minimum receive buf size by trying to set it to zero. // See: @@ -444,7 +444,7 @@ TEST_P(RawSocketTest, SetSocketRecvBufBelowMin) { // Check that setting SO_RCVBUF above max is clamped to the maximum // receive buffer size. TEST_P(RawSocketTest, SetSocketRecvBufAboveMax) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover max buf size by trying to set the largest possible buffer size. constexpr int kRcvBufSz = 0xffffffff; @@ -471,7 +471,7 @@ TEST_P(RawSocketTest, SetSocketRecvBufAboveMax) { // Check that setting SO_RCVBUF min <= kRcvBufSz <= max is honored. TEST_P(RawSocketTest, SetSocketRecvBuf) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int max = 0; int min = 0; @@ -524,7 +524,7 @@ TEST_P(RawSocketTest, SetSocketRecvBuf) { // Check that setting SO_SNDBUF below min is clamped to the minimum // receive buffer size. TEST_P(RawSocketTest, SetSocketSendBufBelowMin) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover minimum buffer size by trying to set it to zero. constexpr int kSndBufSz = 0; @@ -555,7 +555,7 @@ TEST_P(RawSocketTest, SetSocketSendBufBelowMin) { // Check that setting SO_SNDBUF above max is clamped to the maximum // send buffer size. TEST_P(RawSocketTest, SetSocketSendBufAboveMax) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); // Discover maximum buffer size by trying to set it to a large value. constexpr int kSndBufSz = 0xffffffff; @@ -582,7 +582,7 @@ TEST_P(RawSocketTest, SetSocketSendBufAboveMax) { // Check that setting SO_SNDBUF min <= kSndBufSz <= max is honored. TEST_P(RawSocketTest, SetSocketSendBuf) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int max = 0; int min = 0; @@ -634,7 +634,7 @@ TEST_P(RawSocketTest, SetSocketSendBuf) { // Test that receive buffer limits are not enforced when the recv buffer is // empty. TEST_P(RawSocketTest, RecvBufLimitsEmptyRecvBuffer) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( bind(s_, reinterpret_cast(&addr_), AddrLen()), @@ -696,7 +696,7 @@ TEST_P(RawSocketTest, RecvBufLimits) { if (Protocol() == IPPROTO_TCP) { return; } - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); ASSERT_THAT( bind(s_, reinterpret_cast(&addr_), AddrLen()), @@ -836,7 +836,7 @@ TEST_P(RawSocketTest, GetSocketDetachFilter) { // AF_INET6+SOCK_RAW+IPPROTO_RAW sockets can be created, but not written to. TEST(RawSocketTest, IPv6ProtoRaw) { - SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); + // SKIP_IF(!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))); int sock; ASSERT_THAT(sock = socket(AF_INET6, SOCK_RAW, IPPROTO_RAW), diff --git a/test/syscalls/linux/raw_socket_hdrincl.cc b/test/syscalls/linux/raw_socket_hdrincl.cc index 2f25aceb24..ab1e55aacf 100644 --- a/test/syscalls/linux/raw_socket_hdrincl.cc +++ b/test/syscalls/linux/raw_socket_hdrincl.cc @@ -63,11 +63,11 @@ class RawHDRINCL : public ::testing::Test { }; void RawHDRINCL::SetUp() { - if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - ASSERT_THAT(socket(AF_INET, SOCK_RAW, IPPROTO_RAW), - SyscallFailsWithErrno(EPERM)); - GTEST_SKIP(); - } + // if (!ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // ASSERT_THAT(socket(AF_INET, SOCK_RAW, IPPROTO_RAW), + // SyscallFailsWithErrno(EPERM)); + // GTEST_SKIP(); + // } ASSERT_THAT(socket_ = socket(AF_INET, SOCK_RAW, IPPROTO_RAW), SyscallSucceeds()); @@ -81,9 +81,9 @@ void RawHDRINCL::SetUp() { void RawHDRINCL::TearDown() { // TearDown will be run even if we skip the test. - if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { - EXPECT_THAT(close(socket_), SyscallSucceeds()); - } + // if (ASSERT_NO_ERRNO_AND_VALUE(HaveCapability(CAP_NET_RAW))) { + // EXPECT_THAT(close(socket_), SyscallSucceeds()); + // } } struct iphdr RawHDRINCL::LoopbackHeader() {