1 // Copyright 2009 Google Inc. All Rights Reserved.
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"
11 // Test that Win32SocketServer::Wait works as expected.
12 TEST(Win32SocketServerTest, TestWait) {
13 Win32SocketServer server(NULL);
14 uint32 start = Time();
15 server.Wait(1000, true);
16 EXPECT_GE(TimeSince(start), 1000);
19 // Test that Win32Socket::Pump does not touch general Windows messages.
20 TEST(Win32SocketServerTest, TestPump) {
21 Win32SocketServer server(NULL);
22 SocketServerScope scope(&server);
23 EXPECT_EQ(TRUE, PostMessage(NULL, WM_USER, 999, 0));
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);
31 // Test that Win32Socket passes all the generic Socket tests.
32 class Win32SocketTest : public SocketTest {
34 Win32SocketTest() : server_(NULL), scope_(&server_) {}
35 Win32SocketServer server_;
36 SocketServerScope scope_;
39 TEST_F(Win32SocketTest, TestConnectIPv4) {
40 SocketTest::TestConnectIPv4();
43 TEST_F(Win32SocketTest, TestConnectIPv6) {
44 SocketTest::TestConnectIPv6();
47 TEST_F(Win32SocketTest, TestConnectWithDnsLookupIPv4) {
48 SocketTest::TestConnectWithDnsLookupIPv4();
51 TEST_F(Win32SocketTest, TestConnectWithDnsLookupIPv6) {
52 SocketTest::TestConnectWithDnsLookupIPv6();
55 TEST_F(Win32SocketTest, TestConnectFailIPv4) {
56 SocketTest::TestConnectFailIPv4();
59 TEST_F(Win32SocketTest, TestConnectFailIPv6) {
60 SocketTest::TestConnectFailIPv6();
63 TEST_F(Win32SocketTest, TestConnectWithDnsLookupFailIPv4) {
64 SocketTest::TestConnectWithDnsLookupFailIPv4();
67 TEST_F(Win32SocketTest, TestConnectWithDnsLookupFailIPv6) {
68 SocketTest::TestConnectWithDnsLookupFailIPv6();
71 TEST_F(Win32SocketTest, TestConnectWithClosedSocketIPv4) {
72 SocketTest::TestConnectWithClosedSocketIPv4();
75 TEST_F(Win32SocketTest, TestConnectWithClosedSocketIPv6) {
76 SocketTest::TestConnectWithClosedSocketIPv6();
79 TEST_F(Win32SocketTest, TestConnectWhileNotClosedIPv4) {
80 SocketTest::TestConnectWhileNotClosedIPv4();
83 TEST_F(Win32SocketTest, TestConnectWhileNotClosedIPv6) {
84 SocketTest::TestConnectWhileNotClosedIPv6();
87 TEST_F(Win32SocketTest, TestServerCloseDuringConnectIPv4) {
88 SocketTest::TestServerCloseDuringConnectIPv4();
91 TEST_F(Win32SocketTest, TestServerCloseDuringConnectIPv6) {
92 SocketTest::TestServerCloseDuringConnectIPv6();
95 TEST_F(Win32SocketTest, TestClientCloseDuringConnectIPv4) {
96 SocketTest::TestClientCloseDuringConnectIPv4();
99 TEST_F(Win32SocketTest, TestClientCloseDuringConnectIPv6) {
100 SocketTest::TestClientCloseDuringConnectIPv6();
103 TEST_F(Win32SocketTest, TestServerCloseIPv4) {
104 SocketTest::TestServerCloseIPv4();
107 TEST_F(Win32SocketTest, TestServerCloseIPv6) {
108 SocketTest::TestServerCloseIPv6();
111 TEST_F(Win32SocketTest, TestCloseInClosedCallbackIPv4) {
112 SocketTest::TestCloseInClosedCallbackIPv4();
115 TEST_F(Win32SocketTest, TestCloseInClosedCallbackIPv6) {
116 SocketTest::TestCloseInClosedCallbackIPv6();
119 TEST_F(Win32SocketTest, TestSocketServerWaitIPv4) {
120 SocketTest::TestSocketServerWaitIPv4();
123 TEST_F(Win32SocketTest, TestSocketServerWaitIPv6) {
124 SocketTest::TestSocketServerWaitIPv6();
127 TEST_F(Win32SocketTest, TestTcpIPv4) {
128 SocketTest::TestTcpIPv4();
131 TEST_F(Win32SocketTest, TestTcpIPv6) {
132 SocketTest::TestTcpIPv6();
135 TEST_F(Win32SocketTest, TestUdpIPv4) {
136 SocketTest::TestUdpIPv4();
139 TEST_F(Win32SocketTest, TestUdpIPv6) {
140 SocketTest::TestUdpIPv6();
143 TEST_F(Win32SocketTest, TestGetSetOptionsIPv4) {
144 SocketTest::TestGetSetOptionsIPv4();
147 TEST_F(Win32SocketTest, TestGetSetOptionsIPv6) {
148 SocketTest::TestGetSetOptionsIPv6();
151 } // namespace talk_base