blob: f78a4446d48cb75b34b07812dff93d22de625a1f [file] [log] [blame]
henrike@webrtc.org0e118e72013-07-10 00:45:36 +00001// Copyright 2009 Google Inc. All Rights Reserved.
2
3
4#include "talk/base/gunit.h"
5#include "talk/base/socket_unittest.h"
6#include "talk/base/thread.h"
7#include "talk/base/win32socketserver.h"
8
9namespace talk_base {
10
11// Test that Win32SocketServer::Wait works as expected.
12TEST(Win32SocketServerTest, TestWait) {
13 Win32SocketServer server(NULL);
14 uint32 start = Time();
15 server.Wait(1000, true);
16 EXPECT_GE(TimeSince(start), 1000);
17}
18
19// Test that Win32Socket::Pump does not touch general Windows messages.
20TEST(Win32SocketServerTest, TestPump) {
21 Win32SocketServer server(NULL);
22 SocketServerScope scope(&server);
23 EXPECT_EQ(TRUE, PostMessage(NULL, WM_USER, 999, 0));
24 server.Pump();
25 MSG msg;
26 EXPECT_EQ(TRUE, PeekMessage(&msg, NULL, WM_USER, 0, PM_REMOVE));
27 EXPECT_EQ(WM_USER, msg.message);
28 EXPECT_EQ(999, msg.wParam);
29}
30
31// Test that Win32Socket passes all the generic Socket tests.
32class Win32SocketTest : public SocketTest {
33 protected:
34 Win32SocketTest() : server_(NULL), scope_(&server_) {}
35 Win32SocketServer server_;
36 SocketServerScope scope_;
37};
38
39TEST_F(Win32SocketTest, TestConnectIPv4) {
40 SocketTest::TestConnectIPv4();
41}
42
43TEST_F(Win32SocketTest, TestConnectIPv6) {
44 SocketTest::TestConnectIPv6();
45}
46
47TEST_F(Win32SocketTest, TestConnectWithDnsLookupIPv4) {
48 SocketTest::TestConnectWithDnsLookupIPv4();
49}
50
51TEST_F(Win32SocketTest, TestConnectWithDnsLookupIPv6) {
52 SocketTest::TestConnectWithDnsLookupIPv6();
53}
54
55TEST_F(Win32SocketTest, TestConnectFailIPv4) {
56 SocketTest::TestConnectFailIPv4();
57}
58
59TEST_F(Win32SocketTest, TestConnectFailIPv6) {
60 SocketTest::TestConnectFailIPv6();
61}
62
63TEST_F(Win32SocketTest, TestConnectWithDnsLookupFailIPv4) {
64 SocketTest::TestConnectWithDnsLookupFailIPv4();
65}
66
67TEST_F(Win32SocketTest, TestConnectWithDnsLookupFailIPv6) {
68 SocketTest::TestConnectWithDnsLookupFailIPv6();
69}
70
71TEST_F(Win32SocketTest, TestConnectWithClosedSocketIPv4) {
72 SocketTest::TestConnectWithClosedSocketIPv4();
73}
74
75TEST_F(Win32SocketTest, TestConnectWithClosedSocketIPv6) {
76 SocketTest::TestConnectWithClosedSocketIPv6();
77}
78
79TEST_F(Win32SocketTest, TestConnectWhileNotClosedIPv4) {
80 SocketTest::TestConnectWhileNotClosedIPv4();
81}
82
83TEST_F(Win32SocketTest, TestConnectWhileNotClosedIPv6) {
84 SocketTest::TestConnectWhileNotClosedIPv6();
85}
86
87TEST_F(Win32SocketTest, TestServerCloseDuringConnectIPv4) {
88 SocketTest::TestServerCloseDuringConnectIPv4();
89}
90
91TEST_F(Win32SocketTest, TestServerCloseDuringConnectIPv6) {
92 SocketTest::TestServerCloseDuringConnectIPv6();
93}
94
95TEST_F(Win32SocketTest, TestClientCloseDuringConnectIPv4) {
96 SocketTest::TestClientCloseDuringConnectIPv4();
97}
98
99TEST_F(Win32SocketTest, TestClientCloseDuringConnectIPv6) {
100 SocketTest::TestClientCloseDuringConnectIPv6();
101}
102
103TEST_F(Win32SocketTest, TestServerCloseIPv4) {
104 SocketTest::TestServerCloseIPv4();
105}
106
107TEST_F(Win32SocketTest, TestServerCloseIPv6) {
108 SocketTest::TestServerCloseIPv6();
109}
110
111TEST_F(Win32SocketTest, TestCloseInClosedCallbackIPv4) {
112 SocketTest::TestCloseInClosedCallbackIPv4();
113}
114
115TEST_F(Win32SocketTest, TestCloseInClosedCallbackIPv6) {
116 SocketTest::TestCloseInClosedCallbackIPv6();
117}
118
119TEST_F(Win32SocketTest, TestSocketServerWaitIPv4) {
120 SocketTest::TestSocketServerWaitIPv4();
121}
122
123TEST_F(Win32SocketTest, TestSocketServerWaitIPv6) {
124 SocketTest::TestSocketServerWaitIPv6();
125}
126
127TEST_F(Win32SocketTest, TestTcpIPv4) {
128 SocketTest::TestTcpIPv4();
129}
130
131TEST_F(Win32SocketTest, TestTcpIPv6) {
132 SocketTest::TestTcpIPv6();
133}
134
135TEST_F(Win32SocketTest, TestUdpIPv4) {
136 SocketTest::TestUdpIPv4();
137}
138
139TEST_F(Win32SocketTest, TestUdpIPv6) {
140 SocketTest::TestUdpIPv6();
141}
142
143TEST_F(Win32SocketTest, TestGetSetOptionsIPv4) {
144 SocketTest::TestGetSetOptionsIPv4();
145}
146
147TEST_F(Win32SocketTest, TestGetSetOptionsIPv6) {
148 SocketTest::TestGetSetOptionsIPv6();
149}
150
151} // namespace talk_base