2004-07-23 Casper S. Hornstrup <chorns@users.sourceforge.net>
authorCasper Hornstrup <chorns@users.sourceforge.net>
Fri, 23 Jul 2004 20:03:26 +0000 (20:03 +0000)
committerCasper Hornstrup <chorns@users.sourceforge.net>
Fri, 23 Jul 2004 20:03:26 +0000 (20:03 +0000)
* Makefile, drivers/video/makefile, lib/cpl/Makefile, ntoskrnl/Makefile,
tools/helper.mk: Add test target.
* include/ntos/types.h (UINT16, PUINT16): Declare.
* regtests/kmregtests/tests/mdl-1.c, regtests/kmregtests/tests/mdl-2.c,
regtests/kmregtests/tests/mm-1.c, subsys/win32k/tests/tests/eng-mem-1.c:
Simplify tests.
* regtests/shared/regtests.c: Include <ctype.h> and <stdlib.h>.
* regtests/shared/regtests.h (DISPATCHER): Declare the whole function.
* tools/regtests.c: Refactor part of register_test into get_test_name();
Stub for running tests in the build environment.
* w32api/include/basetsd.h (INT16, PINT16, UINT16, PUINT16): Declare.
* lib/user32/misc/exticon.c (UINT16): Remove declaration.

svn path=/trunk/; revision=10261

16 files changed:
reactos/ChangeLog
reactos/Makefile
reactos/drivers/video/makefile
reactos/include/ntos/types.h
reactos/lib/cpl/Makefile
reactos/lib/user32/misc/exticon.c
reactos/ntoskrnl/Makefile
reactos/regtests/kmregtests/tests/mdl-1.c
reactos/regtests/kmregtests/tests/mdl-2.c
reactos/regtests/kmregtests/tests/mm-1.c
reactos/regtests/shared/regtests.c
reactos/regtests/shared/regtests.h
reactos/subsys/win32k/tests/tests/eng-mem-1.c
reactos/tools/helper.mk
reactos/tools/regtests.c
reactos/w32api/include/basetsd.h

index be4507e..c581f2e 100644 (file)
@@ -1,3 +1,18 @@
+2004-07-23  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * Makefile, drivers/video/makefile, lib/cpl/Makefile, ntoskrnl/Makefile,
+       tools/helper.mk: Add test target.
+       * include/ntos/types.h (UINT16, PUINT16): Declare.
+       * regtests/kmregtests/tests/mdl-1.c, regtests/kmregtests/tests/mdl-2.c,
+       regtests/kmregtests/tests/mm-1.c, subsys/win32k/tests/tests/eng-mem-1.c:
+       Simplify tests.
+       * regtests/shared/regtests.c: Include <ctype.h> and <stdlib.h>.
+       * regtests/shared/regtests.h (DISPATCHER): Declare the whole function.
+       * tools/regtests.c: Refactor part of register_test into get_test_name();
+       Stub for running tests in the build environment.
+       * w32api/include/basetsd.h (INT16, PINT16, UINT16, PUINT16): Declare.
+       * lib/user32/misc/exticon.c (UINT16): Remove declaration. 
+
 2004-07-23  Casper S. Hornstrup  <chorns@users.sourceforge.net>
 
        * rules.mak: Be silent only if VERBOSE=no.
index cfb1656..52ba3c6 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.237 2004/07/20 19:24:39 sedwards Exp $
+# $Id: Makefile,v 1.238 2004/07/23 20:03:24 chorns Exp $
 #
 # Global makefile
 #
@@ -126,9 +126,14 @@ depends: $(LIB_STATIC:%=%_depends) $(LIB_FSLIB:%=%_depends) $(DLLS:%=%_depends)
          $(EXT_MODULES:%=%_depends) $(POSIX_LIBS:%=%_depends)
 
 implib: $(COMPONENTS:%=%_implib) $(HALS:%=%_implib) $(BUS:%=%_implib) \
