Get tests working on systems that only support IPv6.
For every failing test, the solution was either to do a "has IPv4" check
before the test is run, or avoid depending on real network interfaces
altogether.
This specifically fixes rtc_unittests, peerconnection_unittests, and
webrtc_nonparallel_tests.
BUG=None
Review-Url: https://codereview.webrtc.org/2881973002
Cr-Commit-Position: refs/heads/master@{#18155}
diff --git a/webrtc/base/physicalsocketserver_unittest.cc b/webrtc/base/physicalsocketserver_unittest.cc
index e2f05e9..20e66ce 100644
--- a/webrtc/base/physicalsocketserver_unittest.cc
+++ b/webrtc/base/physicalsocketserver_unittest.cc
@@ -22,6 +22,12 @@
namespace rtc {
+#define MAYBE_SKIP_IPV4 \
+ if (!HasIPv4Enabled()) { \
+ LOG(LS_INFO) << "No IPv4... skipping"; \
+ return; \
+ }
+
#define MAYBE_SKIP_IPV6 \
if (!HasIPv6Enabled()) { \
LOG(LS_INFO) << "No IPv6... skipping"; \
@@ -164,6 +170,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectIPv4();
}
@@ -172,6 +179,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectWithDnsLookupIPv4();
}
@@ -180,6 +188,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectFailIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectFailIPv4();
}
@@ -258,6 +267,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectAcceptErrorIPv4) {
+ MAYBE_SKIP_IPV4;
ConnectInternalAcceptError(kIPv4Loopback);
}
@@ -284,6 +294,7 @@
#define MAYBE_TestWritableAfterPartialWriteIPv4 TestWritableAfterPartialWriteIPv4
#endif
TEST_F(PhysicalSocketTest, MAYBE_TestWritableAfterPartialWriteIPv4) {
+ MAYBE_SKIP_IPV4;
WritableAfterPartialWrite(kIPv4Loopback);
}
@@ -303,6 +314,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupFailIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectWithDnsLookupFailIPv4();
}
@@ -312,6 +324,7 @@
TEST_F(PhysicalSocketTest, TestConnectWithClosedSocketIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectWithClosedSocketIPv4();
}
@@ -320,6 +333,7 @@
}
TEST_F(PhysicalSocketTest, TestConnectWhileNotClosedIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestConnectWhileNotClosedIPv4();
}
@@ -328,6 +342,7 @@
}
TEST_F(PhysicalSocketTest, TestServerCloseDuringConnectIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestServerCloseDuringConnectIPv4();
}
@@ -336,6 +351,7 @@
}
TEST_F(PhysicalSocketTest, TestClientCloseDuringConnectIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestClientCloseDuringConnectIPv4();
}
@@ -344,6 +360,7 @@
}
TEST_F(PhysicalSocketTest, TestServerCloseIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestServerCloseIPv4();
}
@@ -352,6 +369,7 @@
}
TEST_F(PhysicalSocketTest, TestCloseInClosedCallbackIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestCloseInClosedCallbackIPv4();
}
@@ -360,6 +378,7 @@
}
TEST_F(PhysicalSocketTest, TestSocketServerWaitIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestSocketServerWaitIPv4();
}
@@ -368,6 +387,7 @@
}
TEST_F(PhysicalSocketTest, TestTcpIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestTcpIPv4();
}
@@ -376,6 +396,7 @@
}
TEST_F(PhysicalSocketTest, TestUdpIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestUdpIPv4();
}
@@ -399,6 +420,7 @@
#define MAYBE_TestUdpReadyToSendIPv4 TestUdpReadyToSendIPv4
#endif
TEST_F(PhysicalSocketTest, MAYBE_TestUdpReadyToSendIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestUdpReadyToSendIPv4();
}
@@ -413,6 +435,7 @@
}
TEST_F(PhysicalSocketTest, TestGetSetOptionsIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestGetSetOptionsIPv4();
}
@@ -425,6 +448,7 @@
// We don't get recv timestamps on Mac.
#if !defined(WEBRTC_MAC)
TEST_F(PhysicalSocketTest, TestSocketRecvTimestampIPv4) {
+ MAYBE_SKIP_IPV4;
SocketTest::TestSocketRecvTimestampIPv4();
}
@@ -437,6 +461,7 @@
// (not loopback), Bind will return an error.
TEST_F(PhysicalSocketTest,
BindFailsIfNetworkBinderFailsForNonLoopbackInterface) {
+ MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
std::unique_ptr<AsyncSocket> socket(
@@ -449,6 +474,7 @@
// Network binder shouldn't be used if the socket is bound to the "any" IP.
TEST_F(PhysicalSocketTest,
NetworkBinderIsNotUsedForAnyIp) {
+ MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
std::unique_ptr<AsyncSocket> socket(
@@ -462,6 +488,7 @@
// tolerated.
TEST_F(PhysicalSocketTest,
BindSucceedsIfNetworkBinderFailsForLoopbackInterface) {
+ MAYBE_SKIP_IPV4;
FakeNetworkBinder fake_network_binder;
server_->set_network_binder(&fake_network_binder);
std::unique_ptr<AsyncSocket> socket(