(file) Return to Group1.txt CVS log (file) (dir) Up to [RizwankCVS] / geekymedia_web / twiki / data / WineDev

  1 rizwank 1.1 %META:TOPICINFO{author="MarvChiang" date="1108183528" format="1.0" version="1.9"}%
  2             %META:TOPICPARENT{name="WebHome"}%
  3             <h2><a name="Proposed_Timeline"> </a> Proposed Timeline </h2>
  4             
  5             <table>
  6             <tr>
  7             
  8             <td width=100><u><b>Date</b></u></td>  <td><u><b>Weight</b></u></td>  <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<u><b>Project</b></u><br></td>
  9             </tr>
 10             
 11             <tr>
 12             <td valign=top bgcolor=CCDDFF><b>2005-1-19</b></td> 
 13             <td align=center valign=top bgcolor=DDFFCC>4%</td>  
 14             <td bgcolor=FFFFCC><ul><li>Projects 0 and 1</li>
 15             				 <li>Install Linux (Fedora Core 3) on desktop and laptop.</li>
 16             				 <li>Download, build and install WINE.</li></ul></td>
 17             </tr>
 18             
 19             <tr>
 20             <td valign=top bgcolor=CCDDFF><b>2005-1-21</b></td>
 21             <td align=center valign=top bgcolor=DDFFCC>1%</td>
 22 rizwank 1.1 <td bgcolor=FFFFCC><ul><li>  Initial schedule</li>
 23             				 <li>Submit progress report to TA.</li></ul></td>
 24             </tr>
 25             
 26             
 27             
 28             <tr>
 29             <td valign=top bgcolor=CCDDFF><b>2005-2-2</b></td>
 30             <td align=center valign=top bgcolor=DDFFCC>5%</td>
 31             <td bgcolor=FFFFCC><ul><li>  Finish project 2</li>
 32             				 <li>Research DLLs and choose one.</li></ul></td>
 33             </tr>
 34             
 35             <tr>
 36             <td valign=top bgcolor=CCDDFF><b>2005-2-11</b></td>
 37             <td align=center valign=top bgcolor=DDFFCC>7%</td>
 38             <td bgcolor=FFFFCC><ul><li>  Design winsock conformance test.</li>
 39             				 <li>Determine common uses of DLL and pick 2-3 functions to test.</li>
 40             				 <li>Come up as many test cases as possible.</li></ul></td>
 41             </tr>
 42             
 43 rizwank 1.1 <tr>
 44             <td valign=top bgcolor=CCDDFF><b>2005-2-18</b></td>
 45             <td align=center valign=top bgcolor=DDFFCC>6%</td>
 46             <td bgcolor=FFFFCC><ul><li>  Get the expected results.</li>
 47             				 <li>Develop wine32 app with test cases and run it on Windows XP.</li>
 48             				 <li>Record all the outputs.</li></ul></td>
 49             </tr>
 50             
 51             <tr>
 52             <td valign=top bgcolor=CCDDFF><b>2005-2-25</b></td>
 53             <td align=center valign=top bgcolor=DDFFCC>7%</td>
 54             <td bgcolor=FFFFCC><ul><li>  Run tests on Linux.</li>
 55             				 <li>Run the same tests on Linux.</li>
 56             				 <li>Compare the outputs.</li></ul></td>
 57             </tr>
 58             
 59             <tr>
 60             <td valign=top bgcolor=CCDDFF><b>2005-3-4</b></td>
 61             <td align=center valign=top bgcolor=DDFFCC>3%</td>
 62             <td bgcolor=FFFFCC><ul><li>  Submit conformance test and bug report to wineHQ.</li>
 63             				 <li>Add more test cases if necessary and resubmit.</li></ul></td>
 64 rizwank 1.1 </tr>
 65             
 66             <tr>
 67             <td valign=top bgcolor=CCDDFF><b>2005-3-17</b></td>
 68             <td align=center valign=top bgcolor=DDFFCC>7%</td>
 69             <td bgcolor=FFFFCC><ul><li>  Winsock conformance test demo.</li>
 70             			  <li>Conformance test accepted into wineHQ CVS.</li></ul></td>
 71             </tr>
 72             
 73             </table>
 74             
 75             
 76             <h2> Incremental Progress </h2>
 77             <strong>2005-01-19:</strong>
 78             <ul>
 79             <li> Installed Fedora Core 3 on a desktop and laptop
 80             </li>
 81             <li> Downloaded, Installed, and Built WINE
 82             </li>
 83             <li> Successfully ran notepad.exe.so
 84             </li>
 85 rizwank 1.1 </ul>
 86             
 87             <strong>2005-01-20:</strong>
 88             <ul><li>  Began initial stages of Project 2</li>
 89             				 <li>Ran conformance test suite under WINE.</li>
 90             				 <li>Got more errors and "Test failed" cases than expected - debugging.</li>
 91             </ul>
 92             
 93             <strong>2005-01-21:</strong>
 94             <ul><li>  Created initial schedule</li>
 95             				 <li>Submitted progress report to TA.</li></ul>
 96             
 97             <p />
 98             <strong>2005-01-28:</strong>
 99             <ul>
