Enable 'nmake test' on building extensions
authory-uti <y.uchiyama.1015@gmail.com>
Mon, 28 Mar 2016 10:50:31 +0000 (19:50 +0900)
committerAnatol Belski <ab@php.net>
Mon, 25 Jul 2016 07:46:06 +0000 (09:46 +0200)
On Windows, Makefile generated by phpize doesn't have the 'test'
target rule. This commit fixes that and enables 'nmake test' on
Windows.

win32/build/Makefile
win32/build/Makefile.phpize
win32/build/phpize.js.in

index 06f8ef35d5088dafd5761b629ea5e50707b6f506..245643b1602003bc31c0c297d60e12c7db49b889 100644 (file)
@@ -195,6 +195,7 @@ build-lib: build-ext-libs
 build-devel: build-headers build-lib
        @if not exist $(BUILD_DIR_DEV)\script mkdir $(BUILD_DIR_DEV)\script >nul
        @if not exist $(BUILD_DIR_DEV)\build mkdir $(BUILD_DIR_DEV)\build >nul
+       @copy run-tests.php $(BUILD_DIR_DEV)\script\ /y >nul
        @copy win32\build\confutils.js $(BUILD_DIR_DEV)\script\ /y >nul
        @copy win32\build\configure.tail $(BUILD_DIR_DEV)\script\ /y >nul
        @copy win32\build\config.w32.phpize.in $(BUILD_DIR_DEV)\script\ /y >nul
index cd74336039a82eb21c12a42b5dcf220bf052d351..d3b89c919516f5dd5051ac91e1da1851d3beb6c6 100644 (file)
@@ -28,6 +28,15 @@ clean: clean-pecl
        @for %D in (_x $(BUILD_DIRS_SUB)) do @if exist %D @del /F /Q %D\*.* > NUL\r
        -@del /F /Q $(BUILD_DIR)\*.res $(BUILD_DIR)\*.lib $(BUILD_DIR)\*.ilk $(BUILD_DIR)\*.pdb $(BUILD_DIR)\*.exp $(PHPDEF) $(BUILD_DIR)\php-$(PHP_VERSION_STRING)-Win32.zip $(BUILD_DIR)\pecl-$(PHP_VERSION_STRING)-Win32.zip > NUL\r
 \r
+!if "$(EXT_TARGETS)" == ""
+_EXTENSION_DLL=$(PECL_TARGETS)
+!else
+_EXTENSION_DLL=$(EXT_TARGETS)
+!endif
+
+test:
+       "$(PHP_PREFIX)\php.exe" -d open_basedir= -d output_buffering=0 run-tests.php $(TESTS) -p "$(PHP_PREFIX)\php.exe" -d extension=$(BUILD_DIR)\$(_EXTENSION_DLL)
+
 !if $(MT) == ""\r
 _VC_MANIFEST_EMBED_EXE=\r
 _VC_MANIFEST_EMBED_DLL=\r
index e610897b4c27c1903b7e5bd4e4c81084cce0a639..f3fc8c48d5c93be61ccccff14214c3e2585d8f5c 100644 (file)
@@ -262,3 +262,5 @@ C.Write(file_get_contents(PHP_DIR + "\\script\\configure.tail"));
 \r
 B.WriteLine("@echo off");\r
 B.WriteLine("cscript /nologo configure.js %*");\r
+
+FSO.CopyFile(PHP_DIR + "\\script\\run-tests.php", "run-tests.php", true);