147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org/*
247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  Copyright 2009 The WebRTC Project Authors. All rights reserved.
347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *
447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  Use of this source code is governed by a BSD-style license
547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  that can be found in the LICENSE file in the root of the source
647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  tree. An additional intellectual property rights grant can be found
747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  in the file PATENTS.  All contributing project authors may
847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org */
1047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
1147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/gunit.h"
1247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/scoped_ptr.h"
1347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/socket_unittest.h"
1447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/thread.h"
1547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#include "webrtc/base/macsocketserver.h"
1647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
1747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgnamespace rtc {
1847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
1947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgclass WakeThread : public Thread {
2047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org public:
2147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  WakeThread(SocketServer* ss) : ss_(ss) {
2247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  }
2347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  virtual ~WakeThread() {
2447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org    Stop();
2547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  }
2647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  void Run() {
2747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org    ss_->WakeUp();
2847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  }
2947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org private:
3047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketServer* ss_;
3147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org};
3247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
3347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#ifndef CARBON_DEPRECATED
3447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
3547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCFSocketServer::Wait works as expected.
3660b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCFSocketServerTest, DISABLED_TestWait) {
3747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCFSocketServer server;
3847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
3947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(1000, true);
4047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_GE(TimeSince(start), 1000);
4147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
4247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
4347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCFSocketServer::Wakeup works as expected.
4460b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCFSocketServerTest, DISABLED_TestWakeup) {
4547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCFSocketServer server;
4647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  WakeThread thread(&server);
4747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
4847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  thread.Start();
4947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(10000, true);
5047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_LT(TimeSince(start), 10000);
5147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
5247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
5347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCarbonSocketServer::Wait works as expected.
5460b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCarbonSocketServerTest, DISABLED_TestWait) {
5547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCarbonSocketServer server;
5647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
5747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(1000, true);
5847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_GE(TimeSince(start), 1000);
5947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
6047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
6147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCarbonSocketServer::Wakeup works as expected.
6260b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCarbonSocketServerTest, DISABLED_TestWakeup) {
6347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCarbonSocketServer server;
6447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  WakeThread thread(&server);
6547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
6647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  thread.Start();
6747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(10000, true);
6847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_LT(TimeSince(start), 10000);
6947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
7047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
7147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCarbonAppSocketServer::Wait works as expected.
7260b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCarbonAppSocketServerTest, DISABLED_TestWait) {
7347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCarbonAppSocketServer server;
7447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
7547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(1000, true);
7647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_GE(TimeSince(start), 1000);
7747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
7847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
7947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacCarbonAppSocketServer::Wakeup works as expected.
8060b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST(MacCarbonAppSocketServerTest, DISABLED_TestWakeup) {
8147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacCarbonAppSocketServer server;
8247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  WakeThread thread(&server);
8347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  uint32 start = Time();
8447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  thread.Start();
8547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  server.Wait(10000, true);
8647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  EXPECT_LT(TimeSince(start), 10000);
8747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
8847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
8947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#endif
9047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
9147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Test that MacAsyncSocket passes all the generic Socket tests.
9247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgclass MacAsyncSocketTest : public SocketTest {
9347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org protected:
9447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  MacAsyncSocketTest()
9547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org      : server_(CreateSocketServer()),
9647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org        scope_(server_.get()) {}
9747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  // Override for other implementations of MacBaseSocketServer.
9847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  virtual MacBaseSocketServer* CreateSocketServer() {
9947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org    return new MacCFSocketServer();
10047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  };
10147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  rtc::scoped_ptr<MacBaseSocketServer> server_;
10247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketServerScope scope_;
10347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org};
10447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
105a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectIPv4) {
10647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectIPv4();
10747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
10847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
109a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectIPv6) {
11047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectIPv6();
11147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
11247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
113a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithDnsLookupIPv4) {
11447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithDnsLookupIPv4();
11547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
11647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
117a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithDnsLookupIPv6) {
11847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithDnsLookupIPv6();
11947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
12047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
12147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// BUG=https://code.google.com/p/webrtc/issues/detail?id=2272
12247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectFailIPv4) {
12347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectFailIPv4();
12447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
12547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
126a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectFailIPv6) {
12747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectFailIPv6();
12847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
12947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
13047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Reenable once we have mac async dns
13147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithDnsLookupFailIPv4) {
13247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithDnsLookupFailIPv4();
13347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
13447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
13547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithDnsLookupFailIPv6) {
13647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithDnsLookupFailIPv6();
13747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
13847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
139a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithClosedSocketIPv4) {
14047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithClosedSocketIPv4();
14147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
14247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
143a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestConnectWithClosedSocketIPv6) {
14447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestConnectWithClosedSocketIPv6();
14547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
14647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
14747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Flaky at the moment (10% failure rate).  Seems the client doesn't get
14847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// signalled in a timely manner...
14947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestServerCloseDuringConnectIPv4) {
15047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestServerCloseDuringConnectIPv4();
15147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
15247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
15347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestServerCloseDuringConnectIPv6) {
15447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestServerCloseDuringConnectIPv6();
15547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
15647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// Flaky at the moment (0.5% failure rate).  Seems the client doesn't get
15747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org// signalled in a timely manner...
158a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestClientCloseDuringConnectIPv4) {
15947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestClientCloseDuringConnectIPv4();
16047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
16147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
162a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestClientCloseDuringConnectIPv6) {
16347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestClientCloseDuringConnectIPv6();
16447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
16547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
166a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestServerCloseIPv4) {
16747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestServerCloseIPv4();
16847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
16947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
170a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestServerCloseIPv6) {
17147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestServerCloseIPv6();
17247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
17347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
174a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestCloseInClosedCallbackIPv4) {
17547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestCloseInClosedCallbackIPv4();
17647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
17747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
178a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestCloseInClosedCallbackIPv6) {
17947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestCloseInClosedCallbackIPv6();
18047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
18147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
182a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestSocketServerWaitIPv4) {
18347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSocketServerWaitIPv4();
18447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
18547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
186a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestSocketServerWaitIPv6) {
18747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSocketServerWaitIPv6();
18847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
18947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
190a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestTcpIPv4) {
19147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestTcpIPv4();
19247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
19347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
194a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestTcpIPv6) {
19547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestTcpIPv6();
19647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
19747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
198a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestSingleFlowControlCallbackIPv4) {
19947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSingleFlowControlCallbackIPv4();
20047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
20147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
202a127c9555d5bc8d9404562840ebfd5281c670600henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestSingleFlowControlCallbackIPv6) {
20347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSingleFlowControlCallbackIPv6();
20447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
20547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
20647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestUdpIPv4) {
20747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestUdpIPv4();
20847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
20947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
21047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestUdpIPv6) {
21147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestUdpIPv6();
21247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
21347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
21447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestGetSetOptionsIPv4) {
21547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestGetSetOptionsIPv4();
21647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
21747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
21847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgTEST_F(MacAsyncSocketTest, DISABLED_TestGetSetOptionsIPv6) {
21947be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestGetSetOptionsIPv6();
22047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
22147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
22247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#ifndef CARBON_DEPRECATED
22347be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.orgclass MacCarbonAppAsyncSocketTest : public MacAsyncSocketTest {
22447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  virtual MacBaseSocketServer* CreateSocketServer() {
22547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org    return new MacCarbonAppSocketServer();
22647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  };
22747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org};
22847be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
22960b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST_F(MacCarbonAppAsyncSocketTest, DISABLED_TestSocketServerWaitIPv4) {
23047be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSocketServerWaitIPv4();
23147be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
23247be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org
23360b0bb686eaec50337df5a6253eb9bc57882189akjellander@webrtc.orgTEST_F(MacCarbonAppAsyncSocketTest, DISABLED_TestSocketServerWaitIPv6) {
23447be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org  SocketTest::TestSocketServerWaitIPv6();
23547be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}
23647be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org#endif
23747be73b8629244d6bb63a28198f97f040ce53d21henrike@webrtc.org}  // namespace rtc
238