mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Remove O_CLOEXEC from socket test configurations where irrelevant.
The implementation of O_CLOEXEC is orthogonal to every property tested by these tests; removing it significantly reduces the number of redundant tests we run. Also remove no-op calls to VecCat (calls with a single argument). PiperOrigin-RevId: 230959537 Change-Id: I83fe7db24e481ef67ca1f1992228af423f640b5c
This commit is contained in:
@@ -586,13 +586,11 @@ INSTANTIATE_TEST_CASE_P(
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
List<int>{0, SOCK_NONBLOCK})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})))));
|
||||
List<int>{0, SOCK_NONBLOCK})))));
|
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -76,16 +76,14 @@ TEST_P(AllSocketPairTest, BoundSenderAddrCoalesced) {
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
AllUnixDomainSockets, AllSocketPairTest,
|
||||
::testing::ValuesIn(VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(FilesystemUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM},
|
||||
List<int>{
|
||||
0, SOCK_NONBLOCK})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})))));
|
||||
List<int>{0, SOCK_NONBLOCK})))));
|
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -131,14 +131,14 @@ INSTANTIATE_TEST_CASE_P(
|
||||
::testing::ValuesIn(VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(
|
||||
List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK}, List<int>{0, SOCK_CLOEXEC})),
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM,
|
||||
SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractUnboundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(
|
||||
List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK}, List<int>{0, SOCK_CLOEXEC})))));
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM,
|
||||
SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK})))));
|
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -24,11 +24,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{0, SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -24,11 +24,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
FilesystemBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{0, SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -25,22 +25,17 @@ namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
std::vector<SocketPairKind>{
|
||||
IPv6UDPBidirectionalBindSocketPair(0),
|
||||
IPv4UDPBidirectionalBindSocketPair(0),
|
||||
},
|
||||
ApplyVecToVec<SocketPairKind>(
|
||||
std::vector<Middleware>{
|
||||
NoOp, SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &kSockOptOn)},
|
||||
VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})))));
|
||||
std::vector<SocketPairKind>{
|
||||
IPv6TCPAcceptBindSocketPair(0),
|
||||
IPv4TCPAcceptBindSocketPair(0),
|
||||
}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -27,16 +27,11 @@ std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return ApplyVecToVec<SocketPairKind>(
|
||||
std::vector<Middleware>{
|
||||
NoOp, SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &kSockOptOn)},
|
||||
VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
DualStackTCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC}))));
|
||||
std::vector<SocketPairKind>{
|
||||
IPv6TCPAcceptBindSocketPair(0),
|
||||
IPv4TCPAcceptBindSocketPair(0),
|
||||
DualStackTCPAcceptBindSocketPair(0),
|
||||
});
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,16 +23,11 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
DualStackTCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})));
|
||||
return {
|
||||
IPv6TCPAcceptBindSocketPair(0),
|
||||
IPv4TCPAcceptBindSocketPair(0),
|
||||
DualStackTCPAcceptBindSocketPair(0),
|
||||
};
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -27,13 +27,11 @@ std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return ApplyVecToVec<SocketPairKind>(
|
||||
std::vector<Middleware>{
|
||||
NoOp, SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &kSockOptOn)},
|
||||
VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC}))));
|
||||
std::vector<SocketPairKind>{
|
||||
IPv6TCPAcceptBindSocketPair(0),
|
||||
IPv4TCPAcceptBindSocketPair(0),
|
||||
DualStackTCPAcceptBindSocketPair(0),
|
||||
});
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -27,15 +27,10 @@ std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return ApplyVecToVec<SocketPairKind>(
|
||||
std::vector<Middleware>{
|
||||
NoOp, SetSockOpt(IPPROTO_TCP, TCP_NODELAY, &kSockOptOn)},
|
||||
VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4TCPAcceptBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC}))));
|
||||
std::vector<SocketPairKind>{
|
||||
IPv6TCPAcceptBindSocketPair(SOCK_NONBLOCK),
|
||||
IPv4TCPAcceptBindSocketPair(SOCK_NONBLOCK),
|
||||
});
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -25,16 +25,11 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
DualStackUDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})));
|
||||
return {
|
||||
IPv6UDPBidirectionalBindSocketPair(0),
|
||||
IPv4UDPBidirectionalBindSocketPair(0),
|
||||
DualStackUDPBidirectionalBindSocketPair(0),
|
||||
};
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,13 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{0, SOCK_CLOEXEC})));
|
||||
return {
|
||||
IPv6UDPBidirectionalBindSocketPair(0),
|
||||
IPv4UDPBidirectionalBindSocketPair(0),
|
||||
};
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,15 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv6UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
IPv4UDPBidirectionalBindSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
return {
|
||||
IPv6UDPBidirectionalBindSocketPair(SOCK_NONBLOCK),
|
||||
IPv4UDPBidirectionalBindSocketPair(SOCK_NONBLOCK),
|
||||
};
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,11 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{0, SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,11 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -27,19 +27,13 @@ std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
UnixDomainSocketPair,
|
||||
AllBitwiseCombinations(
|
||||
List<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
std::vector<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM}),
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(
|
||||
List<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
std::vector<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM}),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(
|
||||
List<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
std::vector<int>{SOCK_STREAM, SOCK_SEQPACKET, SOCK_DGRAM}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -29,18 +29,15 @@ std::vector<SocketPairKind> GetSocketPairs() {
|
||||
ApplyVec<SocketPairKind>(
|
||||
UnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
List<int>{0, SOCK_NONBLOCK})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
List<int>{0, SOCK_NONBLOCK})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC}))));
|
||||
List<int>{0, SOCK_NONBLOCK}))));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -45,22 +45,11 @@ TEST_P(NonBlockingDgramUnixSocketPairTest, ReadOneSideClosed) {
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
AllUnixDomainSockets, NonBlockingDgramUnixSocketPairTest,
|
||||
::testing::ValuesIn(IncludeReversals(VecCat<SocketPairKind>(
|
||||
ApplyVec<SocketPairKind>(
|
||||
UnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
FilesystemBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})),
|
||||
ApplyVec<SocketPairKind>(
|
||||
AbstractBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_DGRAM},
|
||||
List<int>{SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC}))))));
|
||||
::testing::ValuesIn(IncludeReversals(std::vector<SocketPairKind>{
|
||||
UnixDomainSocketPair(SOCK_DGRAM | SOCK_NONBLOCK),
|
||||
FilesystemBoundUnixDomainSocketPair(SOCK_DGRAM | SOCK_NONBLOCK),
|
||||
AbstractBoundUnixDomainSocketPair(SOCK_DGRAM | SOCK_NONBLOCK),
|
||||
})));
|
||||
|
||||
} // namespace
|
||||
|
||||
|
||||
@@ -23,11 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
UnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{0, SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
@@ -23,11 +23,10 @@ namespace gvisor {
|
||||
namespace testing {
|
||||
|
||||
std::vector<SocketPairKind> GetSocketPairs() {
|
||||
return VecCat<SocketPairKind>(ApplyVec<SocketPairKind>(
|
||||
return ApplyVec<SocketPairKind>(
|
||||
FilesystemBoundUnixDomainSocketPair,
|
||||
AllBitwiseCombinations(List<int>{SOCK_STREAM, SOCK_DGRAM, SOCK_SEQPACKET},
|
||||
List<int>{0, SOCK_NONBLOCK},
|
||||
List<int>{0, SOCK_CLOEXEC})));
|
||||
List<int>{0, SOCK_NONBLOCK}));
|
||||
}
|
||||
|
||||
INSTANTIATE_TEST_CASE_P(
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user