-       $(LIB_STATIC:%=%_implib) $(LIB_FSLIB:%=%_implib) $(DLLS:%=%_implib) $(LOADERS:%=%_implib) \
-       $(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
-       $(SYS_SVC:%=%_implib) $(EXT_MODULES:%=%_implib)
+             $(LIB_STATIC:%=%_implib) $(LIB_FSLIB:%=%_implib) $(DLLS:%=%_implib) $(LOADERS:%=%_implib) \
+             $(KERNEL_DRIVERS:%=%_implib) $(SUBSYS:%=%_implib) \
+             $(SYS_SVC:%=%_implib) $(EXT_MODULES:%=%_implib)
+
+test: $(COMPONENTS:%=%_test) $(HALS:%=%_test) $(BUS:%=%_test) \
+           $(LIB_STATIC:%=%_test) $(LIB_FSLIB:%=%_test) $(DLLS:%=%_test) $(LOADERS:%=%_test) \
+           $(KERNEL_DRIVERS:%=%_test) $(SUBSYS:%=%_test) \
+           $(SYS_SVC:%=%_test) $(EXT_MODULES:%=%_test)
 
 clean: tools dk_clean $(HALS:%=%_clean) \
        $(COMPONENTS:%=%_clean) $(BUS:%=%_clean) $(LIB_STATIC:%=%_clean) $(LIB_FSLIB:%=%_clean) $(DLLS:%=%_clean) \
@@ -194,7 +199,7 @@ bootcd_makecd:
        $(CABMAN) /C bootdata/packages/reactos.dff /L $(BOOTCD_DIR)/reactos /I
        $(CABMAN) /C bootdata/packages/reactos.dff /RC $(BOOTCD_DIR)/reactos/reactos.inf /L $(BOOTCD_DIR)/reactos /N
        - $(RM) $(BOOTCD_DIR)/reactos/reactos.inf
-       $(TOOLS_PATH)/cdmake/cdmake -v -m -b $(BOOTCD_DIR)/../isoboot.bin $(BOOTCD_DIR) REACTOS ReactOS.iso
+       $(CDMAKE) -v -m -b $(BOOTCD_DIR)/../isoboot.bin $(BOOTCD_DIR) REACTOS ReactOS.iso
 
 ubootcd_unattend:
        $(CP) bootdata/unattend.inf $(BOOTCD_DIR)/reactos/unattend.inf
@@ -214,12 +219,12 @@ livecd_bootstrap_files:
        $(MAKE) LIVECD_INSTALL=yes fastinstall
 
 livecd_install_before:
-       $(TOOLS_PATH)/mkhive/mkhive$(EXE_POSTFIX) bootdata $(LIVECD_DIR)/reactos/system32/config bootdata/livecd.inf bootdata/hiveinst.inf
+       $(MKHIVE) bootdata $(LIVECD_DIR)/reactos/system32/config bootdata/livecd.inf bootdata/hiveinst.inf
 
 livecd_basic: livecd_directory_layout livecd_bootstrap_files livecd_install_before
 
 livecd_makecd:
-       $(TOOLS_PATH)/cdmake/cdmake -m -j -b $(LIVECD_DIR)/../isoboot.bin $(LIVECD_DIR) REACTOS roslive.iso
+       $(CDMAKE) -m -j -b $(LIVECD_DIR)/../isoboot.bin $(LIVECD_DIR) REACTOS roslive.iso
 
 bootcd: bootcd_basic bootcd_makecd
 
@@ -228,9 +233,9 @@ ubootcd: bootcd_basic ubootcd_unattend bootcd_makecd
 livecd: livecd_basic livecd_makecd
 
 registry: tools
-       $(TOOLS_PATH)/mkhive/mkhive$(EXE_POSTFIX) bootdata $(INSTALL_DIR)/system32/config bootdata/hiveinst.inf
+       $(MKHIVE) bootdata $(INSTALL_DIR)/system32/config bootdata/hiveinst.inf
 
-.PHONY: all depends implib clean clean_before install freeldr bootcd_directory_layout \
+.PHONY: all depends implib test clean clean_before install freeldr bootcd_directory_layout \
 bootcd_bootstrap_files bootcd_install_before bootcd_basic bootcd_makecd ubootcd_unattend bootcd
 
 
@@ -243,6 +248,9 @@ $(SYS_APPS): %:
 $(SYS_APPS:%=%_implib): %_implib:
        $(MAKE) -C subsys/system/$* implib
 
+$(SYS_APPS:%=%_test): %_test:
+       $(MAKE) -C subsys/system/$* test
+
 $(SYS_APPS:%=%_clean): %_clean:
        $(MAKE) -C subsys/system/$* clean
 
@@ -252,7 +260,8 @@ $(SYS_APPS:%=%_install): %_install:
 $(SYS_APPS:%=%_bootcd): %_bootcd:
        $(MAKE) -C subsys/system/$* bootcd
 
-.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_bootcd)
+.PHONY: $(SYS_APPS) $(SYS_APPS:%=%_implib) $(SYS_APPS:%=%_test) \
+  $(SYS_APPS:%=%_clean) $(SYS_APPS:%=%_install) $(SYS_APPS:%=%_bootcd)
 
 #
 # System Services
@@ -266,13 +275,17 @@ $(SYS_SVC:%=%_depends): %_depends:
 $(SYS_SVC:%=%_implib): %_implib:
        $(MAKE) -C services/$* implib
 
+$(SYS_SVC:%=%_test): %_test:
+       $(MAKE) -C services/$* test
+
 $(SYS_SVC:%=%_clean): %_clean:
        $(MAKE) -C services/$* clean
 
 $(SYS_SVC:%=%_install): %_install:
        $(MAKE) -C services/$* install
 
-.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install)
+.PHONY: $(SYS_SVC) $(SYS_SVC:%=%_depends) $(SYS_SVC:%=%_implib) \
+  $(SYS_SVC:%=%_test) $(SYS_SVC:%=%_clean) $(SYS_SVC:%=%_install)
 
 
 #
@@ -288,13 +301,16 @@ $(APPS): %:
 # $(APPS:%=%_implib): %_implib:
 #      $(MAKE) -C apps/$* implib
 
+$(APPS:%=%_test): %_test:
+       $(MAKE) -C apps/$* test
+
 $(APPS:%=%_clean): %_clean:
        $(MAKE) -C apps/$* clean
 
 $(APPS:%=%_install): %_install:
        $(MAKE) -C apps/$* install
 
-.PHONY: $(APPS) $(APPS:%=%_implib) $(APPS:%=%_clean) $(APPS:%=%_install)
+.PHONY: $(APPS) $(APPS:%=%_test) $(APPS:%=%_clean) $(APPS:%=%_install)
 
 
 #
@@ -325,13 +341,17 @@ tools:
        $(MAKE) -C tools
 
 tools_implib:
+       
+
+tools_test:
+       
 
 tools_clean:
        $(MAKE) -C tools clean
 
 tools_install:
 
-.PHONY: tools tools_implib tools_clean tools_install
+.PHONY: tools tools_implib tools_test tools_clean tools_install
 
 
 #
@@ -379,7 +399,9 @@ iface_native:
        $(MAKE) -C iface/native
 
 iface_native_implib:
-
+       
+iface_native_test:
+       
 iface_native_clean:
        $(MAKE) -C iface/native clean
 
@@ -391,7 +413,9 @@ iface_additional:
        $(MAKE) -C iface/addsys
 
 iface_additional_implib:
-
+       
+iface_additional_test:
+       
 iface_additional_clean:
        $(MAKE) -C iface/addsys clean
 
@@ -399,9 +423,9 @@ iface_additional_install:
 
 iface_additional_bootcd:
 
-.PHONY: iface_native iface_native_implib iface_native_clean iface_native_install \
-        iface_native_bootcd \
-        iface_additional iface_additional_implib iface_additional_clean \
+.PHONY: iface_native iface_native_implib iface_native_test iface_native_clean \
+        iface_native_install iface_native_bootcd iface_additional \
+        iface_additional_implib iface_additional_test iface_additional_clean \
         iface_additional_install iface_additional_bootcd
 
 
@@ -414,6 +438,9 @@ $(BUS): %:
 $(BUS:%=%_implib): %_implib:
        $(MAKE) -C drivers/bus/$* implib
 
+$(BUS:%=%_test): %_test:
+       $(MAKE) -C drivers/bus/$* test
+
 $(BUS:%=%_clean): %_clean:
        $(MAKE) -C drivers/bus/$* clean
 
