mirror of
https://github.com/reactos/reactos.git
synced 2024-12-31 19:42:51 +00:00
2004-10-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
* config (REGRESSIONTESTS): Remove. * tools/config.mk: Update. * lib/kernel32/misc/dllmain.c: Update. * drivers/net/tcpip/tests/Makefile (TARGET_OBJECTS): Add setup.o. * lib/gdiplus/tests/Makefile (TARGET_OBJECTS): Ditto. * lib/kernel32/tests/Makefile (TARGET_OBJECTS): Ditto. * lib/ws2_32/tests/Makefile (TARGET_OBJECTS): Ditto. * subsys/win32k/tests/makefile (TARGET_OBJECTS): Ditto. * regtests/shared/regtests.h (SetupOnce, _SetupOnce): Declare. (DISPATCHER): Rename to _Dispatcher. * lib/gdiplus/tests/tests/test-1.c: Update. * lib/kernel32/tests/tests/CreateFile.c: Ditto. * lib/ws2_32/tests/tests/WinsockEvent.c: Ditto. * subsys/win32k/tests/tests/eng-mem-1.c: Ditto. * tools/helper.mk: Be quiet when building tests. * tools/regtests.c: Remove unused code. * drivers/net/tcpip/tests/setup.c: New file. * lib/gdiplus/tests/setup.c: Ditto. * lib/kernel32/tests/setup.c: Ditto. * lib/ws2_32/tests/setup.c: Ditto. * subsys/win32k/tests/setup.c: Ditto. svn path=/trunk/; revision=11414
This commit is contained in:
parent
40851010a8
commit
6003c5cb06
21 changed files with 114 additions and 187 deletions
|
@ -1,3 +1,27 @@
|
||||||
|
2004-10-24 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||||
|
|
||||||
|
* config (REGRESSIONTESTS): Remove.
|
||||||
|
* tools/config.mk: Update.
|
||||||
|
* lib/kernel32/misc/dllmain.c: Update.
|
||||||
|
* drivers/net/tcpip/tests/Makefile (TARGET_OBJECTS): Add setup.o.
|
||||||
|
* lib/gdiplus/tests/Makefile (TARGET_OBJECTS): Ditto.
|
||||||
|
* lib/kernel32/tests/Makefile (TARGET_OBJECTS): Ditto.
|
||||||
|
* lib/ws2_32/tests/Makefile (TARGET_OBJECTS): Ditto.
|
||||||
|
* subsys/win32k/tests/makefile (TARGET_OBJECTS): Ditto.
|
||||||
|
* regtests/shared/regtests.h (SetupOnce, _SetupOnce): Declare.
|
||||||
|
(DISPATCHER): Rename to _Dispatcher.
|
||||||
|
* lib/gdiplus/tests/tests/test-1.c: Update.
|
||||||
|
* lib/kernel32/tests/tests/CreateFile.c: Ditto.
|
||||||
|
* lib/ws2_32/tests/tests/WinsockEvent.c: Ditto.
|
||||||
|
* subsys/win32k/tests/tests/eng-mem-1.c: Ditto.
|
||||||
|
* tools/helper.mk: Be quiet when building tests.
|
||||||
|
* tools/regtests.c: Remove unused code.
|
||||||
|
* drivers/net/tcpip/tests/setup.c: New file.
|
||||||
|
* lib/gdiplus/tests/setup.c: Ditto.
|
||||||
|
* lib/kernel32/tests/setup.c: Ditto.
|
||||||
|
* lib/ws2_32/tests/setup.c: Ditto.
|
||||||
|
* subsys/win32k/tests/setup.c: Ditto.
|
||||||
|
|
||||||
2004-10-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
2004-10-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||||||
|
|
||||||
* Makefile: Support regtests_implib.
|
* Makefile: Support regtests_implib.
|
||||||
|
|
|
@ -47,11 +47,6 @@ ACPI := 0
|
||||||
#
|
#
|
||||||
3GB := 1
|
3GB := 1
|
||||||
|
|
||||||
#
|
|
||||||
# Whether to build regression tests
|
|
||||||
#
|
|
||||||
REGRESSIONTESTS := 0
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Whether to use Structured Exception Handling
|
# Whether to use Structured Exception Handling
|
||||||
#
|
#
|
||||||
|
|
|
@ -12,7 +12,9 @@ TARGET_CFLAGS = -I$(REGTESTS_PATH_INC)
|
||||||
|
|
||||||
-include Makefile.tests
|
-include Makefile.tests
|
||||||
|
|
||||||
TARGET_OBJECTS = $(addprefix tests/, $(TESTS))
|
TARGET_OBJECTS = \
|
||||||
|
setup.o \
|
||||||
|
$(addprefix tests/, $(TESTS))
|
||||||
|
|
||||||
include $(PATH_TO_TOP)/rules.mak
|
include $(PATH_TO_TOP)/rules.mak
|
||||||
|
|
||||||
|
|
5
reactos/drivers/net/tcpip/tests/setup.c
Normal file
5
reactos/drivers/net/tcpip/tests/setup.c
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include "regtests.h"
|
||||||
|
|
||||||
|
_SetupOnce()
|
||||||
|
{
|
||||||
|
}
|
|
@ -21,7 +21,9 @@ TARGET_LIBS = ../gdiplus.a
|
||||||
|
|
||||||
-include Makefile.tests
|
-include Makefile.tests
|
||||||
|
|
||||||
TARGET_OBJECTS = $(addprefix tests/, $(TESTS))
|
TARGET_OBJECTS = \
|
||||||
|
setup.o \
|
||||||
|
$(addprefix tests/, $(TESTS))
|
||||||
|
|
||||||
include $(PATH_TO_TOP)/rules.mak
|
include $(PATH_TO_TOP)/rules.mak
|
||||||
|
|
||||||
|
|
12
reactos/lib/gdiplus/tests/setup.c
Normal file
12
reactos/lib/gdiplus/tests/setup.c
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#include "regtests.h"
|
||||||
|
|
||||||
|
extern BOOL
|
||||||
|
STDCALL
|
||||||
|
DllMain(HANDLE hInstDll,
|
||||||
|
ULONG dwReason,
|
||||||
|
LPVOID lpReserved);
|
||||||
|
|
||||||
|
_SetupOnce()
|
||||||
|
{
|
||||||
|
DllMain(NULL, DLL_PROCESS_ATTACH, NULL);
|
||||||
|
}
|
|
@ -8,4 +8,4 @@ RunTest()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
DISPATCHER(Test_1Test, "Test 1")
|
_Dispatcher(Test_1Test, "Test 1")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
/* $Id: dllmain.c,v 1.36 2004/08/24 17:21:11 navaraf Exp $
|
/* $Id: dllmain.c,v 1.37 2004/10/24 12:39:53 chorns Exp $
|
||||||
*
|
*
|
||||||
* COPYRIGHT: See COPYING in the top level directory
|
* COPYRIGHT: See COPYING in the top level directory
|
||||||
* PROJECT: ReactOS system libraries
|
* PROJECT: ReactOS system libraries
|
||||||
|
@ -11,7 +11,6 @@
|
||||||
|
|
||||||
/* INCLUDES ******************************************************************/
|
/* INCLUDES ******************************************************************/
|
||||||
|
|
||||||
#include <roscfg.h>
|
|
||||||
#include <k32.h>
|
#include <k32.h>
|
||||||
|
|
||||||
#define NDEBUG
|
#define NDEBUG
|
||||||
|
@ -95,18 +94,7 @@ DllMain(HANDLE hDll,
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
DPRINT("DLL_PROCESS_ATTACH\n");
|
DPRINT("DLL_PROCESS_ATTACH\n");
|
||||||
|
|
||||||
#if !defined(REGTESTS)
|
|
||||||
/*
|
|
||||||
* When running regression tests, this module need to receive
|
|
||||||
* thread attach/detach notifications. This is needed because
|
|
||||||
* the module is already loaded when the regression test suite
|
|
||||||
* driver would load this module using LoadLibrary() so a
|
|
||||||
* DLL_PROCESS_ATTACH notification is not sent. The regression
|
|
||||||
* test suite driver sends thread notifications instead in this
|
|
||||||
* case.
|
|
||||||
*/
|
|
||||||
LdrDisableThreadCalloutsForDll ((PVOID)hDll);
|
LdrDisableThreadCalloutsForDll ((PVOID)hDll);
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Connect to the csrss server
|
* Connect to the csrss server
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $Id: Makefile,v 1.4 2004/10/23 21:05:11 chorns Exp $
|
# $Id: Makefile,v 1.5 2004/10/24 12:39:53 chorns Exp $
|
||||||
|
|
||||||
PATH_TO_TOP = ../../..
|
PATH_TO_TOP = ../../..
|
||||||
|
|
||||||
|
@ -14,7 +14,9 @@ TARGET_LIBS = ../kernel32.a
|
||||||
|
|
||||||
-include Makefile.tests
|
-include Makefile.tests
|
||||||
|
|
||||||
TARGET_OBJECTS = $(addprefix tests/, $(TESTS))
|
TARGET_OBJECTS = \
|
||||||
|
setup.o \
|
||||||
|
$(addprefix tests/, $(TESTS))
|
||||||
|
|
||||||
include $(PATH_TO_TOP)/rules.mak
|
include $(PATH_TO_TOP)/rules.mak
|
||||||
|
|
||||||
|
|
5
reactos/lib/kernel32/tests/setup.c
Normal file
5
reactos/lib/kernel32/tests/setup.c
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include "regtests.h"
|
||||||
|
|
||||||
|
_SetupOnce()
|
||||||
|
{
|
||||||
|
}
|
|
@ -123,4 +123,4 @@ static void RunTest()
|
||||||
TestFile();
|
TestFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
DISPATCHER(CreatefileTest, "CreateFileW")
|
_Dispatcher(CreatefileTest, "CreateFileW")
|
||||||
|
|
|
@ -12,7 +12,9 @@ TARGET_LIBS = ../ws2_32.a
|
||||||
|
|
||||||
-include Makefile.tests
|
-include Makefile.tests
|
||||||
|
|
||||||
TARGET_OBJECTS = $(addprefix tests/, $(TESTS))
|
TARGET_OBJECTS = \
|
||||||
|
setup.o \
|
||||||
|
$(addprefix tests/, $(TESTS))
|
||||||
|
|
||||||
include $(PATH_TO_TOP)/rules.mak
|
include $(PATH_TO_TOP)/rules.mak
|
||||||
|
|
||||||
|
|
12
reactos/lib/ws2_32/tests/setup.c
Normal file
12
reactos/lib/ws2_32/tests/setup.c
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
#include "regtests.h"
|
||||||
|
|
||||||
|
extern BOOL
|
||||||
|
STDCALL
|
||||||
|
DllMain(HANDLE hInstDll,
|
||||||
|
ULONG dwReason,
|
||||||
|
LPVOID lpReserved);
|
||||||
|
|
||||||
|
_SetupOnce()
|
||||||
|
{
|
||||||
|
DllMain(NULL, DLL_PROCESS_ATTACH, NULL);
|
||||||
|
}
|
|
@ -70,21 +70,14 @@ TestWSACloseEvent()
|
||||||
TestWSACloseEventFailure();
|
TestWSACloseEventFailure();
|
||||||
}
|
}
|
||||||
|
|
||||||
extern BOOL
|
|
||||||
STDCALL
|
|
||||||
DllMain(HANDLE hInstDll,
|
|
||||||
ULONG dwReason,
|
|
||||||
LPVOID lpReserved);
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
RunTest()
|
RunTest()
|
||||||
{
|
{
|
||||||
WSADATA WSAData;
|
WSADATA WSAData;
|
||||||
|
|
||||||
DllMain(NULL, DLL_PROCESS_ATTACH, NULL);
|
|
||||||
WSAStartup(MAKEWORD(2, 0), &WSAData);
|
WSAStartup(MAKEWORD(2, 0), &WSAData);
|
||||||
TestWSACloseEvent();
|
TestWSACloseEvent();
|
||||||
WSACleanup();
|
WSACleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
DISPATCHER(WinsockeventTest, "Winsock 2 event")
|
_Dispatcher(WinsockeventTest, "Winsock 2 event")
|
||||||
|
|
|
@ -10,6 +10,11 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
|
extern void SetupOnce();
|
||||||
|
|
||||||
|
#define _SetupOnce() \
|
||||||
|
void SetupOnce()
|
||||||
|
|
||||||
/* Valid values for Command parameter of TestRoutine */
|
/* Valid values for Command parameter of TestRoutine */
|
||||||
#define TESTCMD_RUN 0 /* Buffer contains information about what failed */
|
#define TESTCMD_RUN 0 /* Buffer contains information about what failed */
|
||||||
#define TESTCMD_TESTNAME 1 /* Buffer contains description of test */
|
#define TESTCMD_TESTNAME 1 /* Buffer contains description of test */
|
||||||
|
@ -23,7 +28,7 @@ extern int _Result;
|
||||||
extern char *_Buffer;
|
extern char *_Buffer;
|
||||||
|
|
||||||
/* Macros to simplify tests */
|
/* Macros to simplify tests */
|
||||||
#define DISPATCHER(FunctionName, TestName) \
|
#define _Dispatcher(FunctionName, TestName) \
|
||||||
void \
|
void \
|
||||||
FunctionName(int Command) \
|
FunctionName(int Command) \
|
||||||
{ \
|
{ \
|
||||||
|
|
|
@ -14,7 +14,9 @@ TARGET_LIBS = ../win32k.a
|
||||||
|
|
||||||
-include Makefile.tests
|
-include Makefile.tests
|
||||||
|
|
||||||
TARGET_OBJECTS = $(addprefix tests/, $(TESTS))
|
TARGET_OBJECTS = \
|
||||||
|
setup.o \
|
||||||
|
$(addprefix tests/, $(TESTS))
|
||||||
|
|
||||||
include $(PATH_TO_TOP)/rules.mak
|
include $(PATH_TO_TOP)/rules.mak
|
||||||
|
|
||||||
|
|
5
reactos/subsys/win32k/tests/setup.c
Normal file
5
reactos/subsys/win32k/tests/setup.c
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
#include "regtests.h"
|
||||||
|
|
||||||
|
_SetupOnce()
|
||||||
|
{
|
||||||
|
}
|
|
@ -45,4 +45,4 @@ static void RunTest()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
DISPATCHER(Eng_mem_1Test, "Win32k Engine Memory API")
|
_Dispatcher(Eng_mem_1Test, "Win32k Engine Memory API")
|
||||||
|
|
|
@ -25,10 +25,6 @@ ifeq ($(ACPI), 1)
|
||||||
CONFIG += ACPI
|
CONFIG += ACPI
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(REGRESSIONTESTS), 1)
|
|
||||||
CONFIG += REGTESTS
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(SEH), 1)
|
ifeq ($(SEH), 1)
|
||||||
CONFIG += SEH
|
CONFIG += SEH
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# $Id: helper.mk,v 1.91 2004/10/23 21:05:12 chorns Exp $
|
# $Id: helper.mk,v 1.92 2004/10/24 12:39:54 chorns Exp $
|
||||||
#
|
#
|
||||||
# Helper makefile for ReactOS modules
|
# Helper makefile for ReactOS modules
|
||||||
# Variables this makefile accepts:
|
# Variables this makefile accepts:
|
||||||
|
@ -722,7 +722,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(MK_BASENAME).a: $(MK_OBJECTS)
|
$(MK_BASENAME).a: $(MK_OBJECTS)
|
||||||
$(AR) -r $(MK_BASENAME).a $(MK_OBJECTS)
|
$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
||||||
|
|
||||||
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
||||||
ifeq ($(MK_EXETYPE),dll)
|
ifeq ($(MK_EXETYPE),dll)
|
||||||
|
@ -815,7 +815,7 @@ else
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(MK_BASENAME).a: $(MK_OBJECTS)
|
$(MK_BASENAME).a: $(MK_OBJECTS)
|
||||||
$(AR) -r $(MK_BASENAME).a $(MK_OBJECTS)
|
$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
||||||
|
|
||||||
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
||||||
$(LD_CC) -Wl,--base-file,base.tmp \
|
$(LD_CC) -Wl,--base-file,base.tmp \
|
||||||
|
@ -882,8 +882,10 @@ endif # MK_MODE
|
||||||
ifeq ($(MK_MODE),static)
|
ifeq ($(MK_MODE),static)
|
||||||
|
|
||||||
$(MK_FULLNAME): $(MK_EXTRADEP) $(MK_OBJECTS)
|
$(MK_FULLNAME): $(MK_EXTRADEP) $(MK_OBJECTS)
|
||||||
$(AR) -r $(MK_FULLNAME) $(MK_OBJECTS)
|
$(AR) -rc $(MK_FULLNAME) $(MK_OBJECTS)
|
||||||
@echo $(MK_BASENAME)$(MK_EXT) was successfully built.
|
ifneq ($(TARGET_TYPE),test)
|
||||||
|
@echo $(MK_FULLNAME) was successfully built.
|
||||||
|
endif
|
||||||
|
|
||||||
# Static libraries dont have a nostrip version
|
# Static libraries dont have a nostrip version
|
||||||
$(MK_NOSTRIPNAME):
|
$(MK_NOSTRIPNAME):
|
||||||
|
|
|
@ -36,8 +36,6 @@ static FILE *out;
|
||||||
static char *path;
|
static char *path;
|
||||||
static char *file;
|
static char *file;
|
||||||
static char *makefile;
|
static char *makefile;
|
||||||
static char *umstubfile;
|
|
||||||
static char *kmstubfile;
|
|
||||||
static char *exestubfile;
|
static char *exestubfile;
|
||||||
|
|
||||||
static char*
|
static char*
|
||||||
|
@ -430,88 +428,6 @@ write_file_if_changed(char *filename,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char KMSTUB[] =
|
|
||||||
"/* This file is autogenerated. */\n"
|
|
||||||
"\n"
|
|
||||||
"#include <roskrnl.h>\n"
|
|
||||||
"#include <../kmregtests/kmregtests.h>\n"
|
|
||||||
"\n"
|
|
||||||
"typedef int (*TestRoutine)(int Command, char *Buffer);\n"
|
|
||||||
"\n"
|
|
||||||
"extern void RegisterTests();\n"
|
|
||||||
"\n"
|
|
||||||
"static PDEVICE_OBJECT KMRegTestsDeviceObject = NULL;\n"
|
|
||||||
"static PFILE_OBJECT KMRegTestsFileObject = NULL;\n"
|
|
||||||
"\n"
|
|
||||||
"void AddTest(TestRoutine Routine)\n"
|
|
||||||
"{\n"
|
|
||||||
" UNICODE_STRING DriverName;\n"
|
|
||||||
" IO_STATUS_BLOCK IoStatus;\n"
|
|
||||||
" NTSTATUS Status;\n"
|
|
||||||
" KEVENT Event;\n"
|
|
||||||
" PIRP Irp;\n"
|
|
||||||
"\n"
|
|
||||||
" if (KMRegTestsDeviceObject == NULL)\n"
|
|
||||||
" {\n"
|
|
||||||
" RtlInitUnicodeString(&DriverName, L\"\\\\Device\\\\KMRegTests\");\n"
|
|
||||||
" Status = IoGetDeviceObjectPointer(&DriverName, FILE_WRITE_ATTRIBUTES,\n"
|
|
||||||
" &KMRegTestsFileObject, &KMRegTestsDeviceObject);\n"
|
|
||||||
" if (!NT_SUCCESS(Status)) return;\n"
|
|
||||||
" }\n"
|
|
||||||
" KeInitializeEvent(&Event, NotificationEvent, FALSE);\n"
|
|
||||||
" Irp = IoBuildDeviceIoControlRequest(IOCTL_KMREGTESTS_REGISTER,\n"
|
|
||||||
" KMRegTestsDeviceObject, &Routine, sizeof(TestRoutine), NULL, 0, FALSE, &Event, &IoStatus);\n"
|
|
||||||
" Status = IoCallDriver(KMRegTestsDeviceObject, Irp);\n"
|
|
||||||
"}\n"
|
|
||||||
"\n"
|
|
||||||
"void PrepareTests()\n"
|
|
||||||
"{\n"
|
|
||||||
" RegisterTests();\n"
|
|
||||||
"}\n";
|
|
||||||
|
|
||||||
static char UMSTUB[] =
|
|
||||||
"/* This file is autogenerated. */\n"
|
|
||||||
"\n"
|
|
||||||
"#include <windows.h>\n"
|
|
||||||
"#define NTOS_MODE_USER\n"
|
|
||||||
"#include <ntos.h>\n"
|
|
||||||
"#include \"regtests.h\"\n"
|
|
||||||
"\n"
|
|
||||||
"PVOID\n"
|
|
||||||
"AllocateMemory(ULONG Size)\n"
|
|
||||||
"{\n"
|
|
||||||
" return (PVOID) RtlAllocateHeap(RtlGetProcessHeap(), 0, Size);\n"
|
|
||||||
"}\n"
|
|
||||||
"\n"
|
|
||||||
"VOID\n"
|
|
||||||
"FreeMemory(PVOID Base)\n"
|
|
||||||
"{\n"
|
|
||||||
" RtlFreeHeap(RtlGetProcessHeap(), 0, Base);\n"
|
|
||||||
"}\n"
|
|
||||||
"\n"
|
|
||||||
"/* This function will be called several times */\n"
|
|
||||||
"void PrepareTests()\n"
|
|
||||||
"{\n"
|
|
||||||
" static int testsRegistered = 0;\n"
|
|
||||||
" if (testsRegistered == 0)\n"
|
|
||||||
" {\n"
|
|
||||||
" HANDLE hEvent;\n"
|
|
||||||
" hEvent = OpenEventW(\n"
|
|
||||||
" EVENT_ALL_ACCESS,\n"
|
|
||||||
" FALSE,\n"
|
|
||||||
" L\"WinRegTests\");\n"
|
|
||||||
" if (hEvent != NULL)\n"
|
|
||||||
" {\n"
|
|
||||||
" SetEvent(hEvent);\n"
|
|
||||||
" CloseHandle(hEvent);\n"
|
|
||||||
" testsRegistered = 1;\n"
|
|
||||||
" InitializeTests();\n"
|
|
||||||
" RegisterTests();\n"
|
|
||||||
" PerformTests(NULL, NULL);\n"
|
|
||||||
" }\n"
|
|
||||||
" }\n"
|
|
||||||
"}\n";
|
|
||||||
|
|
||||||
static char EXESTUB[] =
|
static char EXESTUB[] =
|
||||||
"/* This file is autogenerated. */\n"
|
"/* This file is autogenerated. */\n"
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -542,6 +458,7 @@ static char EXESTUB[] =
|
||||||
"{\n"
|
"{\n"
|
||||||
" InitializeTests();\n"
|
" InitializeTests();\n"
|
||||||
" RegisterTests();\n"
|
" RegisterTests();\n"
|
||||||
|
" SetupOnce();\n"
|
||||||
" PerformTests(ConsoleWrite, NULL);\n"
|
" PerformTests(ConsoleWrite, NULL);\n"
|
||||||
" NtTerminateProcess (NtCurrentProcess(), 0);\n"
|
" NtTerminateProcess (NtCurrentProcess(), 0);\n"
|
||||||
" return 0;\n"
|
" return 0;\n"
|
||||||
|
@ -574,15 +491,13 @@ static char HOOKS_FOOTER[] =
|
||||||
"ULONG MaxExternalDependency = ExternalDependencyCount - 1;\n";
|
"ULONG MaxExternalDependency = ExternalDependencyCount - 1;\n";
|
||||||
|
|
||||||
static char HELP[] =
|
static char HELP[] =
|
||||||
"REGTESTS path file makefile [-u umstubfile] [-k kmstubfile] [-e exestubfile]\n"
|
"REGTESTS path file makefile [-e exestubfile]\n"
|
||||||
"REGTESTS -s stublistfile stubsfile hooksfile\n"
|
"REGTESTS -s stublistfile stubsfile hooksfile\n"
|
||||||
"\n"
|
"\n"
|
||||||
" path Path to files\n"
|
" path Path to files\n"
|
||||||
" file Registration file to create\n"
|
" file Registration file to create\n"
|
||||||
" makefile Makefile to create\n"
|
" makefile Makefile to create\n"
|
||||||
" umstubfile Optional stub for running tests internal to a user-mode module\n"
|
" exestubfile Optional stub for running tests in the build environment\n"
|
||||||
" kmstubfile Optional stub for running tests internal to a kernel-mode module\n"
|
|
||||||
" exestubfile Optional stub for running tests internal to a module in the build environment\n"
|
|
||||||
" stublistfile File with descriptions of stubs\n"
|
" stublistfile File with descriptions of stubs\n"
|
||||||
" stubsfile File with stubs to create\n"
|
" stubsfile File with stubs to create\n"
|
||||||
" hooksfile File with hooks to create\n";
|
" hooksfile File with hooks to create\n";
|
||||||
|
@ -834,32 +749,12 @@ int run_registrations(int argc,
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
umstubfile = NULL;
|
|
||||||
kmstubfile = NULL;
|
|
||||||
exestubfile = NULL;
|
exestubfile = NULL;
|
||||||
for (i = 4; i < argc; i++)
|
for (i = 4; i < argc; i++)
|
||||||
{
|
{
|
||||||
if (argv[i][0] == '-')
|
if (argv[i][0] == '-')
|
||||||
{
|
{
|
||||||
if (argv[i][1] == 'u')
|
if (argv[i][1] == 'e')
|
||||||
{
|
|
||||||
umstubfile = convert_path(argv[++i]);
|
|
||||||
if (umstubfile[0] == 0)
|
|
||||||
{
|
|
||||||
printf("Missing umstubfile\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (argv[i][1] == 'k')
|
|
||||||
{
|
|
||||||
kmstubfile = convert_path(argv[++i]);
|
|
||||||
if (kmstubfile[0] == 0)
|
|
||||||
{
|
|
||||||
printf("Missing kmstubfile\n");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (argv[i][1] == 'e')
|
|
||||||
{
|
{
|
||||||
exestubfile = convert_path(argv[++i]);
|
exestubfile = convert_path(argv[++i]);
|
||||||
if (exestubfile[0] == 0)
|
if (exestubfile[0] == 0)
|
||||||
|
@ -870,7 +765,7 @@ int run_registrations(int argc,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("Unknown switch\n");
|
printf("Unknown switch -%c\n", argv[i][1]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -923,26 +818,6 @@ int run_registrations(int argc,
|
||||||
|
|
||||||
fclose(out);
|
fclose(out);
|
||||||
|
|
||||||
/* User-mode stubfile */
|
|
||||||
if (umstubfile != NULL)
|
|
||||||
{
|
|
||||||
if (write_file_if_changed(umstubfile, UMSTUB) != 0)
|
|
||||||
{
|
|
||||||
perror("Cannot create output user-mode stubfile");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Kernel-mode stubfile */
|
|
||||||
if (kmstubfile != NULL)
|
|
||||||
{
|
|
||||||
if (write_file_if_changed(kmstubfile, KMSTUB) != 0)
|
|
||||||
{
|
|
||||||
perror("Cannot create output kernel-mode stubfile");
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Executable stubfile */
|
/* Executable stubfile */
|
||||||
if (exestubfile != NULL)
|
if (exestubfile != NULL)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue