|
1 /* |
|
2 * Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * |
|
16 */ |
|
17 |
|
18 |
|
19 |
|
20 #ifndef __TESTSOCKET_H__ |
|
21 #define __TESTSOCKET_H__ |
|
22 |
|
23 #include <test/testexecutestepbase.h> |
|
24 |
|
25 // INCLUDE FILES |
|
26 #include <unistd.h> |
|
27 #include <errno.h> |
|
28 #include <stdio.h> |
|
29 #include <e32std.h> |
|
30 #include <stdlib.h> |
|
31 #include <string.h> |
|
32 |
|
33 #include <e32svr.h> |
|
34 #include <e32def.h> |
|
35 #include <sys/types.h> |
|
36 #include <sys/socket.h> |
|
37 #include <stdapis/netinet/in.h> |
|
38 #include <stdapis/arpa/inet.h> |
|
39 #include <e32std.h> |
|
40 #include <sys/unistd.h> |
|
41 #include <fcntl.h> |
|
42 #include <sys/socket.h> |
|
43 #include <netdb.h> |
|
44 |
|
45 #include <pthread.h> |
|
46 #include <stdapis/net/if.h> |
|
47 #include <sys/sockio.h> |
|
48 #include <sys/stat.h> |
|
49 #include <sys/select.h> |
|
50 |
|
51 #include <sys/ioctl.h> |
|
52 #include <sys/uio.h> |
|
53 |
|
54 _LIT(KExampleL, "ExampleL"); |
|
55 _LIT(KUDP, "UDP"); |
|
56 _LIT(KTCP, "TCP"); |
|
57 _LIT(KSocketTest, "SocketTest"); |
|
58 _LIT(KGetSocketNameUsingInvalidSocketDescriptor, "GetSocketNameUsingInvalidSocketDescriptor"); |
|
59 _LIT(KGetSocketNameUsingFileDescriptor, "GetSocketNameUsingFileDescriptor"); |
|
60 _LIT(KGetSocketName, "GetSocketName"); |
|
61 _LIT(KGetSocketNameInvalidLength, "GetSocketNameInvalidLength"); |
|
62 _LIT(KGetSocketNameInvalidSocketBuffer, "GetSocketNameInvalidSocketBuffer"); |
|
63 _LIT(KGetPeerSocketName, "GetPeerSocketName"); |
|
64 _LIT(KGetPeerSocketNameUsingFileDescriptor, "GetPeerSocketNameUsingFileDescriptor"); |
|
65 _LIT(KGetPeerSocketNameUsingInvalidSocketDescriptor, "GetPeerSocketNameUsingInvalidSocketDescriptor"); |
|
66 _LIT(KGetPeerSocketNameforUnconnectedSocket, "GetPeerSocketNameforUnconnectedSocket"); |
|
67 _LIT(KGetPeerSocketNameInvalidLengthSockAddr, "GetPeerSocketNameInvalidLengthSockAddr"); |
|
68 _LIT(KBindTest, "BindTest"); |
|
69 _LIT(KMultipleBindOnSameSocket, "MultipleBindOnSameSocket"); |
|
70 _LIT(KBindInvalidAddress, "BindInvalidAddress"); |
|
71 _LIT(KBindUsingInvalidSocketDescriptor, "BindUsingInvalidSocketDescriptor"); |
|
72 _LIT(KBindUsingFileDescriptor, "BindUsingFileDescriptor"); |
|
73 _LIT(KBindFailCases, "BindFailCases"); |
|
74 _LIT(KShutdownTest, "ShutdownTest"); |
|
75 _LIT(KShutDownTestWithInvalidShutdownOption, "ShutDownTestWithInvalidShutdownOption"); |
|
76 _LIT(KShutdownUsingFileDescriptor, "ShutdownUsingFileDescriptor"); |
|
77 _LIT(KShutdownUsingInvalidSocketDescriptor, "ShutdownUsingInvalidSocketDescriptor"); |
|
78 _LIT(KShutdownDisconnectedSocket, "ShutdownDisconnectedSocket"); |
|
79 _LIT(KListenUdp, "ListenUdp"); |
|
80 _LIT(KListenTest, "ListenTest"); |
|
81 _LIT(KListenUsingFileDescriptor, "ListenUsingFileDescriptor"); |
|
82 _LIT(KListenUsingInvalidSocketDescriptor, "ListenUsingInvalidSocketDescriptor"); |
|
83 _LIT(KAcceptTest, "AcceptTest"); |
|
84 _LIT(KUDPAccept, "UDPAccept"); |
|
85 _LIT(KAcceptUsingFileDescriptor, "AcceptUsingFileDescriptor"); |
|
86 _LIT(KAcceptUsingInvalidSocketDescriptor, "AcceptUsingInvalidSocketDescriptor"); |
|
87 _LIT(KAcceptFailCases, "AcceptFailCases"); |
|
88 _LIT(KAcceptTestZeroAddrLen, "AcceptTestZeroAddrLen"); |
|
89 _LIT(KAcceptTestNullAddr, "AcceptTestNullAddr"); |
|
90 _LIT(KConnectTestFailCases, "ConnectTestFailCases"); |
|
91 _LIT(KConnectUsingFileDescriptor, "ConnectUsingFileDescriptor"); |
|
92 _LIT(KConnectUsingInvalidSocketDescriptor, "ConnectUsingInvalidSocketDescriptor"); |
|
93 _LIT(KRecvUsingFileDescriptor, "RecvUsingFileDescriptor"); |
|
94 _LIT(KRecvUsingInvalidSocketDescriptor, "RecvUsingInvalidSocketDescriptor"); |
|
95 _LIT(KRecvTestFailCases, "RecvTestFailCases"); |
|
96 _LIT(KSendTestFailCases, "SendTestFailCases"); |
|
97 _LIT(KSendUsingFileDescriptor, "SendUsingFileDescriptor"); |
|
98 _LIT(KSendUsingInvalidSocketDescriptor, "SendUsingInvalidSocketDescriptor"); |
|
99 _LIT(KSocketOptions, "SocketOptions"); |
|
100 _LIT(KGetSockOptFailCases, "GetSockOptFailCases"); |
|
101 _LIT(KSetSockOptFailCases, "SetSockOptFailCases"); |
|
102 _LIT(KSendToTestFailCases, "SendToTestFailCases"); |
|
103 _LIT(KSendToUsingFileDescriptor, "SendToUsingFileDescriptor"); |
|
104 _LIT(KSendToUsingInvalidSocketDescriptor, "SendToUsingInvalidSocketDescriptor"); |
|
105 _LIT(KTestSendReturnValue, "TestSendReturnValue"); |
|
106 _LIT(KRecvFromTestFailCases, "RecvFromTestFailCases"); |
|
107 _LIT(KSockAtMark, "SockAtMark"); |
|
108 _LIT(KBindResvPort, "BindResvPort"); |
|
109 _LIT(KBindResvPortFailCases, "BindResvPortFailCases"); |
|
110 _LIT(KHErrNoLocation, "HErrNoLocation"); |
|
111 _LIT(KSendMsgRecvMsg, "SendMsgRecvMsg"); |
|
112 _LIT(KGetHostName, "GetHostName"); |
|
113 _LIT(KGetHostNameNull, "GetHostNameNull"); |
|
114 _LIT(KGetHostNameZero, "GetHostNameZero"); |
|
115 _LIT(KTestRecv, "TestRecv"); |
|
116 _LIT(KTestReadStream, "TestReadStream"); |
|
117 _LIT(KTestReadDatagram, "TestReadDatagram"); |
|
118 _LIT(KTestSktlseek, "TestSktlseek"); |
|
119 _LIT(KTestSockAfLocal, "TestSockAfLocal"); |
|
120 _LIT(KTestSktfstat, "TestSktfstat"); |
|
121 _LIT(KTestSktfsync, "TestSktfsync"); |
|
122 _LIT(KTestGreaterThan16kReadWrite, "TestGreaterThan16kReadWrite"); |
|
123 _LIT(KTestNotify, "TestNotify"); |
|
124 _LIT(KTestRecvMsgPeekTCP, "TestRecvMsgPeekTCP"); |
|
125 _LIT(KTestRecvMsgPeekUDP, "TestRecvMsgPeekUDP"); |
|
126 _LIT(KTestLargeUDP,"TestLargeUDP"); |
|
127 _LIT(KTestFionread, "TestFionread"); |
|
128 _LIT(KTestBind1,"TestBind1"); |
|
129 _LIT(KTestConnectNonBlocking,"TestConnectNonBlocking"); |
|
130 _LIT(KTCP1, "TCP1"); |
|
131 _LIT(KTestV4MappedAddress, "TestV4MappedAddress"); |
|
132 _LIT(KReadTestFailCase, "ReadTestFailCase"); |
|
133 _LIT(KTestNotify1, "TestNotify1"); |
|
134 _LIT(KTestSockFcntl, "TestSockFcntl"); |
|
135 _LIT(KTestSockIoctl, "TestSockIoctl"); |
|
136 _LIT(KSockErrnoTest, "SockErrnoTest"); |
|
137 _LIT(KSockSendOnClosedConn,"SockSendOnClosedConn"); |
|
138 class CTestSocket : public CTestStep |
|
139 { |
|
140 public: |
|
141 ~CTestSocket(); |
|
142 CTestSocket(const TDesC& aStepName); |
|
143 TVerdict doTestStepL(); |
|
144 TVerdict doTestStepPreambleL(); |
|
145 TVerdict doTestStepPostambleL(); |
|
146 private: |
|
147 void GetParameters(char aParamets[10][256]); |
|
148 TInt ExampleL(); |
|
149 TInt UDP( ); |
|
150 TInt TCP( ); |
|
151 TInt GetSocketName( ); |
|
152 TInt GetSocketNameUsingFileDescriptor( ); |
|
153 TInt GetSocketNameUsingInvalidSocketDescriptor( ); |
|
154 TInt GetSocketNameInvalidLength( ); |
|
155 TInt GetSocketNameInvalidSocketBuffer( ); |
|
156 TInt GetPeerSocketName( ); |
|
157 TInt GetPeerSocketNameUsingFileDescriptor( ); |
|
158 TInt GetPeerSocketNameUsingInvalidSocketDescriptor( ); |
|
159 TInt GetPeerSocketNameforUnconnectedSocket( ); |
|
160 TInt GetPeerSocketNameInvalidLengthSockAddr( ); |
|
161 TInt BindTest( ); |
|
162 TInt MultipleBindOnSameSocket( ); |
|
163 TInt BindInvalidAddress( ); |
|
164 TInt BindUsingInvalidSocketDescriptor( ); |
|
165 TInt BindUsingFileDescriptor( ); |
|
166 TInt ShutdownTest( ); |
|
167 TInt ShutDownTestWithInvalidShutdownOption( ); |
|
168 TInt ShutdownUsingFileDescriptor( ); |
|
169 TInt ShutdownUsingInvalidSocketDescriptor( ); |
|
170 TInt ShutdownDisconnectedSocket( ); |
|
171 TInt SocketTest(); |
|
172 TInt ListenTest(); |
|
173 TInt ListenUsingFileDescriptor(); |
|
174 TInt ListenUsingInvalidSocketDescriptor(); |
|
175 TInt AcceptTest(); |
|
176 TInt UDPAccept(); |
|
177 TInt AcceptUsingFileDescriptor(); |
|
178 TInt AcceptUsingInvalidSocketDescriptor(); |
|
179 TInt ConnectTestFailCases(); |
|
180 TInt ConnectUsingFileDescriptor(); |
|
181 TInt ConnectUsingInvalidSocketDescriptor(); |
|
182 TInt RecvTestFailCases(); |
|
183 TInt RecvUsingInvalidSocketDescriptor(); |
|
184 TInt RecvUsingFileDescriptor(); |
|
185 TInt SendTestFailCases(); |
|
186 TInt SendUsingFileDescriptor(); |
|
187 TInt SendUsingInvalidSocketDescriptor(); |
|
188 TInt SocketOptions(); |
|
189 TInt GetSockOptFailCases(); |
|
190 TInt SetSockOptFailCases(); |
|
191 TInt SendToTestFailCases(); |
|
192 TInt SendToUsingFileDescriptor(); |
|
193 TInt SendToUsingInvalidSocketDescriptor(); |
|
194 TInt TestSendReturnValue(); |
|
195 TInt RecvFromTestFailCases(); |
|
196 TInt SockAtMark(); |
|
197 TInt BindResvPort(); |
|
198 TInt BindResvPortFailCases(); |
|
199 TInt HErrNoLocation(); |
|
200 TInt SendMsgRecvMsg(); |
|
201 TInt TestRecv(); |
|
202 TInt TestReadStream(); |
|
203 TInt TestReadDatagram(); |
|
204 TInt BindFailCases(); |
|
205 TInt AcceptFailCases(); |
|
206 TInt AcceptTestZeroAddrLen(); |
|
207 TInt AcceptTestNullAddr(); |
|
208 TInt ListenUdp(); |
|
209 TInt GetHostName(); |
|
210 TInt GetHostNameNull(); |
|
211 TInt GetHostNameZero(); |
|
212 TInt TestSktlseek(); |
|
213 TInt TestSockAfLocal(); |
|
214 TInt TestSktfstat(); |
|
215 TInt TestSktfsync(); |
|
216 TInt TestGreaterThan16kReadWrite(); |
|
217 TInt TestNotify(); |
|
218 TInt TestRecvMsgPeekTCP(); |
|
219 TInt TestRecvMsgPeekUDP(); |
|
220 TInt TestLargeUDP(); |
|
221 TInt TestFionread(); |
|
222 TInt TestBind1(); |
|
223 TInt TestConnectNonBlocking(); |
|
224 TInt TCP1( ); |
|
225 TInt TestV4MappedAddress(); |
|
226 TInt ReadTestFailCase(); |
|
227 TInt TestNotify1(); |
|
228 TInt TestSockFcntl(); |
|
229 TInt TestSockIoctl(); |
|
230 TInt create_udp_socket(int port); |
|
231 TInt send_packet(int s); |
|
232 TInt close_socket(int fd); |
|
233 TInt SockErrnoTest(); |
|
234 TInt SockSendOnClosedConn(); |
|
235 }; |
|
236 #endif |