/*
* PROJECT: ReactOS kernel
* FILE: regtests/regtests/regtests.c
- * PURPOSE: Regression testing host
+ * PURPOSE: Regression testing framework
* PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
* UPDATE HISTORY:
- * 06-07-2003 CSH Created
+ * 23-10-2004 CSH Created
*/
-#define NTOS_MODE_USER
-#include <stdio.h>
-#include <ntos.h>
-#include "regtests.h"
+#include <windows.h>
-#define OUPUT_MODE_DbgPrint 0
-#define OUPUT_MODE_OutputDebugString 1
-#define OUPUT_MODE_printf 2
+HMODULE STDCALL
+_GetModuleHandleA(LPCSTR lpModuleName)
+{
+ return GetModuleHandleA(lpModuleName);
+}
+
+FARPROC STDCALL
+_GetProcAddress(HMODULE hModule,
+ LPCSTR lpProcName)
+{
+ return GetProcAddress(hModule, lpProcName);
+}
+
+HINSTANCE STDCALL
+_LoadLibraryA(LPCSTR lpLibFileName)
+{
+ return LoadLibraryA(lpLibFileName);
+}
+
+VOID STDCALL
+_ExitProcess(UINT uExitCode)
+{
+ ExitProcess(uExitCode);
+}
+
+HANDLE STDCALL
+_CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes, DWORD dwStackSize,
+ LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter,
+ DWORD dwCreationFlags, LPDWORD lpThreadId)
+{
+ return CreateThread(lpThreadAttributes, dwStackSize, lpStartAddress,
+ lpParameter, dwCreationFlags, lpThreadId);
+}
+
+WINBOOL STDCALL
+_TerminateThread(HANDLE hThread, DWORD dwExitCode)
+{
+ return TerminateThread(hThread, dwExitCode);
+}
-static int OutputMode = 0;
+DWORD STDCALL
+_WaitForSingleObject(HANDLE hHandle, DWORD dwMilliseconds)
+{
+ return WaitForSingleObject(hHandle, dwMilliseconds);
+}
-static void OutputRoutine(char *Buffer)
+DWORD STDCALL
+_GetLastError()
{
- if (OutputMode == OUPUT_MODE_DbgPrint)
- {
- DbgPrint(Buffer);
- }
- else if (OutputMode == OUPUT_MODE_OutputDebugString)
- {
- OutputDebugString(Buffer);
- }
- else if (OutputMode == OUPUT_MODE_printf)
- {
- printf(Buffer);
- }
+ return GetLastError();
}
-static VOID
-RunTestDriver(LPSTR FileName, LPSTR TestName)
+VOID STDCALL
+_CloseHandle(HANDLE handle)
{
- TestDriverMain Main;
- HMODULE hModule;
+ CloseHandle (handle);
+}
- hModule = LoadLibrary(FileName);
- if (hModule != NULL)
- {
- Main = (TestDriverMain) GetProcAddress(hModule, "RegTestMain");
- if (Main != NULL)
- {
- (Main)(OutputRoutine, TestName);
- }
- FreeLibrary(hModule);
- }
+BOOL STDCALL
+_GetThreadTimes(HANDLE hThread, LPFILETIME lpCreationTime,
+ LPFILETIME lpExitTime, LPFILETIME lpKernelTime,
+ LPFILETIME lpUserTime)
+{
+ return GetThreadTimes(hThread, lpCreationTime, lpExitTime,
+ lpKernelTime, lpUserTime);
}
-int
-main(int argc, char* argv[])
+BOOL STDCALL
+_SetPriorityClass(HANDLE hProcess, DWORD dwPriorityClass)
{
- LPSTR testname = NULL;
- int i;
+ return SetPriorityClass(hProcess, dwPriorityClass);
+}
- if (argc > 1)
- {
- i = 1;
- if (argv[i][0] == '-')
- {
- switch (argv[i][1])
- {
- case 'd':
- OutputMode = OUPUT_MODE_DbgPrint;
- break;
- case 'o':
- OutputMode = OUPUT_MODE_OutputDebugString;
- break;
- case 'p':
- OutputMode = OUPUT_MODE_printf;
- break;
- default:
- printf("Usage: regtests [-dop] [testname]");
- return 0;
- }
- i++;
- }
+BOOL STDCALL
+_SetThreadPriority(HANDLE hThread, int nPriority)
+{
+ return SetThreadPriority(hThread, nPriority);
+}
- testname = argv[i];
- }
+HANDLE STDCALL
+_GetCurrentProcess()
+{
+ return GetCurrentProcess();
+}
- RunTestDriver("win32base.dll", testname);
- RunTestDriver("kmrtint.dll", testname);
- return 0;
+HANDLE STDCALL
+_GetCurrentThread()
+{
+ return GetCurrentThread();
+}
+
+VOID STDCALL
+_Sleep(DWORD dwMilliseconds)
+{
+ return Sleep(dwMilliseconds);
}