ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

WinsockEvent.c
Go to the documentation of this file.
00001 #include <windows.h>
00002 #include <winsock2.h>
00003 #include "regtests.h"
00004 
00005 #define TestHandle (HANDLE) 1
00006 
00007 static BOOL CloseHandleSuccessCalled = FALSE;
00008 
00009 static BOOL WINAPI
00010 MockCloseHandleSuccess(HANDLE hObject)
00011 {
00012   CloseHandleSuccessCalled = TRUE;
00013   _AssertEqualValue(TestHandle, hObject);
00014   return TRUE;
00015 }
00016 
00017 static HOOK HooksSuccess[] =
00018 {
00019   {"CloseHandle", MockCloseHandleSuccess},
00020   {NULL, NULL}
00021 };
00022 
00023 static void
00024 TestWSACloseEventSuccess()
00025 {
00026   BOOL result;
00027 
00028   _SetHooks(HooksSuccess);
00029   result = WSACloseEvent(TestHandle);
00030   _AssertTrue(result);
00031   _AssertEqualValue(NO_ERROR, WSAGetLastError());
00032   _AssertTrue(CloseHandleSuccessCalled);
00033   _UnsetAllHooks();
00034 }
00035 
00036 
00037 static BOOL CloseHandleFailureCalled = FALSE;
00038 
00039 static BOOL WINAPI
00040 MockCloseHandleFailure(HANDLE hObject)
00041 {
00042   CloseHandleFailureCalled = TRUE;
00043   return FALSE;
00044 }
00045 
00046 static HOOK HooksFailure[] =
00047 {
00048   {"CloseHandle", MockCloseHandleFailure},
00049   {NULL, NULL}
00050 };
00051 
00052 static void
00053 TestWSACloseEventFailure()
00054 {
00055   BOOL result;
00056 
00057   _SetHooks(HooksFailure);
00058   result = WSACloseEvent(TestHandle);
00059   _AssertFalse(result);
00060   _AssertEqualValue(WSA_INVALID_HANDLE, WSAGetLastError());
00061   _AssertTrue(CloseHandleFailureCalled);
00062   _UnsetAllHooks();
00063 }
00064 
00065 
00066 static void
00067 TestWSACloseEvent()
00068 {
00069   TestWSACloseEventSuccess();
00070   TestWSACloseEventFailure();
00071 }
00072 
00073 static void
00074 RunTest()
00075 {
00076   WSADATA WSAData;
00077 
00078   WSAStartup(MAKEWORD(2, 0), &WSAData);
00079   TestWSACloseEvent();
00080   WSACleanup();
00081 }
00082 
00083 _Dispatcher(WinsockeventTest, "Winsock 2 event")

Generated on Sun May 27 2012 04:27:08 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.