Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(996)

Side by Side Diff: webrtc/test/channel_transport/udp_socket_wrapper_unittest.cc

Issue 2336123002: Revert of Moved webrtc/test/channel_transport/ into webrtc/voice_engine/test/ (Closed)
Patch Set: Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 // Tests for the UdpSocketWrapper interface.
12 // This will test the UdpSocket implementations on various platforms.
13 // Note that this test is using a real SocketManager, which starts up
14 // an extra worker thread, making the testing more complex than it
15 // should be.
16 // This is because on Posix, the CloseBlocking function waits for the
17 // ReadyForDeletion function to be called, which has to be called after
18 // CloseBlocking, and thus has to be called from another thread.
19 // The manager is the one actually doing the deleting.
20 // This is done differently in the Winsock2 code, but that code
21 // will also hang if the destructor is called directly.
22
23 #include "testing/gmock/include/gmock/gmock.h"
24 #include "testing/gtest/include/gtest/gtest.h"
25 #include "webrtc/test/channel_transport/udp_socket_manager_wrapper.h"
26 #include "webrtc/test/channel_transport/udp_socket_wrapper.h"
27
28 using ::testing::_;
29 using ::testing::Return;
30
31 namespace webrtc {
32 namespace test {
33
34 class MockSocketManager : public UdpSocketManager {
35 public:
36 MockSocketManager() {}
37 // Access to protected destructor.
38 void Destroy() {
39 delete this;
40 }
41 MOCK_METHOD2(Init, bool(int32_t, uint8_t&));
42 MOCK_METHOD0(Start, bool());
43 MOCK_METHOD0(Stop, bool());
44 MOCK_METHOD1(AddSocket, bool(UdpSocketWrapper*));
45 MOCK_METHOD1(RemoveSocket, bool(UdpSocketWrapper*));
46 };
47
48 // Creates a socket using the static constructor method and verifies that
49 // it's added to the socket manager.
50 TEST(UdpSocketWrapper, CreateSocket) {
51 int32_t id = 42;
52 // We can't test deletion of sockets without a socket manager.
53 uint8_t threads = 1;
54 UdpSocketManager* mgr = UdpSocketManager::Create(id, threads);
55 UdpSocketWrapper* socket =
56 UdpSocketWrapper::CreateSocket(id,
57 mgr,
58 NULL, // CallbackObj
59 NULL, // IncomingSocketCallback
60 false, // ipV6Enable
61 false); // disableGQOS
62 socket->CloseBlocking();
63 UdpSocketManager::Return();
64 }
65
66 } // namespace test
67 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/test/channel_transport/udp_socket_wrapper.cc ('k') | webrtc/test/channel_transport/udp_transport.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698