| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved. |    2  *  Copyright 2004 The WebRTC Project Authors. All rights reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10  |   10  | 
|   11 #include <memory> |   11 #include <memory> | 
|   12 #include <signal.h> |   12 #include <signal.h> | 
|   13 #include <stdarg.h> |   13 #include <stdarg.h> | 
|   14  |   14  | 
|   15 #include "webrtc/base/gunit.h" |   15 #include "webrtc/base/gunit.h" | 
|   16 #include "webrtc/base/logging.h" |   16 #include "webrtc/base/logging.h" | 
|   17 #include "webrtc/base/physicalsocketserver.h" |   17 #include "webrtc/base/physicalsocketserver.h" | 
|   18 #include "webrtc/base/socket_unittest.h" |   18 #include "webrtc/base/socket_unittest.h" | 
|   19 #include "webrtc/base/testutils.h" |   19 #include "webrtc/base/testutils.h" | 
|   20 #include "webrtc/base/thread.h" |   20 #include "webrtc/base/thread.h" | 
|   21  |   21  | 
|   22 namespace rtc { |   22 namespace rtc { | 
|   23  |   23  | 
 |   24 #define MAYBE_SKIP_IPV6                    \ | 
 |   25   if (!HasIPv6Enabled()) {                 \ | 
 |   26     LOG(LS_INFO) << "No IPv6... skipping"; \ | 
 |   27     return;                                \ | 
 |   28   } | 
 |   29  | 
|   24 class PhysicalSocketTest; |   30 class PhysicalSocketTest; | 
|   25  |   31  | 
|   26 class FakeSocketDispatcher : public SocketDispatcher { |   32 class FakeSocketDispatcher : public SocketDispatcher { | 
|   27  public: |   33  public: | 
|   28   explicit FakeSocketDispatcher(PhysicalSocketServer* ss) |   34   explicit FakeSocketDispatcher(PhysicalSocketServer* ss) | 
|   29     : SocketDispatcher(ss) { |   35     : SocketDispatcher(ss) { | 
|   30   } |   36   } | 
|   31  |   37  | 
|   32   FakeSocketDispatcher(SOCKET s, PhysicalSocketServer* ss) |   38   FakeSocketDispatcher(SOCKET s, PhysicalSocketServer* ss) | 
|   33     : SocketDispatcher(s, ss) { |   39     : SocketDispatcher(s, ss) { | 
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  138   } |  144   } | 
|  139  |  145  | 
|  140   return SocketDispatcher::DoSendTo(socket, buf, len, flags, dest_addr, |  146   return SocketDispatcher::DoSendTo(socket, buf, len, flags, dest_addr, | 
|  141       addrlen); |  147       addrlen); | 
|  142 } |  148 } | 
|  143  |  149  | 
|  144 TEST_F(PhysicalSocketTest, TestConnectIPv4) { |  150 TEST_F(PhysicalSocketTest, TestConnectIPv4) { | 
|  145   SocketTest::TestConnectIPv4(); |  151   SocketTest::TestConnectIPv4(); | 
|  146 } |  152 } | 
|  147  |  153  | 
|  148 // Crashes on Linux. See webrtc:4923. |  154 TEST_F(PhysicalSocketTest, TestConnectIPv6) { | 
|  149 #if defined(WEBRTC_LINUX) |  | 
|  150 #define MAYBE_TestConnectIPv6 DISABLED_TestConnectIPv6 |  | 
|  151 #else |  | 
|  152 #define MAYBE_TestConnectIPv6 TestConnectIPv6 |  | 
|  153 #endif |  | 
|  154 TEST_F(PhysicalSocketTest, MAYBE_TestConnectIPv6) { |  | 
|  155   SocketTest::TestConnectIPv6(); |  155   SocketTest::TestConnectIPv6(); | 
|  156 } |  156 } | 
|  157  |  157  | 
|  158 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupIPv4) { |  158 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupIPv4) { | 
|  159   SocketTest::TestConnectWithDnsLookupIPv4(); |  159   SocketTest::TestConnectWithDnsLookupIPv4(); | 
|  160 } |  160 } | 
|  161  |  161  | 
|  162 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupIPv6) { |  162 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupIPv6) { | 
|  163   SocketTest::TestConnectWithDnsLookupIPv6(); |  163   SocketTest::TestConnectWithDnsLookupIPv6(); | 
|  164 } |  164 } | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  236   std::unique_ptr<AsyncSocket> accepted2(server->Accept(&accept_addr)); |  236   std::unique_ptr<AsyncSocket> accepted2(server->Accept(&accept_addr)); | 
|  237   ASSERT_TRUE(accepted2); |  237   ASSERT_TRUE(accepted2); | 
|  238   EXPECT_FALSE(accept_addr.IsNil()); |  238   EXPECT_FALSE(accept_addr.IsNil()); | 
|  239   EXPECT_EQ(accepted2->GetRemoteAddress(), accept_addr); |  239   EXPECT_EQ(accepted2->GetRemoteAddress(), accept_addr); | 
|  240 } |  240 } | 
|  241  |  241  | 
|  242 TEST_F(PhysicalSocketTest, TestConnectAcceptErrorIPv4) { |  242 TEST_F(PhysicalSocketTest, TestConnectAcceptErrorIPv4) { | 
|  243   ConnectInternalAcceptError(kIPv4Loopback); |  243   ConnectInternalAcceptError(kIPv4Loopback); | 
|  244 } |  244 } | 
|  245  |  245  | 
|  246 // Crashes on Linux. See webrtc:4923. |  246 TEST_F(PhysicalSocketTest, TestConnectAcceptErrorIPv6) { | 
|  247 #if defined(WEBRTC_LINUX) |  247   MAYBE_SKIP_IPV6; | 
|  248 #define MAYBE_TestConnectAcceptErrorIPv6 DISABLED_TestConnectAcceptErrorIPv6 |  | 
|  249 #else |  | 
|  250 #define MAYBE_TestConnectAcceptErrorIPv6 TestConnectAcceptErrorIPv6 |  | 
|  251 #endif |  | 
|  252 TEST_F(PhysicalSocketTest, MAYBE_TestConnectAcceptErrorIPv6) { |  | 
|  253   ConnectInternalAcceptError(kIPv6Loopback); |  248   ConnectInternalAcceptError(kIPv6Loopback); | 
|  254 } |  249 } | 
|  255  |  250  | 
|  256 void PhysicalSocketTest::WritableAfterPartialWrite(const IPAddress& loopback) { |  251 void PhysicalSocketTest::WritableAfterPartialWrite(const IPAddress& loopback) { | 
|  257   // Simulate a really small maximum send size. |  252   // Simulate a really small maximum send size. | 
|  258   const int kMaxSendSize = 128; |  253   const int kMaxSendSize = 128; | 
|  259   SetMaxSendSize(kMaxSendSize); |  254   SetMaxSendSize(kMaxSendSize); | 
|  260  |  255  | 
|  261   // Run the default send/receive socket tests with a smaller amount of data |  256   // Run the default send/receive socket tests with a smaller amount of data | 
|  262   // to avoid long running times due to the small maximum send size. |  257   // to avoid long running times due to the small maximum send size. | 
|  263   const size_t kDataSize = 128 * 1024; |  258   const size_t kDataSize = 128 * 1024; | 
|  264   TcpInternal(loopback, kDataSize, kMaxSendSize); |  259   TcpInternal(loopback, kDataSize, kMaxSendSize); | 
|  265 } |  260 } | 
|  266  |  261  | 
|  267 TEST_F(PhysicalSocketTest, TestWritableAfterPartialWriteIPv4) { |  262 TEST_F(PhysicalSocketTest, TestWritableAfterPartialWriteIPv4) { | 
|  268   WritableAfterPartialWrite(kIPv4Loopback); |  263   WritableAfterPartialWrite(kIPv4Loopback); | 
|  269 } |  264 } | 
|  270  |  265  | 
|  271 // Crashes on Linux. See webrtc:4923. |  266 TEST_F(PhysicalSocketTest, TestWritableAfterPartialWriteIPv6) { | 
|  272 #if defined(WEBRTC_LINUX) |  267   MAYBE_SKIP_IPV6; | 
|  273 #define MAYBE_TestWritableAfterPartialWriteIPv6 \ |  | 
|  274     DISABLED_TestWritableAfterPartialWriteIPv6 |  | 
|  275 #else |  | 
|  276 #define MAYBE_TestWritableAfterPartialWriteIPv6 \ |  | 
|  277     TestWritableAfterPartialWriteIPv6 |  | 
|  278 #endif |  | 
|  279 TEST_F(PhysicalSocketTest, MAYBE_TestWritableAfterPartialWriteIPv6) { |  | 
|  280   WritableAfterPartialWrite(kIPv6Loopback); |  268   WritableAfterPartialWrite(kIPv6Loopback); | 
|  281 } |  269 } | 
|  282  |  270  | 
|  283 // Crashes on Linux. See webrtc:4923. |  271 TEST_F(PhysicalSocketTest, TestConnectFailIPv6) { | 
|  284 #if defined(WEBRTC_LINUX) |  | 
|  285 #define MAYBE_TestConnectFailIPv6 DISABLED_TestConnectFailIPv6 |  | 
|  286 #else |  | 
|  287 #define MAYBE_TestConnectFailIPv6 TestConnectFailIPv6 |  | 
|  288 #endif |  | 
|  289 TEST_F(PhysicalSocketTest, MAYBE_TestConnectFailIPv6) { |  | 
|  290   SocketTest::TestConnectFailIPv6(); |  272   SocketTest::TestConnectFailIPv6(); | 
|  291 } |  273 } | 
|  292  |  274  | 
|  293 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupFailIPv4) { |  275 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupFailIPv4) { | 
|  294   SocketTest::TestConnectWithDnsLookupFailIPv4(); |  276   SocketTest::TestConnectWithDnsLookupFailIPv4(); | 
|  295 } |  277 } | 
|  296  |  278  | 
|  297 // Crashes on Linux. See webrtc:4923. |  279 TEST_F(PhysicalSocketTest, TestConnectWithDnsLookupFailIPv6) { | 
|  298 #if defined(WEBRTC_LINUX) |  | 
|  299 #define MAYBE_TestConnectWithDnsLookupFailIPv6 \ |  | 
|  300   DISABLED_TestConnectWithDnsLookupFailIPv6 |  | 
|  301 #else |  | 
|  302 #define MAYBE_TestConnectWithDnsLookupFailIPv6 \ |  | 
|  303   TestConnectWithDnsLookupFailIPv6 |  | 
|  304 #endif |  | 
|  305 TEST_F(PhysicalSocketTest, MAYBE_TestConnectWithDnsLookupFailIPv6) { |  | 
|  306   SocketTest::TestConnectWithDnsLookupFailIPv6(); |  280   SocketTest::TestConnectWithDnsLookupFailIPv6(); | 
|  307 } |  281 } | 
|  308  |  282  | 
|  309  |  283  | 
|  310 TEST_F(PhysicalSocketTest, TestConnectWithClosedSocketIPv4) { |  284 TEST_F(PhysicalSocketTest, TestConnectWithClosedSocketIPv4) { | 
|  311   SocketTest::TestConnectWithClosedSocketIPv4(); |  285   SocketTest::TestConnectWithClosedSocketIPv4(); | 
|  312 } |  286 } | 
|  313  |  287  | 
|  314 // Crashes on Linux. See webrtc:4923. |  288 TEST_F(PhysicalSocketTest, TestConnectWithClosedSocketIPv6) { | 
|  315 #if defined(WEBRTC_LINUX) |  | 
|  316 #define MAYBE_TestConnectWithClosedSocketIPv6 \ |  | 
|  317   DISABLED_TestConnectWithClosedSocketIPv6 |  | 
|  318 #else |  | 
|  319 #define MAYBE_TestConnectWithClosedSocketIPv6 TestConnectWithClosedSocketIPv6 |  | 
|  320 #endif |  | 
|  321 TEST_F(PhysicalSocketTest, MAYBE_TestConnectWithClosedSocketIPv6) { |  | 
|  322   SocketTest::TestConnectWithClosedSocketIPv6(); |  289   SocketTest::TestConnectWithClosedSocketIPv6(); | 
|  323 } |  290 } | 
|  324  |  291  | 
|  325 TEST_F(PhysicalSocketTest, TestConnectWhileNotClosedIPv4) { |  292 TEST_F(PhysicalSocketTest, TestConnectWhileNotClosedIPv4) { | 
|  326   SocketTest::TestConnectWhileNotClosedIPv4(); |  293   SocketTest::TestConnectWhileNotClosedIPv4(); | 
|  327 } |  294 } | 
|  328  |  295  | 
|  329 // Crashes on Linux. See webrtc:4923. |  296 TEST_F(PhysicalSocketTest, TestConnectWhileNotClosedIPv6) { | 
|  330 #if defined(WEBRTC_LINUX) |  | 
|  331 #define MAYBE_TestConnectWhileNotClosedIPv6 \ |  | 
|  332   DISABLED_TestConnectWhileNotClosedIPv6 |  | 
|  333 #else |  | 
|  334 #define MAYBE_TestConnectWhileNotClosedIPv6 TestConnectWhileNotClosedIPv6 |  | 
|  335 #endif |  | 
|  336 TEST_F(PhysicalSocketTest, MAYBE_TestConnectWhileNotClosedIPv6) { |  | 
|  337   SocketTest::TestConnectWhileNotClosedIPv6(); |  297   SocketTest::TestConnectWhileNotClosedIPv6(); | 
|  338 } |  298 } | 
|  339  |  299  | 
|  340 TEST_F(PhysicalSocketTest, TestServerCloseDuringConnectIPv4) { |  300 TEST_F(PhysicalSocketTest, TestServerCloseDuringConnectIPv4) { | 
|  341   SocketTest::TestServerCloseDuringConnectIPv4(); |  301   SocketTest::TestServerCloseDuringConnectIPv4(); | 
|  342 } |  302 } | 
|  343  |  303  | 
|  344 // Crashes on Linux. See webrtc:4923. |  304 TEST_F(PhysicalSocketTest, TestServerCloseDuringConnectIPv6) { | 
|  345 #if defined(WEBRTC_LINUX) |  | 
|  346 #define MAYBE_TestServerCloseDuringConnectIPv6 \ |  | 
|  347   DISABLED_TestServerCloseDuringConnectIPv6 |  | 
|  348 #else |  | 
|  349 #define MAYBE_TestServerCloseDuringConnectIPv6 TestServerCloseDuringConnectIPv6 |  | 
|  350 #endif |  | 
|  351 TEST_F(PhysicalSocketTest, MAYBE_TestServerCloseDuringConnectIPv6) { |  | 
|  352   SocketTest::TestServerCloseDuringConnectIPv6(); |  305   SocketTest::TestServerCloseDuringConnectIPv6(); | 
|  353 } |  306 } | 
|  354  |  307  | 
|  355 TEST_F(PhysicalSocketTest, TestClientCloseDuringConnectIPv4) { |  308 TEST_F(PhysicalSocketTest, TestClientCloseDuringConnectIPv4) { | 
|  356   SocketTest::TestClientCloseDuringConnectIPv4(); |  309   SocketTest::TestClientCloseDuringConnectIPv4(); | 
|  357 } |  310 } | 
|  358  |  311  | 
|  359 // Crashes on Linux. See webrtc:4923. |  312 TEST_F(PhysicalSocketTest, TestClientCloseDuringConnectIPv6) { | 
|  360 #if defined(WEBRTC_LINUX) |  | 
|  361 #define MAYBE_TestClientCloseDuringConnectIPv6 \ |  | 
|  362   DISABLED_TestClientCloseDuringConnectIPv6 |  | 
|  363 #else |  | 
|  364 #define MAYBE_TestClientCloseDuringConnectIPv6 TestClientCloseDuringConnectIPv6 |  | 
|  365 #endif |  | 
|  366 TEST_F(PhysicalSocketTest, MAYBE_TestClientCloseDuringConnectIPv6) { |  | 
|  367   SocketTest::TestClientCloseDuringConnectIPv6(); |  313   SocketTest::TestClientCloseDuringConnectIPv6(); | 
|  368 } |  314 } | 
|  369  |  315  | 
|  370 TEST_F(PhysicalSocketTest, TestServerCloseIPv4) { |  316 TEST_F(PhysicalSocketTest, TestServerCloseIPv4) { | 
|  371   SocketTest::TestServerCloseIPv4(); |  317   SocketTest::TestServerCloseIPv4(); | 
|  372 } |  318 } | 
|  373  |  319  | 
|  374 // Crashes on Linux. See webrtc:4923. |  320 TEST_F(PhysicalSocketTest, TestServerCloseIPv6) { | 
|  375 #if defined(WEBRTC_LINUX) |  | 
|  376 #define MAYBE_TestServerCloseIPv6 DISABLED_TestServerCloseIPv6 |  | 
|  377 #else |  | 
|  378 #define MAYBE_TestServerCloseIPv6 TestServerCloseIPv6 |  | 
|  379 #endif |  | 
|  380 TEST_F(PhysicalSocketTest, MAYBE_TestServerCloseIPv6) { |  | 
|  381   SocketTest::TestServerCloseIPv6(); |  321   SocketTest::TestServerCloseIPv6(); | 
|  382 } |  322 } | 
|  383  |  323  | 
|  384 TEST_F(PhysicalSocketTest, TestCloseInClosedCallbackIPv4) { |  324 TEST_F(PhysicalSocketTest, TestCloseInClosedCallbackIPv4) { | 
|  385   SocketTest::TestCloseInClosedCallbackIPv4(); |  325   SocketTest::TestCloseInClosedCallbackIPv4(); | 
|  386 } |  326 } | 
|  387  |  327  | 
|  388 // Crashes on Linux. See webrtc:4923. |  328 TEST_F(PhysicalSocketTest, TestCloseInClosedCallbackIPv6) { | 
|  389 #if defined(WEBRTC_LINUX) |  | 
|  390 #define MAYBE_TestCloseInClosedCallbackIPv6 \ |  | 
|  391   DISABLED_TestCloseInClosedCallbackIPv6 |  | 
|  392 #else |  | 
|  393 #define MAYBE_TestCloseInClosedCallbackIPv6 TestCloseInClosedCallbackIPv6 |  | 
|  394 #endif |  | 
|  395 TEST_F(PhysicalSocketTest, MAYBE_TestCloseInClosedCallbackIPv6) { |  | 
|  396   SocketTest::TestCloseInClosedCallbackIPv6(); |  329   SocketTest::TestCloseInClosedCallbackIPv6(); | 
|  397 } |  330 } | 
|  398  |  331  | 
|  399 TEST_F(PhysicalSocketTest, TestSocketServerWaitIPv4) { |  332 TEST_F(PhysicalSocketTest, TestSocketServerWaitIPv4) { | 
|  400   SocketTest::TestSocketServerWaitIPv4(); |  333   SocketTest::TestSocketServerWaitIPv4(); | 
|  401 } |  334 } | 
|  402  |  335  | 
|  403 // Crashes on Linux. See webrtc:4923. |  336 TEST_F(PhysicalSocketTest, TestSocketServerWaitIPv6) { | 
|  404 #if defined(WEBRTC_LINUX) |  | 
|  405 #define MAYBE_TestSocketServerWaitIPv6 DISABLED_TestSocketServerWaitIPv6 |  | 
|  406 #else |  | 
|  407 #define MAYBE_TestSocketServerWaitIPv6 TestSocketServerWaitIPv6 |  | 
|  408 #endif |  | 
|  409 TEST_F(PhysicalSocketTest, MAYBE_TestSocketServerWaitIPv6) { |  | 
|  410   SocketTest::TestSocketServerWaitIPv6(); |  337   SocketTest::TestSocketServerWaitIPv6(); | 
|  411 } |  338 } | 
|  412  |  339  | 
|  413 TEST_F(PhysicalSocketTest, TestTcpIPv4) { |  340 TEST_F(PhysicalSocketTest, TestTcpIPv4) { | 
|  414   SocketTest::TestTcpIPv4(); |  341   SocketTest::TestTcpIPv4(); | 
|  415 } |  342 } | 
|  416  |  343  | 
|  417 // Crashes on Linux. See webrtc:4923. |  344 TEST_F(PhysicalSocketTest, TestTcpIPv6) { | 
|  418 #if defined(WEBRTC_LINUX) |  | 
|  419 #define MAYBE_TestTcpIPv6 DISABLED_TestTcpIPv6 |  | 
|  420 #else |  | 
|  421 #define MAYBE_TestTcpIPv6 TestTcpIPv6 |  | 
|  422 #endif |  | 
|  423 TEST_F(PhysicalSocketTest, MAYBE_TestTcpIPv6) { |  | 
|  424   SocketTest::TestTcpIPv6(); |  345   SocketTest::TestTcpIPv6(); | 
|  425 } |  346 } | 
|  426  |  347  | 
|  427 TEST_F(PhysicalSocketTest, TestUdpIPv4) { |  348 TEST_F(PhysicalSocketTest, TestUdpIPv4) { | 
|  428   SocketTest::TestUdpIPv4(); |  349   SocketTest::TestUdpIPv4(); | 
|  429 } |  350 } | 
|  430  |  351  | 
|  431 // Crashes on Linux. See webrtc:4923. |  352 TEST_F(PhysicalSocketTest, TestUdpIPv6) { | 
|  432 #if defined(WEBRTC_LINUX) |  | 
|  433 #define MAYBE_TestUdpIPv6 DISABLED_TestUdpIPv6 |  | 
|  434 #else |  | 
|  435 #define MAYBE_TestUdpIPv6 TestUdpIPv6 |  | 
|  436 #endif |  | 
|  437 TEST_F(PhysicalSocketTest, MAYBE_TestUdpIPv6) { |  | 
|  438   SocketTest::TestUdpIPv6(); |  353   SocketTest::TestUdpIPv6(); | 
|  439 } |  354 } | 
|  440  |  355  | 
|  441 // Disable for TSan v2, see |  356 // Disable for TSan v2, see | 
|  442 // https://code.google.com/p/webrtc/issues/detail?id=3498 for details. |  357 // https://code.google.com/p/webrtc/issues/detail?id=3498 for details. | 
|  443 // Also disable for MSan, see: |  358 // Also disable for MSan, see: | 
|  444 // https://code.google.com/p/webrtc/issues/detail?id=4958 |  359 // https://code.google.com/p/webrtc/issues/detail?id=4958 | 
|  445 // TODO(deadbeef): Enable again once test is reimplemented to be unflaky. |  360 // TODO(deadbeef): Enable again once test is reimplemented to be unflaky. | 
|  446 // Also disable for ASan. |  361 // Also disable for ASan. | 
|  447 // Disabled on Android: https://code.google.com/p/webrtc/issues/detail?id=4364 |  362 // Disabled on Android: https://code.google.com/p/webrtc/issues/detail?id=4364 | 
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  588   thread->Start(runnable.get()); |  503   thread->Start(runnable.get()); | 
|  589   EXPECT_TRUE(ss_->Wait(1500, true)); |  504   EXPECT_TRUE(ss_->Wait(1500, true)); | 
|  590   EXPECT_TRUE(ExpectSignal(SIGTERM)); |  505   EXPECT_TRUE(ExpectSignal(SIGTERM)); | 
|  591   EXPECT_EQ(Thread::Current(), signaled_thread_); |  506   EXPECT_EQ(Thread::Current(), signaled_thread_); | 
|  592   EXPECT_TRUE(ExpectNone()); |  507   EXPECT_TRUE(ExpectNone()); | 
|  593 } |  508 } | 
|  594  |  509  | 
|  595 #endif |  510 #endif | 
|  596  |  511  | 
|  597 }  // namespace rtc |  512 }  // namespace rtc | 
| OLD | NEW |