Prepare win32k for tests
Modified: trunk/reactos/lib/kernel32/tests/kernel32.xml
Deleted: trunk/reactos/lib/kernel32/tests/stubs.tst
Modified: trunk/reactos/lib/kernel32/tests/stubs.xml
Modified: trunk/reactos/lib/kernel32/tests/tests/CreateFile.c
Modified: trunk/reactos/regtests/regtests/regtests.c
Modified: trunk/reactos/regtests/regtests/regtests.def
Modified: trunk/reactos/regtests/shared/regtests.c
Modified: trunk/reactos/regtests/shared/regtests.h
Deleted: trunk/reactos/subsys/win32k/tests/stubs.tst
Added: trunk/reactos/subsys/win32k/tests/stubs.xml
Added: trunk/reactos/subsys/win32k/tests/win32k.xml
Modified: trunk/reactos/subsys/win32k/win32k.xml
Modified: trunk/reactos/tools/rbuild/rbuild.h
Modified: trunk/reactos/tools/rbuild/testsupportcode.cpp
  _____
Modified: trunk/reactos/lib/kernel32/tests/kernel32.xml
--- trunk/reactos/lib/kernel32/tests/kernel32.xml       2005-06-17
22:59:39 UTC (rev 16021)
+++ trunk/reactos/lib/kernel32/tests/kernel32.xml       2005-06-18
06:17:10 UTC (rev 16022)
@@ -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>
  _____
Deleted: trunk/reactos/lib/kernel32/tests/stubs.tst
--- trunk/reactos/lib/kernel32/tests/stubs.tst  2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/lib/kernel32/tests/stubs.tst  2005-06-18 06:17:10 UTC
(rev 16022)
@@ -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
  _____
Modified: trunk/reactos/lib/kernel32/tests/stubs.xml
--- trunk/reactos/lib/kernel32/tests/stubs.xml  2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/lib/kernel32/tests/stubs.xml  2005-06-18 06:17:10 UTC
(rev 16022)
@@ -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>
  _____
Modified: trunk/reactos/lib/kernel32/tests/tests/CreateFile.c
--- trunk/reactos/lib/kernel32/tests/tests/CreateFile.c 2005-06-17
22:59:39 UTC (rev 16021)
+++ trunk/reactos/lib/kernel32/tests/tests/CreateFile.c 2005-06-18
06:17:10 UTC (rev 16022)
@@ -90,7 +90,7 @@
   return STATUS_SUCCESS;
 }
-static HOOK NtCreateFileHooks[] =
+static _HOOK NtCreateFileHooks[] =
 {
   {"NtCreateFile", MockNtCreateFile},
   {NULL, NULL}
  _____
Modified: trunk/reactos/regtests/regtests/regtests.c
--- trunk/reactos/regtests/regtests/regtests.c  2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/regtests/regtests/regtests.c  2005-06-18 06:17:10 UTC
(rev 16022)
@@ -86,3 +86,15 @@
 {
   return SetThreadPriority(hThread, nPriority);
 }
+
+HANDLE STDCALL
+_GetCurrentProcess()
+{
+  return GetCurrentProcess();
+}
+
+HANDLE STDCALL
+_GetCurrentThread()
+{
+  return GetCurrentThread();
+}
  _____
Modified: trunk/reactos/regtests/regtests/regtests.def
--- trunk/reactos/regtests/regtests/regtests.def        2005-06-17
22:59:39 UTC (rev 16021)
+++ trunk/reactos/regtests/regtests/regtests.def        2005-06-18
06:17:10 UTC (rev 16022)
@@ -12,3 +12,5 @@
 _GetThreadTimes@20
 _SetPriorityClass@8
 _SetThreadPriority@8
+_GetCurrentProcess@0
+_GetCurrentThread@0
  _____
Modified: trunk/reactos/regtests/shared/regtests.c
--- trunk/reactos/regtests/shared/regtests.c    2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/regtests/shared/regtests.c    2005-06-18 06:17:10 UTC
(rev 16022)
@@ -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 @@
 {
   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 @@
   char Buffer[5000];
   char Format[100];
-  hThread = GetCurrentThread();
+  hThread = _GetCurrentThread();
   _SetThreadPriority(hThread, THREAD_PRIORITY_IDLE);
   memset(Buffer, 0, sizeof(Buffer));
@@ -84,8 +84,8 @@
                               &time,
                               &ExecutionTime))
       {
-        ExecutionTime.dwLowDateTime = 10;
-        ExecutionTime.dwHighDateTime = 10;
+        ExecutionTime.dwLowDateTime = 0;
+        ExecutionTime.dwHighDateTime = 0;
       }
       sprintf(OutputBuffer,
               "[%s] Success [%s]\n",
@@ -108,7 +108,7 @@
 {
   PLIST_ENTRY CurrentEntry;
   PLIST_ENTRY NextEntry;
-  PROS_TEST Current;
+  _PTEST Current;
   PERFORM_TEST_ARGS Args;
   HANDLE hThread;
   char OutputBuffer[1024];
@@ -122,7 +122,7 @@
   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 @@
 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");
  _____
Modified: trunk/reactos/regtests/shared/regtests.h
--- trunk/reactos/regtests/shared/regtests.h    2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/regtests/shared/regtests.h    2005-06-18 06:17:10 UTC
(rev 16022)
@@ -141,27 +141,27 @@
  */
 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 @@
 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 @@
 }
 static inline PVOID
-FrameworkGetFunction(PAPI_DESCRIPTION ApiDescription)
+FrameworkGetFunction(_PAPI_DESCRIPTION ApiDescription)
 {
   HANDLE hModule;
   PVOID function = NULL;
@@ -284,7 +290,7 @@
 _SetHook(PCHAR name,
   PVOID address)
 {
-  PAPI_DESCRIPTION api;
+  _PAPI_DESCRIPTION api;
   ULONG index;
   for (index = 0; index <= MaxExternalDependency; index++)
@@ -298,16 +304,16 @@
     }
 }
-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 @@
 }
 static inline VOID
