mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 01:39:30 +00:00
Prepare win32k for tests
svn path=/trunk/; revision=16022
This commit is contained in:
parent
fbf52b7050
commit
37e38723e7
14 changed files with 281 additions and 174 deletions
|
@ -1,8 +1,10 @@
|
|||
<module name="kernel32_test" type="test">
|
||||
<include base="rtshared">.</include>
|
||||
<define name="__USE_W32API" />
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_SEH_NO_NATIVE_NLG" />
|
||||
<define name="__USE_W32API" />
|
||||
<define name="_WIN32_WINNT">0x0502</define>
|
||||
<define name="__NO_CTYPE_INLINES" />
|
||||
<define name="WINVER">0x0500</define>
|
||||
<library>rtshared</library>
|
||||
<library>regtests</library>
|
||||
|
|
|
@ -1,133 +0,0 @@
|
|||
ntdll.dll CsrCaptureParameterBuffer@16
|
||||
ntdll.dll CsrClientCallServer@16
|
||||
ntdll.dll CsrClientConnectToServer@0
|
||||
ntdll.dll CsrReleaseParameterBuffer@4
|
||||
ntdll.dll DbgUiContinue@8
|
||||
ntdll.dll HeapAlloc@12=RtlAllocateHeap
|
||||
ntdll.dll HeapFree@12=RtlFreeHeap
|
||||
ntdll.dll LdrAccessResource@16
|
||||
ntdll.dll LdrDisableThreadCalloutsForDll@4
|
||||
ntdll.dll LdrFindResource_U@16
|
||||
ntdll.dll LdrLoadDll@16
|
||||
ntdll.dll LdrShutdownProcess@0
|
||||
ntdll.dll LdrShutdownThread@0
|
||||
ntdll.dll LdrUnloadDll@4
|
||||
ntdll.dll NtAllocateVirtualMemory@24
|
||||
ntdll.dll NtClose@4
|
||||
ntdll.dll NtCreateDirectoryObject@12
|
||||
ntdll.dll NtCreateEvent@20
|
||||
ntdll.dll NtCreateFile@44
|
||||
ntdll.dll NtCreateKey@28
|
||||
ntdll.dll NtCreateProcess@32
|
||||
ntdll.dll NtCreateSection@28
|
||||
ntdll.dll NtDelayExecution@8
|
||||
ntdll.dll NtDeviceIoControlFile@40
|
||||
ntdll.dll _imp__NtDuplicateObject@28
|
||||
ntdll.dll NtFlushBuffersFile@8
|
||||
ntdll.dll NtFlushInstructionCache@12
|
||||
ntdll.dll NtFlushVirtualMemory@16
|
||||
ntdll.dll NtFreeVirtualMemory@16
|
||||
ntdll.dll NtFsControlFile@40
|
||||
ntdll.dll NtGetContextThread@8
|
||||
ntdll.dll NtLockVirtualMemory@16
|
||||
ntdll.dll NtOpenDirectoryObject@12
|
||||
ntdll.dll NtOpenEvent@12
|
||||
ntdll.dll NtOpenFile@24
|
||||
ntdll.dll NtOpenKey@12
|
||||
ntdll.dll NtOpenProcess@16
|
||||
ntdll.dll NtOpenSection@12
|
||||
ntdll.dll NtOpenThread@16
|
||||
ntdll.dll NtProtectVirtualMemory@20
|
||||
ntdll.dll NtPulseEvent@8
|
||||
ntdll.dll NtQueryDefaultLocale@8
|
||||
ntdll.dll NtQueryDefaultUILanguage@4
|
||||
ntdll.dll NtQueryDirectoryFile@44
|
||||
ntdll.dll NtQueryInformationFile@20
|
||||
ntdll.dll _imp__NtQueryInformationProcess@20
|
||||
ntdll.dll NtQueryInformationThread@20
|
||||
ntdll.dll NtQueryObject@20
|
||||
ntdll.dll NtQuerySystemInformation@16
|
||||
ntdll.dll NtQuerySystemTime@4
|
||||
ntdll.dll NtQueryValueKey@24
|
||||
ntdll.dll NtQueryVirtualMemory@24
|
||||
ntdll.dll NtQueryVolumeInformationFile@20
|
||||
ntdll.dll NtReadFile@36
|
||||
ntdll.dll NtReadVirtualMemory@20
|
||||
ntdll.dll NtResetEvent@8
|
||||
ntdll.dll NtResumeThread@8
|
||||
ntdll.dll NtSetContextThread@8
|
||||
ntdll.dll NtSetEvent@8
|
||||
ntdll.dll NtSetInformationFile@20
|
||||
ntdll.dll NtSetInformationObject@16
|
||||
ntdll.dll _imp__NtSetInformationProcess@16
|
||||
ntdll.dll NtSetInformationThread@16
|
||||
ntdll.dll NtSetSystemInformation@12
|
||||
ntdll.dll NtSetSystemTime@8
|
||||
ntdll.dll NtSignalAndWaitForSingleObject@16
|
||||
ntdll.dll NtSuspendThread@8
|
||||
ntdll.dll NtTerminateThread@8
|
||||
ntdll.dll NtUnlockVirtualMemory@16
|
||||
ntdll.dll NtUnmapViewOfSection@8
|
||||
ntdll.dll NtWaitForMultipleObjects@20
|
||||
ntdll.dll NtWaitForSingleObject@12
|
||||
ntdll.dll NtWriteFile@36
|
||||
ntdll.dll NtWriteVirtualMemory@20
|
||||
ntdll.dll NtYieldExecution@0
|
||||
ntdll.dll RtlAcquirePebLock@0
|
||||
ntdll.dll RtlAnsiStringToUnicodeSize@4
|
||||
ntdll.dll _imp__RtlBaseProcessStartRoutine
|
||||
ntdll.dll RtlCompactHeap@8
|
||||
ntdll.dll RtlCopyUnicodeString@8
|
||||
ntdll.dll RtlCreateHeap@24
|
||||
ntdll.dll RtlCreateProcessParameters@40
|
||||
ntdll.dll RtlCreateUnicodeString@8
|
||||
ntdll.dll RtlCreateUnicodeStringFromAsciiz@8
|
||||
ntdll.dll RtlDeleteCriticalSection@4
|
||||
ntdll.dll RtlDestroyHeap@4
|
||||
ntdll.dll RtlDestroyProcessParameters@4
|
||||
ntdll.dll RtlDoesFileExists_U@4
|
||||
ntdll.dll RtlDosPathNameToNtPathName_U@16
|
||||
ntdll.dll RtlDosSearchPath_U@24
|
||||
ntdll.dll RtlEnterCriticalSection@4
|
||||
ntdll.dll RtlExpandEnvironmentStrings_U@16
|
||||
ntdll.dll RtlFreeHeap@12
|
||||
ntdll.dll RtlGetCurrentDirectory_U@8
|
||||
ntdll.dll RtlGetFullPathName_U@16
|
||||
ntdll.dll RtlGetProcessHeaps@8
|
||||
ntdll.dll RtlImageNtHeader@4
|
||||
ntdll.dll RtlInitCodePageTable@8
|
||||
ntdll.dll RtlInitializeCriticalSection@4
|
||||
ntdll.dll RtlInitUnicodeString@8
|
||||
ntdll.dll RtlIntegerToChar@16
|
||||
ntdll.dll RtlIntegerToUnicodeString@12
|
||||
ntdll.dll RtlIsNameLegalDOS8Dot3@12
|
||||
ntdll.dll RtlLeaveCriticalSection@4
|
||||
ntdll.dll RtlLockHeap@4
|
||||
ntdll.dll RtlNtStatusToDosError@4
|
||||
ntdll.dll RtlOemStringToUnicodeSize@4
|
||||
ntdll.dll RtlOemStringToUnicodeString@12
|
||||
ntdll.dll RtlOpenCurrentUser@8
|
||||
ntdll.dll RtlQueryEnvironmentVariable_U@12
|
||||
ntdll.dll RtlRaiseException@4
|
||||
ntdll.dll RtlReAllocateHeap@16
|
||||
ntdll.dll RtlReleasePebLock@0
|
||||
ntdll.dll RtlRosCreateUserThreadVa
|
||||
ntdll.dll RtlRosExitUserThread@4
|
||||
ntdll.dll RtlSetCurrentDirectory_U@4
|
||||
ntdll.dll RtlSetEnvironmentVariable@12
|
||||
ntdll.dll RtlSetTimeZoneInformation@4
|
||||
ntdll.dll RtlTimeFieldsToTime@8
|
||||
ntdll.dll RtlTimeToTimeFields@8
|
||||
ntdll.dll RtlUnicodeStringToAnsiSize@4
|
||||
ntdll.dll RtlUnicodeStringToAnsiString@12
|
||||
ntdll.dll RtlUnicodeStringToInteger@12
|
||||
ntdll.dll RtlUnicodeStringToOemString@12
|
||||
ntdll.dll RtlUnicodeToOemN@20
|
||||
ntdll.dll RtlUnlockHeap@4
|
||||
ntdll.dll RtlValidateHeap@12
|
||||
ntdll.dll ZwMapViewOfSection@40
|
||||
ntdll.dll ZwOpenSection@12
|
||||
ntdll.dll ZwQuerySection@20
|
||||
ntdll.dll ZwQuerySystemInformation@16
|
||||
ntdll.dll ZwReadFile@36
|
||||
ntdll.dll ZwTerminateProcess@8
|
|
@ -23,7 +23,7 @@
|
|||
<symbol>NtCreateSection@28</symbol>
|
||||
<symbol>NtDelayExecution@8</symbol>
|
||||
<symbol>NtDeviceIoControlFile@40</symbol>
|
||||
<symbol>_imp__NtDuplicateObject@28</symbol>
|
||||
<symbol>NtDuplicateObject@28</symbol>
|
||||
<symbol>NtFlushBuffersFile@8</symbol>
|
||||
<symbol>NtFlushInstructionCache@12</symbol>
|
||||
<symbol>NtFlushVirtualMemory@16</symbol>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<symbol>NtQueryDefaultUILanguage@4</symbol>
|
||||
<symbol>NtQueryDirectoryFile@44</symbol>
|
||||
<symbol>NtQueryInformationFile@20</symbol>
|
||||
<symbol>_imp__NtQueryInformationProcess@20</symbol>
|
||||
<symbol>NtQueryInformationProcess@20</symbol>
|
||||
<symbol>NtQueryInformationThread@20</symbol>
|
||||
<symbol>NtQueryObject@20</symbol>
|
||||
<symbol>NtQuerySystemInformation@16</symbol>
|
||||
|
@ -60,7 +60,7 @@
|
|||
<symbol>NtSetEvent@8</symbol>
|
||||
<symbol>NtSetInformationFile@20</symbol>
|
||||
<symbol>NtSetInformationObject@16</symbol>
|
||||
<symbol>_imp__NtSetInformationProcess@16</symbol>
|
||||
<symbol>NtSetInformationProcess@16</symbol>
|
||||
<symbol>NtSetInformationThread@16</symbol>
|
||||
<symbol>NtSetSystemInformation@12</symbol>
|
||||
<symbol>NtSetSystemTime@8</symbol>
|
||||
|
@ -76,7 +76,7 @@
|
|||
<symbol>NtYieldExecution@0</symbol>
|
||||
<symbol>RtlAcquirePebLock@0</symbol>
|
||||
<symbol>RtlAnsiStringToUnicodeSize@4</symbol>
|
||||
<symbol>_imp__RtlBaseProcessStartRoutine</symbol>
|
||||
<symbol>RtlBaseProcessStartRoutine</symbol>
|
||||
<symbol>RtlCompactHeap@8</symbol>
|
||||
<symbol>RtlCopyUnicodeString@8</symbol>
|
||||
<symbol>RtlCreateHeap@24</symbol>
|
||||
|
|
|
@ -90,7 +90,7 @@ MockNtCreateFile(PHANDLE FileHandle,
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static HOOK NtCreateFileHooks[] =
|
||||
static _HOOK NtCreateFileHooks[] =
|
||||
{
|
||||
{"NtCreateFile", MockNtCreateFile},
|
||||
{NULL, NULL}
|
||||
|
|
|
@ -86,3 +86,15 @@ _SetThreadPriority(HANDLE hThread, int nPriority)
|
|||
{
|
||||
return SetThreadPriority(hThread, nPriority);
|
||||
}
|
||||
|
||||
HANDLE STDCALL
|
||||
_GetCurrentProcess()
|
||||
{
|
||||
return GetCurrentProcess();
|
||||
}
|
||||
|
||||
HANDLE STDCALL
|
||||
_GetCurrentThread()
|
||||
{
|
||||
return GetCurrentThread();
|
||||
}
|
||||
|
|
|
@ -12,3 +12,5 @@ _CloseHandle@4
|
|||
_GetThreadTimes@20
|
||||
_SetPriorityClass@8
|
||||
_SetThreadPriority@8
|
||||
_GetCurrentProcess@0
|
||||
_GetCurrentThread@0
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
typedef struct _PERFORM_TEST_ARGS
|
||||
{
|
||||
TestOutputRoutine OutputRoutine;
|
||||
PROS_TEST Test;
|
||||
_PTEST Test;
|
||||
LPSTR TestName;
|
||||
} PERFORM_TEST_ARGS;
|
||||
|
||||
|
@ -53,7 +53,7 @@ PerformTest(PVOID _arg)
|
|||
{
|
||||
PERFORM_TEST_ARGS *Args = (PERFORM_TEST_ARGS *)_arg;
|
||||
TestOutputRoutine OutputRoutine = Args->OutputRoutine;
|
||||
PROS_TEST Test = Args->Test;
|
||||
_PTEST Test = Args->Test;
|
||||
LPSTR TestName = Args->TestName;
|
||||
HANDLE hThread;
|
||||
FILETIME time;
|
||||
|
@ -62,7 +62,7 @@ PerformTest(PVOID _arg)
|
|||
char Buffer[5000];
|
||||
char Format[100];
|
||||
|
||||
hThread = GetCurrentThread();
|
||||
hThread = _GetCurrentThread();
|
||||
_SetThreadPriority(hThread, THREAD_PRIORITY_IDLE);
|
||||
|
||||
memset(Buffer, 0, sizeof(Buffer));
|
||||
|
@ -84,8 +84,8 @@ PerformTest(PVOID _arg)
|
|||
&time,
|
||||
&ExecutionTime))
|
||||
{
|
||||
ExecutionTime.dwLowDateTime = 10;
|
||||
ExecutionTime.dwHighDateTime = 10;
|
||||
ExecutionTime.dwLowDateTime = 0;
|
||||
ExecutionTime.dwHighDateTime = 0;
|
||||
}
|
||||
sprintf(OutputBuffer,
|
||||
"[%s] Success [%s]\n",
|
||||
|
@ -108,7 +108,7 @@ PerformTests(TestOutputRoutine OutputRoutine, LPSTR TestName)
|
|||
{
|
||||
PLIST_ENTRY CurrentEntry;
|
||||
PLIST_ENTRY NextEntry;
|
||||
PROS_TEST Current;
|
||||
_PTEST Current;
|
||||
PERFORM_TEST_ARGS Args;
|
||||
HANDLE hThread;
|
||||
char OutputBuffer[1024];
|
||||
|
@ -122,7 +122,7 @@ PerformTests(TestOutputRoutine OutputRoutine, LPSTR TestName)
|
|||
for (; CurrentEntry != &AllTests; CurrentEntry = NextEntry)
|
||||
{
|
||||
NextEntry = CurrentEntry->Flink;
|
||||
Current = CONTAINING_RECORD(CurrentEntry, ROS_TEST, ListEntry);
|
||||
Current = CONTAINING_RECORD(CurrentEntry, _TEST, ListEntry);
|
||||
Args.Test = Current;
|
||||
|
||||
/* Get name of test */
|
||||
|
@ -181,9 +181,9 @@ PerformTests(TestOutputRoutine OutputRoutine, LPSTR TestName)
|
|||
VOID
|
||||
AddTest(TestRoutine Routine)
|
||||
{
|
||||
PROS_TEST Test;
|
||||
_PTEST Test;
|
||||
|
||||
Test = (PROS_TEST) malloc(sizeof(ROS_TEST));
|
||||
Test = (_PTEST) malloc(sizeof(_TEST));
|
||||
if (Test == NULL)
|
||||
{
|
||||
DbgPrint("Out of memory");
|
||||
|
|
|
@ -141,27 +141,27 @@ typedef void (*TestOutputRoutine)(char *Buffer);
|
|||
*/
|
||||
typedef void STDCALL (*TestDriverMain)(TestOutputRoutine OutputRoutine, char *TestName);
|
||||
|
||||
typedef struct _ROS_TEST
|
||||
typedef struct __TEST
|
||||
{
|
||||
LIST_ENTRY ListEntry;
|
||||
TestRoutine Routine;
|
||||
} ROS_TEST, *PROS_TEST;
|
||||
} _TEST, *_PTEST;
|
||||
|
||||
extern VOID InitializeTests();
|
||||
extern VOID RegisterTests();
|
||||
extern VOID PerformTests(TestOutputRoutine OutputRoutine, LPSTR TestName);
|
||||
|
||||
|
||||
typedef struct _API_DESCRIPTION
|
||||
typedef struct __API_DESCRIPTION
|
||||
{
|
||||
PCHAR FileName;
|
||||
PCHAR FunctionName;
|
||||
PCHAR ForwardedFunctionName;
|
||||
PVOID FunctionAddress;
|
||||
PVOID MockFunctionAddress;
|
||||
} API_DESCRIPTION, *PAPI_DESCRIPTION;
|
||||
} _API_DESCRIPTION, *_PAPI_DESCRIPTION;
|
||||
|
||||
extern API_DESCRIPTION ExternalDependencies[];
|
||||
extern _API_DESCRIPTION ExternalDependencies[];
|
||||
extern ULONG MaxExternalDependency;
|
||||
|
||||
HANDLE STDCALL
|
||||
|
@ -205,9 +205,15 @@ _SetPriorityClass(HANDLE hProcess, DWORD dwPriorityClass);
|
|||
BOOL STDCALL
|
||||
_SetThreadPriority(HANDLE hThread, int nPriority);
|
||||
|
||||
HANDLE STDCALL
|
||||
_GetCurrentProcess();
|
||||
|
||||
HANDLE STDCALL
|
||||
_GetCurrentThread();
|
||||
|
||||
|
||||
static inline PCHAR
|
||||
FrameworkGetExportedFunctionNameInternal(PAPI_DESCRIPTION ApiDescription)
|
||||
FrameworkGetExportedFunctionNameInternal(_PAPI_DESCRIPTION ApiDescription)
|
||||
{
|
||||
if (ApiDescription->ForwardedFunctionName != NULL)
|
||||
{
|
||||
|
@ -220,7 +226,7 @@ FrameworkGetExportedFunctionNameInternal(PAPI_DESCRIPTION ApiDescription)
|
|||
}
|
||||
|
||||
static inline PVOID
|
||||
FrameworkGetFunction(PAPI_DESCRIPTION ApiDescription)
|
||||
FrameworkGetFunction(_PAPI_DESCRIPTION ApiDescription)
|
||||
{
|
||||
HANDLE hModule;
|
||||
PVOID function = NULL;
|
||||
|
@ -284,7 +290,7 @@ static inline VOID
|
|||
_SetHook(PCHAR name,
|
||||
PVOID address)
|
||||
{
|
||||
PAPI_DESCRIPTION api;
|
||||
_PAPI_DESCRIPTION api;
|
||||
ULONG index;
|
||||
|
||||
for (index = 0; index <= MaxExternalDependency; index++)
|
||||
|
@ -298,16 +304,16 @@ _SetHook(PCHAR name,
|
|||
}
|
||||
}
|
||||
|
||||
typedef struct _HOOK
|
||||
typedef struct __HOOK
|
||||
{
|
||||
PCHAR FunctionName;
|
||||
PVOID FunctionAddress;
|
||||
} HOOK, *PHOOK;
|
||||
} _HOOK, *_PHOOK;
|
||||
|
||||
static inline VOID
|
||||
_SetHooks(PHOOK hookTable)
|
||||
_SetHooks(_PHOOK hookTable)
|
||||
{
|
||||
PHOOK hook;
|
||||
_PHOOK hook;
|
||||
|
||||
hook = &hookTable[0];
|
||||
while (hook->FunctionName != NULL)
|
||||
|
@ -319,9 +325,9 @@ _SetHooks(PHOOK hookTable)
|
|||
}
|
||||
|
||||
static inline VOID
|
||||
_UnsetHooks(PHOOK hookTable)
|
||||
_UnsetHooks(_PHOOK hookTable)
|
||||
{
|
||||
PHOOK hook;
|
||||
_PHOOK hook;
|
||||
|
||||
hook = &hookTable[0];
|
||||
while (hook->FunctionName != NULL)
|
||||
|
@ -335,7 +341,7 @@ _UnsetHooks(PHOOK hookTable)
|
|||
static inline VOID
|
||||
_UnsetAllHooks()
|
||||
{
|
||||
PAPI_DESCRIPTION api;
|
||||
_PAPI_DESCRIPTION api;
|
||||
ULONG index;
|
||||
|
||||
for (index = 0; index <= MaxExternalDependency; index++)
|
||||
|
|
154
reactos/subsys/win32k/tests/stubs.xml
Normal file
154
reactos/subsys/win32k/tests/stubs.xml
Normal file
|
@ -0,0 +1,154 @@
|
|||
<component name="ntdll.dll">
|
||||
<symbol>DbgPrint</symbol>
|
||||
<symbol>RtlAssert@16</symbol>
|
||||
<symbol>ZwAllocateVirtualMemory@24</symbol>
|
||||
<symbol>RtlImageDirectoryEntryToData@16</symbol>
|
||||
<symbol>RtlInitAnsiString@8</symbol>
|
||||
<symbol>RtlInitUnicodeString@8</symbol>
|
||||
<symbol>NtClose@4</symbol>
|
||||
<symbol>ZwOpenFile@24</symbol>
|
||||
<symbol>ZwClose@4</symbol>
|
||||
<symbol>RtlNtStatusToDosError@4</symbol>
|
||||
<symbol>NtW32Call@20</symbol>
|
||||
<symbol>ZwOpenKey@12</symbol>
|
||||
<symbol>ZwQueryValueKey@24</symbol>
|
||||
<symbol>RtlUnicodeStringToInteger@12</symbol>
|
||||
<symbol>RtlQueryAtomInAtomTable@24</symbol>
|
||||
<symbol>RtlDeleteAtomFromAtomTable@8</symbol>
|
||||
<symbol>RtlCopyUnicodeString@8</symbol>
|
||||
<symbol>ZwRequestWaitReplyPort@12</symbol>
|
||||
<symbol>ZwDuplicateObject@28</symbol>
|
||||
<symbol>ZwSetSystemInformation@12</symbol>
|
||||
<symbol>RtlLookupAtomInAtomTable@12</symbol>
|
||||
<symbol>RtlAddAtomToAtomTable@12</symbol>
|
||||
<symbol>RtlFreeUnicodeString@4</symbol>
|
||||
<symbol>ZwConnectPort@32</symbol>
|
||||
<symbol>ZwOpenProcess@16</symbol>
|
||||
<symbol>RtlCreateUnicodeString@8</symbol>
|
||||
<symbol>RtlQueryRegistryValues@20</symbol>
|
||||
<symbol>RtlGetVersion@4</symbol>
|
||||
<symbol>NtOpenFile@24</symbol>
|
||||
<symbol>NtReadFile@36</symbol>
|
||||
<symbol>NtWaitForSingleObject@12</symbol>
|
||||
<symbol>NtDeviceIoControlFile@40</symbol>
|
||||
<symbol>NtAlertThread@4</symbol>
|
||||
<symbol>ZwQueryDefaultLocale@8</symbol>
|
||||
<symbol>ZwFreeVirtualMemory@16</symbol>
|
||||
<symbol>RtlFindClearBitsAndSet@12</symbol>
|
||||
<symbol>ZwReadFile@36</symbol>
|
||||
<symbol>RtlAnsiStringToUnicodeString@12</symbol>
|
||||
<symbol>RtlCompareUnicodeString@12</symbol>
|
||||
<symbol>ZwCreateDirectoryObject@12</symbol>
|
||||
<symbol>RtlCreateAtomTable@8</symbol>
|
||||
<symbol>RtlDestroyAtomTable@4</symbol>
|
||||
<symbol>ZwOpenDirectoryObject@12</symbol>
|
||||
<symbol>ZwQueryDirectoryObject@28</symbol>
|
||||
<symbol>RtlAppendUnicodeToString@8</symbol>
|
||||
<symbol>ZwCreateEvent@20</symbol>
|
||||
<symbol>RtlAreBitsSet@12</symbol>
|
||||
<symbol>RtlClearBits@12</symbol>
|
||||
<symbol>RtlInitializeBitMap@12</symbol>
|
||||
<symbol>RtlClearAllBits@4</symbol>
|
||||
<symbol>RtlAppendUnicodeStringToString@8</symbol>
|
||||
<symbol>ZwSetValueKey@24</symbol>
|
||||
<symbol>ZwQueryDirectoryFile@44</symbol>
|
||||
<symbol>RtlUnwind@16</symbol>
|
||||
<symbol>NtQueryInformationFile@20</symbol>
|
||||
</component>
|
||||
<component name="ntoskrnl.exe">
|
||||
<symbol>ExAllocatePool@8</symbol>
|
||||
<symbol>ExFreePool@4</symbol>
|
||||
<symbol>ExAllocatePoolWithTag@12</symbol>
|
||||
<symbol>IoBuildDeviceIoControlRequest@36</symbol>
|
||||
<symbol>@IofCallDriver@8</symbol>
|
||||
<symbol>KeWaitForSingleObject@20</symbol>
|
||||
<symbol>@ExAcquireFastMutex@4</symbol>
|
||||
<symbol>PsGetWin32Process@0</symbol>
|
||||
<symbol>@ExReleaseFastMutex@4</symbol>
|
||||
<symbol>@ExTryToAcquireFastMutex@4</symbol>
|
||||
<symbol>KeInitializeEvent@12</symbol>
|
||||
<symbol>ExEventObjectType</symbol>
|
||||
<symbol>ObReferenceObjectByHandle@24</symbol>
|
||||
<symbol>KeSetEvent@12</symbol>
|
||||
<symbol>@ObfDereferenceObject@4</symbol>
|
||||
<symbol>KeRestoreFloatingPointState@4</symbol>
|
||||
<symbol>KeSaveFloatingPointState@4</symbol>
|
||||
<symbol>MmSecureVirtualMemory@12</symbol>
|
||||
<symbol>MmUnsecureVirtualMemory@4</symbol>
|
||||
<symbol>IoGetCurrentProcess@0</symbol>
|
||||
<symbol>KeQueryPerformanceCounter@4</symbol>
|
||||
<symbol>ExInitializeResourceLite@4</symbol>
|
||||
<symbol>ExAcquireResourceExclusiveLite@8</symbol>
|
||||
<symbol>KeGetCurrentThread@0</symbol>
|
||||
<symbol>PsGetCurrentProcessId@0</symbol>
|
||||
<symbol>@InterlockedDecrement@4</symbol>
|
||||
<symbol>@InterlockedExchange@8</symbol>
|
||||
<symbol>KeBugCheck@4</symbol>
|
||||
<symbol>ExDesktopObjectType</symbol>
|
||||
<symbol>PsEstablishWin32Callouts@24</symbol>
|
||||
<symbol>MmUnmapViewInSystemSpace@4</symbol>
|
||||
<symbol>MmCreateSection@32</symbol>
|
||||
<symbol>MmMapViewInSystemSpace@12</symbol>
|
||||
<symbol>MmCopyToCaller@12</symbol>
|
||||
<symbol>PsGetWin32Thread@0</symbol>
|
||||
<symbol>KeDetachProcess@0</symbol>
|
||||
<symbol>ExInitializePagedLookasideList@28</symbol>
|
||||
<symbol>@InterlockedPushEntrySList@8</symbol>
|
||||
<symbol>ExInterlockedInsertTailList@12</symbol>
|
||||
<symbol>KeReleaseSpinLock@8</symbol>
|
||||
<symbol>ObOpenObjectByName@28</symbol>
|
||||
<symbol>ObOpenObjectByPointer@28</symbol>
|
||||
<symbol>KeAcquireSpinLock@8</symbol>
|
||||
<symbol>ExGetPreviousMode@0</symbol>
|
||||
<symbol>PsGetCurrentThreadId@0</symbol>
|
||||
<symbol>@ExReleaseResourceLite@4</symbol>
|
||||
<symbol>ExIsResourceAcquiredExclusiveLite@</symbol>
|
||||
<symbol>@InterlockedIncrement@4</symbol>
|
||||
<symbol>@InterlockedCompareExchange@12</symbol>
|
||||
<symbol>KeAddSystemServiceTable@20</symbol>
|
||||
<symbol>IoFileObjectType</symbol>
|
||||
<symbol>ObReferenceObjectByPointer@16</symbol>
|
||||
<symbol>MmUnmapViewOfSection@8</symbol>
|
||||
<symbol>MmCopyFromCaller@12</symbol>
|
||||
<symbol>KiKernelApcDeliveryCheck@0</symbol>
|
||||
<symbol>ExIsResourceAcquiredExclusiveLite@4</symbol>
|
||||
<symbol>MmMapViewOfSection@40</symbol>
|
||||
<symbol>KeAttachProcess@4</symbol>
|
||||
<symbol>@InterlockedPopEntrySList@4</symbol>
|
||||
<symbol>ExWindowStationObjectType</symbol>
|
||||
<symbol>ObInsertObject@24</symbol>
|
||||
<symbol>KeInitializeSpinLock@4</symbol>
|
||||
<symbol>PsThreadType</symbol>
|
||||
<symbol>PsCreateSystemThread@28</symbol>
|
||||
<symbol>KeQueryTickCount@4</symbol>
|
||||
<symbol>PsLookupThreadByThreadId@8</symbol>
|
||||
<symbol>KeInitializeMutex@8</symbol>
|
||||
<symbol>KeWaitForMutexObject@20</symbol>
|
||||
<symbol>KeReleaseMutex@8</symbol>
|
||||
<symbol>KeDelayExecutionThread@12</symbol>
|
||||
<symbol>PsGetProcessId@4</symbol>
|
||||
<symbol>ObCreateObject@36</symbol>
|
||||
<symbol>KeClearEvent@4</symbol>
|
||||
<symbol>PsLookupProcessByProcessId@8</symbol>
|
||||
<symbol>PsProcessType</symbol>
|
||||
<symbol>KeWaitForMultipleObjects@32</symbol>
|
||||
<symbol>KeQuerySystemTime@4</symbol>
|
||||
<symbol>ObReferenceObjectByName@32</symbol>
|
||||
<symbol>HalQueryDisplayOwnership@0</symbol>
|
||||
<symbol>IoDeviceObjectType</symbol>
|
||||
</component>
|
||||
<component name="freetype.dll">
|
||||
<symbol>FT_Init_FreeType</symbol>
|
||||
<symbol>FT_New_Memory_Face</symbol>
|
||||
<symbol>FT_Done_Face</symbol>
|
||||
<symbol>FT_MulFix</symbol>
|
||||
<symbol>FT_Get_Sfnt_Table</symbol>
|
||||
<symbol>FT_Get_First_Char</symbol>
|
||||
<symbol>FT_Set_Pixel_Sizes</symbol>
|
||||
<symbol>FT_Get_Char_Index</symbol>
|
||||
<symbol>FT_Load_Glyph</symbol>
|
||||
<symbol>FT_Get_Kerning</symbol>
|
||||
<symbol>FT_Render_Glyph</symbol>
|
||||
<symbol>FT_Set_Charmap</symbol>
|
||||
<symbol>FT_Load_Sfnt_Table</symbol>
|
||||
</component>
|
25
reactos/subsys/win32k/tests/win32k.xml
Normal file
25
reactos/subsys/win32k/tests/win32k.xml
Normal file
|
@ -0,0 +1,25 @@
|
|||
<module name="win32k_test" type="test">
|
||||
<include base="rtshared">.</include>
|
||||
<include base="win32k">.</include>
|
||||
<include base="win32k">include</include>
|
||||
<define name="UNICODE" />
|
||||
<define name="__USE_W32API" />
|
||||
<define name="_WIN32_WINNT">0x0501</define>
|
||||
<define name="WINVER">0x600</define>
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_SEH_NO_NATIVE_NLG" />
|
||||
<define name="_WIN32K_" />
|
||||
<library>rtshared</library>
|
||||
<library>regtests</library>
|
||||
<library>win32k_base</library>
|
||||
<library>pseh</library>
|
||||
<library>rosrtl</library>
|
||||
<library>msvcrt</library>
|
||||
<linkerflag>-lgcc</linkerflag>
|
||||
<linkerflag>-nostartfiles</linkerflag>
|
||||
<linkerflag>-nostdlib</linkerflag>
|
||||
<directory name="tests">
|
||||
</directory>
|
||||
<file>setup.c</file>
|
||||
<xi:include href="stubs.xml" />
|
||||
</module>
|
|
@ -1,5 +1,4 @@
|
|||
<module name="win32k" type="kernelmodedriver" installbase="system32" installname="win32k.sys" warnings="true">
|
||||
<importlibrary definition="win32k.def" />
|
||||
<module name="win32k_base" type="objectlibrary" warnings="true">
|
||||
<include base="win32k">.</include>
|
||||
<include base="win32k">include</include>
|
||||
<include base="ntoskrnl">include</include>
|
||||
|
@ -8,12 +7,8 @@
|
|||
<define name="__USE_W32API" />
|
||||
<define name="_WIN32_WINNT">0x0501</define>
|
||||
<define name="WINVER">0x600</define>
|
||||
<define name="_SEH_NO_NATIVE_NLG" />
|
||||
<define name="_WIN32K_" />
|
||||
<library>pseh</library>
|
||||
<library>rosrtl</library>
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>freetype</library>
|
||||
<pch>w32k.h</pch>
|
||||
<directory name="dib">
|
||||
<file>dib1bpp.c</file>
|
||||
|
@ -132,5 +127,17 @@
|
|||
<file>stubs.c</file>
|
||||
<file>xpstubs.c</file>
|
||||
</directory>
|
||||
</module>
|
||||
<module name="win32k" type="kernelmodedriver" installbase="system32" installname="win32k.sys" warnings="true">
|
||||
<importlibrary definition="win32k.def" />
|
||||
<library>win32k_base</library>
|
||||
<library>pseh</library>
|
||||
<library>rosrtl</library>
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>freetype</library>
|
||||
<file>win32k.rc</file>
|
||||
</module>
|
||||
<directory name="tests">
|
||||
<xi:include href="tests/win32k.xml" />
|
||||
</directory>
|
||||
|
|
|
@ -494,6 +494,7 @@ private:
|
|||
int* stubIndex );
|
||||
void WriteStubsFile ( Module& module );
|
||||
std::string GetStartupFilename ( Module& module );
|
||||
bool IsUnknownCharacter ( char ch );
|
||||
std::string GetTestDispatcherName ( std::string filename );
|
||||
bool IsTestFile ( std::string& filename ) const;
|
||||
void GetSourceFilenames ( string_list& list,
|
||||
|
|
|
@ -93,7 +93,7 @@ TestSupportCode::WriteHooksFile ( Module& module )
|
|||
s = s + sprintf ( s, "#include <windows.h>\n" );
|
||||
s = s + sprintf ( s, "#include \"regtests.h\"\n" );
|
||||
s = s + sprintf ( s, "\n" );
|
||||
s = s + sprintf ( s, "API_DESCRIPTION ExternalDependencies[] =\n" );
|
||||
s = s + sprintf ( s, "_API_DESCRIPTION ExternalDependencies[] =\n" );
|
||||
s = s + sprintf ( s, "{\n" );
|
||||
|
||||
int symbolCount = 0;
|
||||
|
@ -121,18 +121,34 @@ TestSupportCode::GetStubsFilename ( Module& module )
|
|||
return NormalizeFilename ( Environment::GetIntermediatePath () + SSEP + module.GetBasePath () + SSEP + "_stubs.S" );
|
||||
}
|
||||
|
||||
string
|
||||
GetImportSymbol ( const StubbedSymbol& symbol )
|
||||
{
|
||||
if (symbol.symbol[0] == '@')
|
||||
return "__imp_" + symbol.symbol;
|
||||
else
|
||||
return "__imp__" + symbol.symbol;
|
||||
}
|
||||
|
||||
char*
|
||||
TestSupportCode::WriteStubbedSymbolToStubsFile ( char* buffer,
|
||||
const StubbedComponent& component,
|
||||
const StubbedSymbol& symbol,
|
||||
const StubbedSymbol& symbol,
|
||||
int stubIndex )
|
||||
{
|
||||
string importSymbol = GetImportSymbol( symbol );
|
||||
buffer = buffer + sprintf ( buffer,
|
||||
".globl _%s\n",
|
||||
symbol.symbol.c_str () );
|
||||
buffer = buffer + sprintf ( buffer,
|
||||
".globl %s\n",
|
||||
importSymbol.c_str () );
|
||||
buffer = buffer + sprintf ( buffer,
|
||||
"_%s:\n",
|
||||
symbol.symbol.c_str () );
|
||||
buffer = buffer + sprintf ( buffer,
|
||||
"%s:\n",
|
||||
importSymbol.c_str () );
|
||||
buffer = buffer + sprintf ( buffer,
|
||||
" pushl $%d\n",
|
||||
stubIndex );
|
||||
|
@ -196,6 +212,18 @@ TestSupportCode::GetStartupFilename ( Module& module )
|
|||
return NormalizeFilename ( Environment::GetIntermediatePath () + SSEP + module.GetBasePath () + SSEP + "_startup.c" );
|
||||
}
|
||||
|
||||
bool
|
||||
TestSupportCode::IsUnknownCharacter ( char ch )
|
||||
{
|
||||
if ( ch >= 'a' && ch <= 'z' )
|
||||
return false;
|
||||
if ( ch >= 'A' && ch <= 'Z' )
|
||||
return false;
|
||||
if ( ch >= '0' && ch <= '9' )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
string
|
||||
TestSupportCode::GetTestDispatcherName ( string filename )
|
||||
{
|
||||
|
@ -204,7 +232,10 @@ TestSupportCode::GetTestDispatcherName ( string filename )
|
|||
filenamePart[0] = toupper ( filenamePart[0] );
|
||||
for ( size_t i = 1; i < filenamePart.length (); i++ )
|
||||
{
|
||||
filenamePart[i] = tolower ( filenamePart[i] );
|
||||
if ( IsUnknownCharacter ( filenamePart[i] ) )
|
||||
filenamePart[i] = '_';
|
||||
else
|
||||
filenamePart[i] = tolower ( filenamePart[i] );
|
||||
}
|
||||
return filenamePart + "Test";
|
||||
}
|
||||
|
@ -333,7 +364,7 @@ TestSupportCode::WriteStartupFile ( Module& module )
|
|||
s = s + sprintf ( s, " LPSTR lpszCmdParam,\n" );
|
||||
s = s + sprintf ( s, " int nCmdShow)\n" );
|
||||
s = s + sprintf ( s, "{\n" );
|
||||
s = s + sprintf ( s, " _SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);\n" );
|
||||
s = s + sprintf ( s, " _SetPriorityClass(_GetCurrentProcess(), IDLE_PRIORITY_CLASS);\n" );
|
||||
s = s + sprintf ( s, " InitializeTests();\n" );
|
||||
s = s + sprintf ( s, " RegisterTests();\n" );
|
||||
s = s + sprintf ( s, " SetupOnce();\n" );
|
||||
|
|
Loading…
Reference in a new issue