Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > DoxygenWinsockEvent.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
1.7.6.1
|