100             <li>Researched DLLs and chose Winsock DLL.
101             </li>
102             <li>Chose single thread, non-blocking I/O
103             </li>
104             </uL>
105             
106 rizwank 1.1 <p />
107             <strong>2005-02-03:</strong>
108             <ul>
109             <li> Ran conformance test. Didn't get the same results as Dan, but the errors seem to be unrelated to what we're doing. Here's the output of 'grep "Test failed" log | sed 's/:.*//' | uniq -c | sort':
110             </li>
111             <pre>
112             	  13 generated.c
113             		1 url.c
114             		2 typelib.c
115             		3 file.c
116             </pre>
117             <li> Logfile for conformance test (laptop):
118             <a href="http://www.seas.ucla.edu/~marvin/log">conformance log</a>
119             </li>
120             </ul>
121             
122             <strong>2005-02-11:</strong>
123             <ul>
124              
125             <li>Decided on which Winsock APIs to test.  We are using the
126               following functions because they are fundamental for creating
127 rizwank 1.1   the client/server Winsock model.  We may decide to expand to 
128               more interesting fucntions if we get a chance.  We will be using
129               multi-threaded asynchronous connection using these APIs.
130             </li>
131             <pre>
132             	- int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData );
133             	- SOCKET socket( int af, int type, int protocol );
134             	- int bind( SOCKET s, const struct sockaddr* name, int namelen );
135             	- int listen( SOCKET s, int backlog );
136             	- SOCKET accept( SOCKET s, struct sockaddr* addr, int* addrlen );
137             	- int connect( SOCKET s, const struct sockaddr* name, int namelen );
138             	- int send( SOCKET s, const char* buf, int len, int flags );
139             	- int recv( SOCKET s, char* buf, int len, int flags );
140             </pre>
141             
142             
143             <li>
144             Test cases for WSAStartup():
145             
146             <pre>
147             1. Request the following Winsock versions for WORD wVersionRequested:
148 rizwank 1.1 	a. 1.0
149             	b. 1.1
150             	c. 2.0
151             	
152             	Using the different combinations, generate the error code 
153             WSAVERNOTSUPPORTED, and proper version requests.
154             
155             2. Pass in a bad pointer for lpWSAData, and generate WSAEFAULT error.
156             3. Remove the Windows Sockets DLL file to attempt to generate the
157             	WSASYSNOTREADY error.
158             4. Instantiate two network operations to generate WSAEINPROGRESS
159             	error and possibly the WSAEPROCLIM error.
160             5. Record multiple successful calls and verify return code 0.
161             </pre>
162             </li>
163             
164             
165             
166             <li>
167             Test cases for socket():
168             <pre>
169 rizwank 1.1   1 Success  - return socket descriptor(no way to verify except that
170             	 it's != INVALID_SOCKET)
171             	  a. TCP
172             	  b. UDP
173               2. Fail  - return INVALID_SOCKET 
174             	  a. WAStartup was not called(or failed)
175             	  b. invalid address
176             	  c. no more socket descriptors(will try to implement but may not
177             		  be able to)
178             	  d. no more buffer(same as above)
179             	  e. invalid protocol
180             </pre>
181             </li>
182             
183             
184             <li>
185             Test cases for bind():
186             <pre>
187               1. Successful Bind
188             		a. TCP
189             		b. UDP
190 rizwank 1.1   2. Error
191             		a. return SOCKET_ERROR
192             			i.	invalud SOCKET descriptor
193             			ii.  invalid sockaddr struct
194             			iii. invalid namelen
195             			iv. unsuccessful WAStartup called
196             			v.  tried to open UDP when SO_BROADCAST is not enabled
197             			vi. address is already bound to another process
198             			vii. invalud address
199             			viii. socket already bound to another address
200             			ix.  too many connections/not enough buffer -> not sure if this can be done yet
201             </pre>
202             </li>
203             
204             
205             <li>
206             Test cases for listen():
207             <pre>
208               1 success - return 0
209             	  a. TCP
210             	  b. UDP
211 rizwank 1.1   2. fail - return SOCKET_ERROR
212             	  a. WAStartup not called successfully
213             	  b. socket's local address is already in use
214             	  c. socket not bound with bind()
215             	  d. socket is already connected
216             	  e. no more socket descriptors available
217             	  f.  No more buffer space
218             	  g. invalid descriptor
219             </pre>
220             </li>
221             
222             
223             <li>
224             Test cases for accept():
225             <pre>
226             1. Success - returns a value of type SOCKET (descriptor for new socket)
227             	  a. TCP
228             	  b. UDP
229             2. Failure - returns a value of INVALID_SOCKET
230             	  a. Call before initialization, generating WSANOTINITIALISED error.
231             	  b. Use a small addrlen for WSAEFAULT error.
232 rizwank 1.1 	  c. Call during a blocking sockets call to get WSAEINTR error.
233             	  d. Simulate network failure to get WSAENETDOWN error.
234             	  e. Use an invalid socket to generate WSAEOPNOTSUPP error.
235             	  f. Flood the buffer to generate WSAENOBUFS error.
236             </pre>
237             </li>
238             
239             
240             <li>
241             Test cases for connect():
242             <pre>
243               1. Success - 0 returned
244             	  a. TCP
245             	  b. UDP
246               2. Fail - SOCKET_ERROR returned
247             	  a. WAStartup not called successfully
248             	  b. socket's local address already in use
249             	  c. invalid address
250             	  d. invalud namelen
251             	  e. socket parameter is a listening socket
252             	  f. socket already connected
253 rizwank 1.1 	  g. no buffer space
254             	  h. invalid descriptor
255             </pre>
256             </li>
257             
258             
259             
260             
261             
262             
263             
264             
265             <li>
266             Test cases for send():
267             <pre>
268             1. Success - returns number of bytes received(!= SOCKET_ERROR)
269             	  a. TCP
270             	  b. UDP
271             2. Failure 
272             	  a. Pass invalid socket descriptor to generate WSAENOTSOCK error.
273             	  b. Call the fucntion before initialization to generate WSANOTINITIALIZED.
274 rizwank 1.1 	  c. Create an extremely large input buffer to generate WSAEMSGIZE error.
275             	  d. Simulate network failure for errors WSAENETDOWN, WSAECONNRESET, WSETIMEDOUT
276             	  e. Call during blocking Windows call in progress to get WSAEINPROGRESS.
277             </pre>
278             </li>
279             
280             
281             <li>
282             Test cases for recv():
283             <pre>
284               1. Success - returns number of bytes received(!= SOCKET_ERROR)
285             	  a. TCP
286             	  b. UDP
287               for each try to test cases where you get 0 byte(connection closed) and non-0 bytes received
288               2. Fail - returns SOCKET_ERROR
289             	  a.  WAStartup was not called successfullly
290             	  b.  socket not connected
291             	  c.  buf not allocated properly
292             	  d.  invalid descriptor
293             	  e.  socket was marked 'non-blocking' even though recv() will block 
294             	  f.	message was too large(truncated)
295 rizwank 1.1 	  g.  bind was not successfully called earlier
296             </pre>
297             </li>
298             
299             
300             
301             
302             
303             </ul>
304             
305             <h2> Grade Spreadsheet </h2>
306             	
307             	* [[%ATTACHURL%/wine1_status.xls][wine1_status.xls]]: WINE 1 - Grade File
308             
309             %META:FILEATTACHMENT{name="wine1_status.xls" attr="" comment="WINE 1 - Grade File" date="1108186049" path="C:\Documents and Settings\Mogs\Desktop\wine1_status.xls" size="15360" user="MarvChiang" version="1.2"}%

Rizwan Kassim
Powered by
ViewCVS 0.9.2