@@ -436,6 +463,9 @@ $(DRIVERS_LIB): %:
 $(DRIVERS_LIB:%=%_implib): %_implib:
        $(MAKE) -C drivers/lib/$* implib
 
+$(DRIVERS_LIB:%=%_test): %_test:
+       $(MAKE) -C drivers/lib/$* test
+
 $(DRIVERS_LIB:%=%_clean): %_clean:
        $(MAKE) -C drivers/lib/$* clean
 
@@ -445,8 +475,8 @@ $(DRIVERS_LIB:%=%_install): %_install:
 $(DRIVERS_LIB:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/lib/$* bootcd
 
-.PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_clean) \
-        $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_bootcd)
+.PHONY: $(DRIVERS_LIB) $(DRIVERS_LIB:%=%_implib) $(DRIVERS_LIB:%=%_test) \
+        $(DRIVERS_LIB:%=%_clean) $(DRIVERS_LIB:%=%_install) $(DRIVERS_LIB:%=%_bootcd)
 
 
 #
@@ -458,6 +488,9 @@ $(DEVICE_DRIVERS): %:
 $(DEVICE_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/dd/$* implib
 
+$(DEVICE_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/dd/$* test
+
 $(DEVICE_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/dd/$* clean
 
@@ -467,8 +500,8 @@ $(DEVICE_DRIVERS:%=%_install): %_install:
 $(DEVICE_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/dd/$* bootcd
 
-.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_clean) \
-        $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_bootcd)
+.PHONY: $(DEVICE_DRIVERS) $(DEVICE_DRIVERS:%=%_implib) $(DEVICE_DRIVERS:%=%_test) \
+        $(DEVICE_DRIVERS:%=%_clean) $(DEVICE_DRIVERS:%=%_install) $(DEVICE_DRIVERS:%=%_bootcd)
 
 
 #
@@ -480,6 +513,9 @@ VIDEO_DRIVERS:
 VIDEO_DRIVERS_implib:
        $(MAKE) -C drivers/video implib
 
+VIDEO_DRIVERS_test:
+       $(MAKE) -C drivers/video test
+
 VIDEO_DRIVERS_clean:
        $(MAKE) -C drivers/video clean
 
@@ -489,8 +525,8 @@ VIDEO_DRIVERS_install:
 VIDEO_DRIVERS_bootcd:
        $(MAKE) -C drivers/video bootcd
 
-.PHONY: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_clean \
-        VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
+.PHONY: VIDEO_DRIVERS VIDEO_DRIVERS_implib VIDEO_DRIVERS_test\
+        VIDEO_DRIVERS_clean VIDEO_DRIVERS_install VIDEO_DRIVERS_bootcd
 
 
 #
@@ -502,6 +538,9 @@ $(INPUT_DRIVERS): %:
 $(INPUT_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/input/$* implib
 
+$(INPUT_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/input/$* test
+
 $(INPUT_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/input/$* clean
 
@@ -511,8 +550,8 @@ $(INPUT_DRIVERS:%=%_install): %_install:
 $(INPUT_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/input/$* bootcd
 
-.PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_clean)\
-        $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_bootcd)
+.PHONY: $(INPUT_DRIVERS) $(INPUT_DRIVERS:%=%_implib) $(INPUT_DRIVERS:%=%_test) \
+        $(INPUT_DRIVERS:%=%_clean) $(INPUT_DRIVERS:%=%_install) $(INPUT_DRIVERS:%=%_bootcd)
 
 #
 # Filesystem driver rules
@@ -523,6 +562,9 @@ $(FS_DRIVERS): %:
 $(FS_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/fs/$* implib
 
+$(FS_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/fs/$* test
+
 $(FS_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/fs/$* clean
 
@@ -532,8 +574,8 @@ $(FS_DRIVERS:%=%_install): %_install:
 $(FS_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/fs/$* bootcd
 
-.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_clean) \
-        $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_bootcd)
+.PHONY: $(FS_DRIVERS) $(FS_DRIVERS:%=%_implib) $(FS_DRIVERS:%=%_test) \
+        $(FS_DRIVERS:%=%_clean) $(FS_DRIVERS:%=%_install) $(FS_DRIVERS:%=%_bootcd)
 
 
 #
@@ -545,6 +587,9 @@ $(NET_DRIVERS): %:
 $(NET_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/net/$* implib
 
+$(NET_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/net/$* test
+
 $(NET_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/net/$* clean
 
@@ -554,8 +599,8 @@ $(NET_DRIVERS:%=%_install): %_install:
 $(NET_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/net/$* bootcd
 
-.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_clean) \
-        $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_bootcd)
+.PHONY: $(NET_DRIVERS) $(NET_DRIVERS:%=%_implib) $(NET_DRIVERS:%=%_test) \
+        $(NET_DRIVERS:%=%_clean) $(NET_DRIVERS:%=%_install) $(NET_DRIVERS:%=%_bootcd)
 
 
 #
@@ -567,6 +612,9 @@ $(NET_DEVICE_DRIVERS): %:
 $(NET_DEVICE_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/net/dd/$* implib
 
+$(NET_DEVICE_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/net/dd/$* test
+
 $(NET_DEVICE_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/net/dd/$* clean
 
@@ -576,7 +624,8 @@ $(NET_DEVICE_DRIVERS:%=%_install): %_install:
 $(NET_DEVICE_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/net/dd/$* bootcd
 
-.PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) $(NET_DEVICE_DRIVERS:%=%_implib) \
+.PHONY: $(NET_DEVICE_DRIVERS) $(NET_DEVICE_DRIVERS:%=%_clean) \
+        $(NET_DEVICE_DRIVERS:%=%_implib) $(NET_DEVICE_DRIVERS:%=%_test) \
         $(NET_DEVICE_DRIVERS:%=%_install) $(NET_DEVICE_DRIVERS:%=%_bootcd)
 
 
@@ -589,6 +638,9 @@ $(STORAGE_DRIVERS): %:
 $(STORAGE_DRIVERS:%=%_implib): %_implib:
        $(MAKE) -C drivers/storage/$* implib
 
+$(STORAGE_DRIVERS:%=%_test): %_test:
+       $(MAKE) -C drivers/storage/$* test
+
 $(STORAGE_DRIVERS:%=%_clean): %_clean:
        $(MAKE) -C drivers/storage/$* clean
 
@@ -598,8 +650,9 @@ $(STORAGE_DRIVERS:%=%_install): %_install:
 $(STORAGE_DRIVERS:%=%_bootcd): %_bootcd:
        $(MAKE) -C drivers/storage/$* bootcd
 
-.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) $(STORAGE_DRIVERS:%=%_implib) \
-               $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_bootcd)
+.PHONY: $(STORAGE_DRIVERS) $(STORAGE_DRIVERS:%=%_clean) \
+        $(STORAGE_DRIVERS:%=%_implib) $(STORAGE_DRIVERS:%=%_test) \
+        $(STORAGE_DRIVERS:%=%_install) $(STORAGE_DRIVERS:%=%_bootcd)
 
 
 #
@@ -610,13 +663,16 @@ $(LOADERS): %:
 
 $(LOADERS:%=%_implib): %_implib:
 
+$(LOADERS:%=%_test): %_test:
+
 $(LOADERS:%=%_clean): %_clean:
        $(MAKE) -C loaders/$* clean
 
 $(LOADERS:%=%_install): %_install:
        $(MAKE) -C loaders/$* install
 
-.PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_clean) $(LOADERS:%=%_install)
+.PHONY: $(LOADERS) $(LOADERS:%=%_implib) $(LOADERS:%=%_test) \
+        $(LOADERS:%=%_clean) $(LOADERS:%=%_install)
 
 
 #
@@ -628,6 +684,9 @@ ntoskrnl:
 ntoskrnl_implib:
        $(MAKE) -C ntoskrnl implib
 
+ntoskrnl_test:
+       $(MAKE) -C ntoskrnl test
+
 ntoskrnl_clean:
        $(MAKE) -C ntoskrnl clean
 
@@ -637,7 +696,8 @@ ntoskrnl_install:
 ntoskrnl_bootcd:
        $(MAKE) -C ntoskrnl bootcd
 
-.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
+.PHONY: ntoskrnl ntoskrnl_implib ntoskrnl_test \
+        ntoskrnl_clean ntoskrnl_install ntoskrnl_bootcd
 
 
 #
@@ -649,6 +709,9 @@ hallib:
 hallib_implib:
        $(MAKE) -C hal/hal implib
 
+hallib_test:
+       $(MAKE) -C hal/hal test
+
 hallib_clean:
        $(MAKE) -C hal/hal clean
 
@@ -658,7 +721,8 @@ hallib_install:
 hallib_bootcd:
        $(MAKE) -C hal/hal bootcd
 
-.PHONY: hallib hallib_implib hallib_clean hallib_install hallib_bootcd
+.PHONY: hallib hallib_implib hallib_test hallib_clean \
+        hallib_install hallib_bootcd
 
 
 #
@@ -670,6 +734,9 @@ $(HALS): %:
 $(HALS:%=%_implib): %_implib:
        $(MAKE) -C hal/$* implib
 
+$(HALS:%=%_test): %_test:
+       $(MAKE) -C hal/$* test
+
 $(HALS:%=%_clean): %_clean:
        $(MAKE) -C hal/$* clean
 
@@ -679,7 +746,8 @@ $(HALS:%=%_install): %_install:
 $(HALS:%=%_bootcd): %_bootcd:
        $(MAKE) -C hal/$* bootcd
 
-.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_bootcd)
+.PHONY: $(HALS) $(HALS:%=%_implib) $(HALS:%=%_test) \
+        $(HALS:%=%_clean) $(HALS:%=%_install) $(HALS:%=%_bootcd)
 
 
 #
@@ -694,6 +762,9 @@ $(LIB_FSLIB:%=%_depends): %_depends:
 $(LIB_FSLIB:%=%_implib): %_implib:
        $(MAKE) -C lib/fslib/$* implib
 
+$(LIB_FSLIB:%=%_test): %_test:
+       $(MAKE) -C lib/fslib/$* test
+
 $(LIB_FSLIB:%=%_clean): %_clean:
        $(MAKE) -C lib/fslib/$* clean
 
@@ -703,8 +774,9 @@ $(LIB_FSLIB:%=%_install): %_install:
 $(LIB_FSLIB:%=%_bootcd): %_bootcd:
        $(MAKE) -C lib/fslib/$* bootcd
 
-.PHONY: $(LIB_FSLIB) $(LIB_FSLIB:%=%_depends) $(LIB_FSLIB:%=%_implib) $(LIB_FSLIB:%=%_clean) \
-       $(LIB_FSLIB:%=%_install) $(LIB_FSLIB:%=%_bootcd)
+.PHONY: $(LIB_FSLIB) $(LIB_FSLIB:%=%_depends) $(LIB_FSLIB:%=%_implib) \
+        $(LIB_FSLIB:%=%_test) $(LIB_FSLIB:%=%_clean) \
+        $(LIB_FSLIB:%=%_install) $(LIB_FSLIB:%=%_bootcd)
 
 
 #
@@ -719,6 +791,9 @@ $(LIB_STATIC:%=%_depends): %_depends:
 $(LIB_STATIC:%=%_implib): %_implib:
        $(MAKE) -C lib/$* implib
 
+$(LIB_STATIC:%=%_test): %_test:
+       $(MAKE) -C lib/$* test
+
 $(LIB_STATIC:%=%_clean): %_clean:
        $(MAKE) -C lib/$* clean
 
@@ -728,8 +803,9 @@ $(LIB_STATIC:%=%_install): %_install:
 $(LIB_STATIC:%=%_bootcd): %_bootcd:
        $(MAKE) -C lib/$* bootcd
 
-.PHONY: $(LIB_STATIC) $(LIB_STATIC:%=%_depends) $(LIB_STATIC:%=%_implib) $(LIB_STATIC:%=%_clean) \
-       $(LIB_STATIC:%=%_install) $(LIB_STATIC:%=%_bootcd)
+.PHONY: $(LIB_STATIC) $(LIB_STATIC:%=%_depends) $(LIB_STATIC:%=%_implib) \
+        $(LIB_STATIC:%=%_test) $(LIB_STATIC:%=%_clean) \
+        $(LIB_STATIC:%=%_install) $(LIB_STATIC:%=%_bootcd)
 
 
 #
@@ -744,6 +820,9 @@ $(DLLS:%=%_depends): %_depends:
 $(DLLS:%=%_implib): %_implib:
        $(MAKE) -C lib/$* implib
 
+$(DLLS:%=%_test): %_test:
+       $(MAKE) -C lib/$* test
+
 $(DLLS:%=%_clean): %_clean:
        $(MAKE) -C lib/$* clean
 
@@ -753,8 +832,8 @@ $(DLLS:%=%_install): %_install:
 $(DLLS:%=%_bootcd): %_bootcd:
        $(MAKE) -C lib/$* bootcd
 
-.PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_clean) $(DLLS:%=%_install) \
-        $(DLLS:%=%_bootcd)
+.PHONY: $(DLLS) $(DLLS:%=%_depends) $(DLLS:%=%_implib) $(DLLS:%=%_test) \
+        $(DLLS:%=%_clean) $(DLLS:%=%_install) $(DLLS:%=%_bootcd)
 
 
 #
@@ -769,6 +848,9 @@ $(SUBSYS:%=%_depends): %_depends:
 $(SUBSYS:%=%_implib): %_implib:
        $(MAKE) -C subsys/$* implib
 
+$(SUBSYS:%=%_test): %_test:
+       $(MAKE) -C subsys/$* test
+
 $(SUBSYS:%=%_clean): %_clean:
        $(MAKE) -C subsys/$* clean
 
@@ -778,8 +860,8 @@ $(SUBSYS:%=%_install): %_install:
 $(SUBSYS:%=%_bootcd): %_bootcd:
        $(MAKE) -C subsys/$* bootcd
 
-.PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) \
-        $(SUBSYS:%=%_bootcd)
+.PHONY: $(SUBSYS) $(SUBSYS:%=%_depends) $(SUBSYS:%=%_implib) $(SUBSYS:%=%_test) \
+        $(SUBSYS:%=%_clean) $(SUBSYS:%=%_install) $(SUBSYS:%=%_bootcd)
 
 #
 # Regression testsuite
@@ -883,7 +965,3 @@ docu:
        doxygen Doxyfile
 
 .PHONY: docu
-
-
-# EOF
-
index 1fcddae..a8c99bf 100644 (file)
@@ -7,6 +7,9 @@ all: $(DISPLAY_DRIVERS:%=DD%) $(MINIPORT_DRIVERS:%=MP%)
 implib: $(DISPLAY_DRIVERS:%=DD%_implib) $(MINIPORT_DRIVERS:%=MP%_implib)
        $(MAKE) -C videoprt implib
 
+test: $(DISPLAY_DRIVERS:%=DD%_test) $(MINIPORT_DRIVERS:%=MP%_test)
+       $(MAKE) -C videoprt test
+
 clean: $(DISPLAY_DRIVERS:%=DD%_clean) $(MINIPORT_DRIVERS:%=MP%_clean)
        $(MAKE) -C videoprt clean
 
@@ -26,6 +29,9 @@ $(DISPLAY_DRIVERS:%=DD%): DD%:
 $(DISPLAY_DRIVERS:%=DD%_implib): DD%_implib:
        $(MAKE) -C displays/$* implib
 
+$(DISPLAY_DRIVERS:%=DD%_test): DD%_test:
+       $(MAKE) -C displays/$* test
+
 $(DISPLAY_DRIVERS:%=DD%_clean): DD%_clean:
        $(MAKE) -C displays/$* clean
 
@@ -35,7 +41,8 @@ $(DISPLAY_DRIVERS:%=DD%_install): DD%_install:
 $(DISPLAY_DRIVERS:%=DD%_bootcd): DD%_bootcd:
        $(MAKE) -C displays/$* bootcd
 
-.PHONY: $(DISPLAY_DRIVERS:%=DD%) $(DISPLAY_DRIVERS:%=DD%_implib) $(DISPLAY_DRIVERS:%=DD%_clean)\
+.PHONY: $(DISPLAY_DRIVERS:%=DD%) $(DISPLAY_DRIVERS:%=DD%_implib) \
+        $(DISPLAY_DRIVERS:%=DD%_test) $(DISPLAY_DRIVERS:%=DD%_clean) \
         $(DISPLAY_DRIVERS:%=DD%_install) $(DISPLAY_DRIVERS:%=DD%_bootcd)
 
 
@@ -49,6 +56,9 @@ $(MINIPORT_DRIVERS:%=MP%): MP%:
 $(MINIPORT_DRIVERS:%=MP%_implib): MP%_implib:
        $(MAKE) -C miniport/$* implib
 
+$(MINIPORT_DRIVERS:%=MP%_test): MP%_test:
+       $(MAKE) -C miniport/$* test
+
 $(MINIPORT_DRIVERS:%=MP%_clean): MP%_clean:
        $(MAKE) -C miniport/$* clean
 
@@ -58,5 +68,6 @@ $(MINIPORT_DRIVERS:%=MP%_install): MP%_install:
 $(MINIPORT_DRIVERS:%=MP%_bootcd): MP%_bootcd:
        $(MAKE) -C miniport/$* bootcd
 
-.PHONY: $(MINIPORT_DRIVERS:%=MP%) $(MINIPORT_DRIVERS:%=MP%_implib) $(MINIPORT_DRIVERS:%=MP%_clean)\
+.PHONY: $(MINIPORT_DRIVERS:%=MP%) $(MINIPORT_DRIVERS:%=MP%_implib) \
+        $(MINIPORT_DRIVERS:%=MP%_test) $(MINIPORT_DRIVERS:%=MP%_clean) \
         $(MINIPORT_DRIVERS:%=MP%_install) $(MINIPORT_DRIVERS:%=MP%_bootcd)
index 95b73f3..718a833 100644 (file)
 
 /* Fixed precision types */
 typedef signed char         INT8, *PINT8;
-typedef signed short        INT16, *PINT16;
-
 typedef unsigned char       UINT8, *PUINT8;
+
+#ifndef __USE_W32API
+typedef signed short        INT16, *PINT16;
 typedef unsigned short      UINT16, *PUINT16;
+#endif
 
 
 /* Check VOID before defining CHAR, SHORT */
index 68f4ca0..8623261 100644 (file)
@@ -14,6 +14,8 @@ depends:
 
 implib: $(CONTROL_PANELS:%=%_implib)
 
+test: $(CONTROL_PANELS:%=%_test)
+
 clean:         $(CONTROL_PANELS:%=%_clean)
 
 install: $(CONTROL_PANELS:%=%_install)
@@ -32,6 +34,9 @@ $(CONTROL_PANELS): %:
 $(CONTROL_PANELS:%=%_implib): %_implib:
        $(MAKE) -C $* implib
 
+$(CONTROL_PANELS:%=%_test): %_test:
+       $(MAKE) -C $* test
+
 $(CONTROL_PANELS:%=%_clean): %_clean:
        $(MAKE) -C $* clean
 
@@ -41,10 +46,10 @@ $(CONTROL_PANELS:%=%_install): %_install:
 $(CONTROL_PANELS:%=%_bootcd): %_bootcd:
        $(MAKE) -C $* bootcd
 
-.PHONY: $(CONTROL_PANELS) $(CONTROL_PANELS:%=%_implib) $(CONTROL_PANELS:%=%_clean) $(CONTROL_PANELS:%=%_install) $(CONTROL_PANELS:%=%_bootcd)
+.PHONY: $(CONTROL_PANELS) $(CONTROL_PANELS:%=%_implib) $(CONTROL_PANELS:%=%_test) \
+        $(CONTROL_PANELS:%=%_clean) $(CONTROL_PANELS:%=%_install) \
+        $(CONTROL_PANELS:%=%_bootcd)
 
 
 etags:
        find . -name "*.[ch]" -print | etags --language=c -
-
-# EOF
index b5d299d..e3b9300 100644 (file)
@@ -52,7 +52,6 @@
 #include "wine/debug.h"
 
 /* Start of Hack section */
-typedef unsigned short UINT16;
 
 WINE_DEFAULT_DEBUG_CHANNEL(icon);
 
index 77a8197..7804097 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile,v 1.133 2004/07/19 04:52:23 ion Exp $
+# $Id: Makefile,v 1.134 2004/07/23 20:03:25 chorns Exp $
 #
 # ReactOS Operating System
 #
@@ -690,6 +690,9 @@ $(DDK_PATH_LIB)/$(TARGETNAME).a: $(TARGETNAME).def
 
 implib: $(DDK_PATH_LIB)/$(TARGETNAME).a
 
+test:
+       -
+
 clean:
        - $(RM) $(OBJECTS_PATH)/*.o cc/*.o cm/*.o dbg/*.o dbg/i386/*.o ex/*.o \
               ex/i386/*.o inbv/*.o io/*.o ke/*.o ldr/*.o mm/*.o nt/*.o ob/*.o ps/*.o \
index 753c488..89e7d40 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "regtests.h"
 
-static int RunTest(char *Buffer)
+static int
+RunTest(char *Buffer)
 {
   VOID *pmem1, *MdlPfnArray, *MdlVirtAddr;
   ULONG MdlSize, MdlOffset, AllocSize;
@@ -48,8 +49,4 @@ static int RunTest(char *Buffer)
   return TS_OK;
 }
 
-int
-Mdl_1Test(int Command, char *Buffer)
-{
-  DISPATCHER("Kernel Memory MDL API (1)");
-}
+DISPATCHER(Mdl_1Test, "Kernel Memory MDL API (1)")
index 2f4418e..99e5983 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "regtests.h"
 
-static int RunTest(char *Buffer)
+static int
+RunTest(char *Buffer)
 {
   VOID *pmem1, *sysaddr1, *sysaddr2;
   ULONG AllocSize;
@@ -44,8 +45,4 @@ static int RunTest(char *Buffer)
   return TS_OK;
 }
 
-int
-Mdl_2Test(int Command, char *Buffer)
-{
-  DISPATCHER("Kernel Memory MDL API (2)");
-}
+DISPATCHER(Mdl_2Test, "Kernel Memory MDL API (2)")
index eee6022..dbd95ce 100644 (file)
@@ -3,7 +3,8 @@
 
 #include "regtests.h"
 
-static int RunTest(char *Buffer)
+static int
+RunTest(char *Buffer)
 {
   VOID *pmem1, *pmem2, *pmem3, *pmem4, *pmem5;
   PHYSICAL_ADDRESS LowestAcceptableAddress, HighestAcceptableAddress, BoundryAddressMultiple,
@@ -117,8 +118,4 @@ static int RunTest(char *Buffer)
   return TS_OK;
 }
 
-int
-Mm_1Test(int Command, char *Buffer)
-{
-  DISPATCHER("Kernel Core Memory API");
-}
+DISPATCHER(Mm_1Test, "Kernel Core Memory API")
index 232ba36..6e67f52 100755 (executable)
@@ -7,11 +7,13 @@
  *      06-07-2003  CSH  Created
  */
 #include <roscfg.h>
+#include <ctype.h>
+#include <stdlib.h>
 #include <stdio.h>
+#include <string.h>
 #define NTOS_MODE_USER
 #include <ntos.h>
 #include "regtests.h"
-#include <string.h>
 
 #define NDEBUG
 #include <debug.h>
index 1595a57..631c84e 100755 (executable)
@@ -6,7 +6,8 @@
  * UPDATE HISTORY:
  *      06-07-2003  CSH  Created
  */
-#include <ntos.h>
+#include <stdio.h>
+#include <windows.h>
 
 /* Valid values for Command parameter of TestRoutine */
 #define TESTCMD_RUN       0   /* Buffer contains information about what failed */
 #define TS_FAILED         1
 
 /* Macros to simplify tests */
-#define DISPATCHER(TestName)    \
-  switch (Command)              \
-  {                             \
-    case TESTCMD_RUN:           \
-      return RunTest(Buffer);   \
-    case TESTCMD_TESTNAME:      \
+#define DISPATCHER(FunctionName, TestName) \
+int \
+FunctionName(int Command, \
+  char *Buffer) \
+{ \
+  switch (Command) \
+    { \
+    case TESTCMD_RUN: \
+      return RunTest(Buffer); \
+    case TESTCMD_TESTNAME: \
       strcpy(Buffer, TestName); \
-      return TS_OK;             \
-    default:                    \
-      break;                    \
-  }                             \
-  return TS_FAILED;
+      return TS_OK; \
+    default: \
+      break; \
+    } \
+  return TS_FAILED; \
+}
 
 #define FAIL(ErrorMessage) \
   sprintf(Buffer, "%s\n", ErrorMessage); \
index 07985e1..580e83c 100644 (file)
@@ -45,9 +45,4 @@ static int RunTest(char *Buffer)
   return TS_OK;
 }
 
-int
-Eng_mem_1Test(int Command, char *Buffer)
-{
-  DISPATCHER("Win32k Engine Memory API");
-}
-
+DISPATCHER(Eng_mem_1Test, "Win32k Engine Memory API")
index ad02acf..ed94141 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: helper.mk,v 1.70 2004/07/21 18:17:50 chorns Exp $
+# $Id: helper.mk,v 1.71 2004/07/23 20:03:25 chorns Exp $
 #
 # Helper makefile for ReactOS modules
 # Variables this makefile accepts:
@@ -50,6 +50,7 @@
 #   $TARGET_BOOTSTRAP  = Whether this file is needed to bootstrap the installation (no,yes) (optional)
 #   $TARGET_BOOTSTRAP_NAME = Name on the installation medium (optional)
 #   $TARGET_REGTESTS   = This module has regression tests (no,yes) (optional)
+#   $TARGET_BUILDENV_TEST = Build this test to be run in the build environment (no,yes) (optional)
 #   $WINE_MODE         = Compile using WINE headers (no,yes) (optional)
 #   $WINE_RC           = Name of .rc file for WINE modules (optional)
 #   $SUBDIRS           = Subdirs in which to run make (optional)
@@ -988,7 +989,11 @@ REGTEST_TESTS = $(wildcard tests/tests/*.c)
 
 $(REGTEST_TARGETS): $(REGTEST_TESTS)
 ifeq ($(MK_MODE),user)
+ifeq ($(TARGET_BUILDENV_TEST),yes)
+       $(REGTESTS) ./tests/tests ./tests/_regtests.c ./tests/Makefile.tests -e ./tests/_rtstub.c
+else
        $(REGTESTS) ./tests/tests ./tests/_regtests.c ./tests/Makefile.tests -u ./tests/_rtstub.c
+endif
        $(MAKE) -C tests TARGET_REGTESTS=no all
 else
 ifeq ($(MK_MODE),kernel)
@@ -1010,6 +1015,9 @@ $(SUBDIRS:%=%_all): %_all:
 $(SUBDIRS:%=%_implib): %_implib:
        $(MAKE) -C $* SUBDIRS= implib
 
+$(SUBDIRS:%=%_test): %_test:
+       $(MAKE) -C $* SUBDIRS= test
+
 $(SUBDIRS:%=%_clean): %_clean:
        $(MAKE) -C $* SUBDIRS= clean
 
@@ -1022,8 +1030,9 @@ $(SUBDIRS:%=%_dist): %_dist:
 $(SUBDIRS:%=%_bootcd): %_bootcd:
        $(MAKE) -C $* SUBDIRS= bootcd
 
-.PHONY: $(SUBDIRS:%=%_all) $(SUBDIRS:%=%_implib) $(SUBDIRS:%=%_clean) \
-        $(SUBDIRS:%=%_install) $(SUBDIRS:%=%_dist) $(SUBDIRS:%=%_bootcd)
+.PHONY: $(SUBDIRS:%=%_all) $(SUBDIRS:%=%_implib) $(SUBDIRS:%=%_test) \
+        $(SUBDIRS:%=%_clean) $(SUBDIRS:%=%_install) $(SUBDIRS:%=%_dist) \
+        $(SUBDIRS:%=%_bootcd)
 endif
 
 # Precompiled header support
@@ -1053,6 +1062,20 @@ endif # TARGET_PCH
 endif # ROS_USE_PCH
 
 
+ifeq ($(TARGET_REGTESTS),yes)
+ifeq ($(TARGET_BUILDENV_TEST),yes)
+test: all
+       $(MAKE) -C tests run
+else
+test:
+       -
+endif
+else
+test:
+       -
+endif
+
+
 %.o: %.c $(MK_PCHNAME)
        $(CC) $(TARGET_CFLAGS) -c $< -o $@
 %.o: %.cc
index 825908d..9cdd83b 100755 (executable)
@@ -38,8 +38,10 @@ static char *file;
 static char *makefile;
 static char *umstubfile;
 static char *kmstubfile;
+static char *exestubfile;
 
-char* convert_path(char* origpath)
+static char*
+convert_path(char* origpath)
 {
    char* newpath;
    int i;
@@ -70,7 +72,8 @@ char* convert_path(char* origpath)
    return(newpath);
 }
 
-static void write_line(char *line)
+static void
+write_line(char *line)
 {
   int n_out;
   char buf[200];
@@ -84,7 +87,10 @@ static void write_line(char *line)
   n_out = fwrite(&buf[0], 1, strlen(buf), out);
 }
 
-static void change_extension(char *filenamebuffer, char *filename, char *newextension)
+static void
+change_extension(char *filenamebuffer,
+  char *filename,
+  char *newextension)
 {
   char *ptr;
 
@@ -108,61 +114,81 @@ static void change_extension(char *filenamebuffer, char *filename, char *newexte
     }
 }
 
+static void
+get_test_name(char *filename,
+  char *testname)
+{
+  int i;
+
+  strcpy(testname, filename);
+
+  i = strlen(testname);
+  while (i > 0 && testname[i] != '.')
+    {
+      i--;
+    }
+  if (i > 0)
+    {
+      testname[i] = 0;
+    }
+
+  /* Make a capital first letter and make all other letters lower case */
+  testname[0] = toupper(testname[0]);
+  if (!((testname[0] >= 'A' && testname[0] <= 'Z') ||
+    (testname[0] >= '0' && testname[0] <= '9')))
+    {
+      testname[0] = '_';
+    }
+  i = 1;
+  while (i < strlen(testname))
+    {
+      testname[i] = tolower(testname[i]);
+      if (!((testname[i] >= 'a' && testname[i] <= 'z') ||
+        (testname[i] >= '0' && testname[i] <= '9')))
+        {
+          testname[i] = '_';
+        }
+      i++;
+    }
+}
+
 /*
  * filename - name of file to make registrations for
- * regtype  - type of registration (0 = prototype, 1 = call, 2 = makefile)
+ * type     - type of registration (0 = prototype, 1 = call, 2 = makefile)
  */
-void register_test(char *filename, int type)
+static void
+register_test(char *filename,
+  int type)
 {
   char ext[100];
   char testname[100];
   char call[100];
   char regtest[100];
   char filenamebuffer[MAX_PATH];
-  int i, j;
-
-  strcpy(testname, filename);
+  int i;
 
-  i = strlen(testname);
-  while (i > 0 && testname[i] != '.')
+  i = strlen(filename);
+  while (i > 0 && filename[i] != '.')
     {
       i--;
     }
   if (i > 0)
     {
       memset(ext, 0, sizeof(ext));
-      strncpy(&ext[0], &testname[i], strlen(&testname[i]));
+      strncpy(&ext[0], &filename[i], strlen(&filename[i]));
 
       if ((strncmp(ext, ".c", 2) != 0) && (strncmp(ext, ".C", 2) != 0))
         {
           return;
         }
-
-      testname[i] = 0;
     }
   else
     {
       return;
     }
 
-  // Make a capital first letter and make all other letters lower case
-  testname[0] = toupper(testname[0]);
-  if (!((testname[0] >= 'A' && testname[0] <= 'Z') ||
-    (testname[0] >= '0' && testname[0] <= '9')))
-    {
-      testname[0] = '_';
-    }
-  j = 1;
-  while (j < strlen(testname))
-    {
-      testname[j] = tolower(testname[j]);
-      if (!((testname[j] >= 'a' && testname[j] <= 'z') ||
-        (testname[j] >= '0' && testname[j] <= '9')))
-        {
-          testname[j] = '_';
-        }
-      j++;
-    }
+  memset(testname, 0, sizeof(testname));
+  get_test_name(filename, testname);
 
   if (type == 0)
     {
@@ -327,7 +353,8 @@ make_file_list (int type)
 #endif
 
 static int
-is_file_changed(char *filename, char *content)
+is_file_changed(char *filename,
+  char *content)
 {
   FILE *file;
   int size;
@@ -379,7 +406,8 @@ is_file_changed(char *filename, char *content)
 }
 
 static int
-write_file_if_changed(char *filename, char *content)
+write_file_if_changed(char *filename,
+  char *content)
 {
   FILE *file;
   int n;
@@ -484,16 +512,62 @@ static char UMSTUB[] =
   "    }\n"
   "}\n";
 
+static char EXESTUB[] =
+  "/* This file is autogenerated. */\n"
+  "\n"
+  "#include <stdio.h>\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"
+  "void\n"
+  "ConsoleWrite(char *Buffer)\n"
+  "{\n"
+  "  printf(Buffer);\n"
+  "}\n"
+  "\n"
+  "ULONG\n"
+  "DbgPrint(PCH Format, ...)\n"
+  "{\n"
+  "  return 0;\n"
+  "}\n"
+  "\n"
+  "int __stdcall WinMain(HINSTANCE hInstance,\n"
+  "  HINSTANCE hPrevInstance,\n"
+  "  LPSTR lpCmdLine,\n"
+  "  int nCmdShow)\n"
+  "{\n"
+  "  InitializeTests();\n"
+  "  RegisterTests();\n"
+  "  PerformTests(ConsoleWrite, NULL);\n"
+  "  return 0;\n"
+  "}\n";
+
 static char HELP[] =
-  "REGTESTS path file makefile [-u umstubfile] [-k kmstubfile]\n"
+  "REGTESTS path file makefile [-u umstubfile] [-k kmstubfile] [-e exestubfile]\n"
   "\n"
   "  path        Path to files\n"
   "  file        Registration file to create\n"
   "  makefile    Makefile to create\n"
   "  umstubfile  Optional stub for running tests internal to a user-mode module\n"
-  "  kmstubfile  Optional stub for running tests internal to a kernel-mode module\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";
 
-int main(int argc, char **argv)
+int main(int argc,
+  char **argv)
 {
   char buf[MAX_PATH];
   int i;
@@ -535,6 +609,7 @@ int main(int argc, char **argv)
 
   umstubfile = NULL;
   kmstubfile = NULL;
+  exestubfile = NULL;
   for (i = 4; i < argc; i++)
     {
          if (argv[i][0] == '-')
@@ -555,6 +630,15 @@ int main(int argc, char **argv)
                 {
                   printf("Missing kmstubfile\n");
                   return 1;
+                }
+                   }
+                 else if (argv[i][1] == 'e')
+                   {
+              exestubfile = convert_path(argv[++i]);
+              if (exestubfile[0] == 0)
+                {
+                  printf("Missing exestubfile\n");
+                  return 1;
                 }
                    }
                  else
@@ -632,5 +716,15 @@ int main(int argc, char **argv)
         }
     }
 
+  /* Executable stubfile */
+  if (exestubfile != NULL)
+    {
+      if (write_file_if_changed(exestubfile, EXESTUB) != 0)
+       {
+          perror("Cannot create output executable stubfile");
+          return 1;
+        }
+    }
+
   return 0;
 }
index d9c375d..14d029e 100644 (file)
@@ -111,6 +111,10 @@ typedef __int64 INT64,  *PINT64;
 typedef unsigned __int64 ULONG64, *PULONG64;
 typedef unsigned __int64 DWORD64, *PDWORD64;
 typedef unsigned __int64 UINT64,  *PUINT64;
+
+typedef signed short INT16, *PINT16;
+typedef unsigned short UINT16, *PUINT16;
+
 #ifdef __cplusplus
 }
 #endif