-_UnsetHooks(PHOOK hookTable)
+_UnsetHooks(_PHOOK hookTable)
 {
-  PHOOK hook;
+  _PHOOK hook;
   hook = &hookTable[0];
   while (hook->FunctionName != NULL)
@@ -335,7 +341,7 @@
 static inline VOID
 _UnsetAllHooks()
 {
-  PAPI_DESCRIPTION api;
+  _PAPI_DESCRIPTION api;
   ULONG index;
   for (index = 0; index <= MaxExternalDependency; index++)
  _____
Deleted: trunk/reactos/subsys/win32k/tests/stubs.tst
  _____
Added: trunk/reactos/subsys/win32k/tests/stubs.xml
--- trunk/reactos/subsys/win32k/tests/stubs.xml 2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/subsys/win32k/tests/stubs.xml 2005-06-18 06:17:10 UTC
(rev 16022)
@@ -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>
Property changes on: trunk/reactos/subsys/win32k/tests/stubs.xml
___________________________________________________________________
Name: svn:eol-style
   + native
  _____
Added: trunk/reactos/subsys/win32k/tests/win32k.xml
--- trunk/reactos/subsys/win32k/tests/win32k.xml        2005-06-17
22:59:39 UTC (rev 16021)
+++ trunk/reactos/subsys/win32k/tests/win32k.xml        2005-06-18
06:17:10 UTC (rev 16022)
@@ -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>
Property changes on: trunk/reactos/subsys/win32k/tests/win32k.xml
___________________________________________________________________
Name: svn:eol-style
   + native
  _____
Modified: trunk/reactos/subsys/win32k/win32k.xml
--- trunk/reactos/subsys/win32k/win32k.xml      2005-06-17 22:59:39 UTC
(rev 16021)
+++ trunk/reactos/subsys/win32k/win32k.xml      2005-06-18 06:17:10 UTC
(rev 16022)
@@ -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>
  _____
Modified: trunk/reactos/tools/rbuild/rbuild.h
--- trunk/reactos/tools/rbuild/rbuild.h 2005-06-17 22:59:39 UTC (rev
16021)
+++ trunk/reactos/tools/rbuild/rbuild.h 2005-06-18 06:17:10 UTC (rev
16022)
@@ -494,6 +494,7 @@
                                                 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,
  _____
Modified: trunk/reactos/tools/rbuild/testsupportcode.cpp
--- trunk/reactos/tools/rbuild/testsupportcode.cpp      2005-06-17
22:59:39 UTC (rev 16021)
+++ trunk/reactos/tools/rbuild/testsupportcode.cpp      2005-06-18
06:17:10 UTC (rev 16022)
@@ -93,7 +93,7 @@
        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,19 +121,35 @@
        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 );
        buffer = buffer + sprintf ( buffer,
@@ -196,6 +212,18 @@
        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 @@
                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 @@
        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" );