diff options
37 files changed, 147 insertions, 141 deletions
@@ -4,6 +4,7 @@ PHP NEWS ?? ??? ????, PHP 7.4.2 - Core: + . Preloading support on Windows has been disabled. (Nikita) . Fixed bug #79022 (class_exists returns True for classes that are not ready to be used). (Laruence) . Fixed bug #78929 (plus signs in cookie values are converted to spaces). diff --git a/ext/ffi/tests/300-win32.phpt b/ext/ffi/tests/300-win32.phpt deleted file mode 100644 index 9fd9fac4c4..0000000000 --- a/ext/ffi/tests/300-win32.phpt +++ /dev/null @@ -1,24 +0,0 @@ ---TEST-- -FFI 300: FFI preloading on Windows ---SKIPIF-- -<?php require_once('skipif.inc'); ?> -<?php if (!extension_loaded('Zend OPcache')) die('skip Zend OPcache extension not available'); ?> -<?php if (substr(PHP_OS, 0, 3) != 'WIN') die('skip for Windows only'); ?> ---INI-- -ffi.enable=1 -opcache.enable=1 -opcache.enable_cli=1 -opcache.optimization_level=-1 -opcache.preload={PWD}/preload.inc ---FILE-- -<?php -$ffi = FFI::scope("TEST_300_WIN32"); -$ffi->php_printf("Hello World from %s!\n", "PHP"); -?> ---CLEAN-- -<?php - $fn = __DIR__ . "/300-win32.h"; - unlink($fn); -?> ---EXPECT-- -Hello World from PHP! diff --git a/ext/ffi/tests/bug78761.phpt b/ext/ffi/tests/bug78761.phpt index 1db977a841..0e6ae1b3b8 100644 --- a/ext/ffi/tests/bug78761.phpt +++ b/ext/ffi/tests/bug78761.phpt @@ -1,7 +1,10 @@ --TEST-- Bug #78761 (Zend memory heap corruption with preload and casting) --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --INI-- opcache.enable_cli=1 opcache.preload={PWD}/bug78761_preload.php diff --git a/ext/opcache/ZendAccelerator.c b/ext/opcache/ZendAccelerator.c index 1cb21cd130..e19980ab05 100644 --- a/ext/opcache/ZendAccelerator.c +++ b/ext/opcache/ZendAccelerator.c @@ -3397,13 +3397,6 @@ static void get_unlinked_dependency(zend_class_entry *ce, const char **kind, con *name = ZSTR_VAL(ce->parent_name); return; } -#ifdef ZEND_WIN32 - if (p->type == ZEND_INTERNAL_CLASS) { - *kind = "Windows can't link to internal parent "; - *name = ZSTR_VAL(ce->parent_name); - return; - } -#endif if (!(p->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { *kind = "Parent with unresolved initializers "; *name = ZSTR_VAL(ce->parent_name); @@ -3523,13 +3516,6 @@ static zend_bool preload_try_resolve_property_types(zend_class_entry *ce) continue; } if (p != ce) { -#ifdef ZEND_WIN32 - /* On Windows we can't link with internal class, because of ASLR */ - if (p->type == ZEND_INTERNAL_CLASS) { - ok = 0; - continue; - } -#endif if (!(p->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { ok = 0; continue; @@ -3666,10 +3652,6 @@ static void preload_link(void) parent = zend_hash_find_ptr(EG(class_table), key); zend_string_release(key); if (!parent) continue; -#ifdef ZEND_WIN32 - /* On Windows we can't link with internal class, because of ASLR */ - if (parent->type == ZEND_INTERNAL_CLASS) continue; -#endif if (!(parent->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { continue; } @@ -3686,13 +3668,6 @@ static void preload_link(void) found = 0; break; } -#ifdef ZEND_WIN32 - /* On Windows we can't link with internal class, because of ASLR */ - if (p->type == ZEND_INTERNAL_CLASS) { - found = 0; - break; - } -#endif if (!(p->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { found = 0; break; @@ -3709,13 +3684,6 @@ static void preload_link(void) found = 0; break; } -#ifdef ZEND_WIN32 - /* On Windows we can't link with internal class, because of ASLR */ - if (p->type == ZEND_INTERNAL_CLASS) { - found = 0; - break; - } -#endif } if (!found) continue; } @@ -3859,26 +3827,6 @@ static void preload_link(void) } ZEND_HASH_FOREACH_END(); } -#ifdef ZEND_WIN32 -static void preload_check_windows_restriction(zend_class_entry *scope, zend_class_entry *ce) { - if (ce && ce->type == ZEND_INTERNAL_CLASS) { - zend_error_noreturn(E_ERROR, - "Class %s uses internal class %s during preloading, which is not supported on Windows", - ZSTR_VAL(scope->name), ZSTR_VAL(ce->name)); - } -} - -static void preload_check_windows_restrictions(zend_class_entry *scope) { - uint32_t i; - - preload_check_windows_restriction(scope, scope->parent); - - for (i = 0; i < scope->num_interfaces; i++) { - preload_check_windows_restriction(scope, scope->interfaces[i]); - } -} -#endif - static inline int preload_update_class_constants(zend_class_entry *ce) { /* This is a separate function to work around what appears to be a bug in GCC * maybe-uninitialized analysis. */ @@ -3931,10 +3879,6 @@ static void preload_ensure_classes_loadable() { continue; } -#ifdef ZEND_WIN32 - preload_check_windows_restrictions(ce); -#endif - if (!(ce->ce_flags & ZEND_ACC_CONSTANTS_UPDATED)) { if (preload_update_class_constants(ce) == FAILURE) { zend_error_noreturn(E_ERROR, @@ -4601,9 +4545,11 @@ static int accel_finish_startup(void) } if (ZCG(accel_directives).preload && *ZCG(accel_directives).preload) { -#ifndef ZEND_WIN32 +#ifdef ZEND_WIN32 + zend_accel_error(ACCEL_LOG_ERROR, "Preloading is not supported on Windows"); + return FAILURE; +#else int in_child = 0; -#endif int ret = SUCCESS; int rc; int orig_error_reporting; @@ -4637,7 +4583,6 @@ static int accel_finish_startup(void) return SUCCESS; } -#ifndef ZEND_WIN32 if (geteuid() == 0) { pid_t pid; struct passwd *pw; @@ -4701,7 +4646,6 @@ static int accel_finish_startup(void) zend_accel_error(ACCEL_LOG_WARNING, "\"opcache.preload_user\" is ignored"); } } -#endif sapi_module.activate = NULL; sapi_module.deactivate = NULL; @@ -4713,11 +4657,9 @@ static int accel_finish_startup(void) sapi_module.ub_write = preload_ub_write; sapi_module.flush = preload_flush; -#ifndef ZEND_WIN32 if (in_child) { CG(compiler_options) |= ZEND_COMPILE_PRELOAD_IN_CHILD; } -#endif CG(compiler_options) |= ZEND_COMPILE_PRELOAD; CG(compiler_options) |= ZEND_COMPILE_HANDLE_OP_ARRAY; CG(compiler_options) |= ZEND_COMPILE_IGNORE_INTERNAL_CLASSES; @@ -4792,7 +4734,6 @@ static int accel_finish_startup(void) sapi_activate(); -#ifndef ZEND_WIN32 if (in_child) { if (ret == SUCCESS) { exit(0); @@ -4800,9 +4741,9 @@ static int accel_finish_startup(void) exit(2); } } -#endif return ret; +#endif } return SUCCESS; diff --git a/ext/opcache/tests/bug78014.phpt b/ext/opcache/tests/bug78014.phpt index 14f205e7b8..47ec05977c 100644 --- a/ext/opcache/tests/bug78014.phpt +++ b/ext/opcache/tests/bug78014.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78014.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php class B extends A { diff --git a/ext/opcache/tests/bug78175.phpt b/ext/opcache/tests/bug78175.phpt index eb513e3f01..b477e04fe6 100644 --- a/ext/opcache/tests/bug78175.phpt +++ b/ext/opcache/tests/bug78175.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78175.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- OK --EXPECT-- diff --git a/ext/opcache/tests/bug78175_2.phpt b/ext/opcache/tests/bug78175_2.phpt index 1d736f6e10..7b5ad850ae 100644 --- a/ext/opcache/tests/bug78175_2.phpt +++ b/ext/opcache/tests/bug78175_2.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78175_2.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(get_class(Loader::getLoader())); diff --git a/ext/opcache/tests/bug78376.phpt b/ext/opcache/tests/bug78376.phpt index efc69c927e..5a8ed8b15a 100644 --- a/ext/opcache/tests/bug78376.phpt +++ b/ext/opcache/tests/bug78376.phpt @@ -6,10 +6,13 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78376.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(\A::$a); ?> --EXPECT-- -string(4) "aaaa"
\ No newline at end of file +string(4) "aaaa" diff --git a/ext/opcache/tests/bug78937_1.phpt b/ext/opcache/tests/bug78937_1.phpt index 1125ad4eb0..bc285f107b 100644 --- a/ext/opcache/tests/bug78937_1.phpt +++ b/ext/opcache/tests/bug78937_1.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php class Bar { diff --git a/ext/opcache/tests/bug78937_2.phpt b/ext/opcache/tests/bug78937_2.phpt index 880063298b..a20c07d231 100644 --- a/ext/opcache/tests/bug78937_2.phpt +++ b/ext/opcache/tests/bug78937_2.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php include(__DIR__ . "/preload_bug78937.inc"); @@ -19,4 +22,4 @@ Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78 Warning: Can't preload unlinked class class@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3 object(class@anonymous)#%d (0) { -}
\ No newline at end of file +} diff --git a/ext/opcache/tests/bug78937_3.phpt b/ext/opcache/tests/bug78937_3.phpt index 1c706e237d..16f7b80a40 100644 --- a/ext/opcache/tests/bug78937_3.phpt +++ b/ext/opcache/tests/bug78937_3.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php include(__DIR__ . "/preload_bug78937.inc"); diff --git a/ext/opcache/tests/bug78937_4.phpt b/ext/opcache/tests/bug78937_4.phpt index b555516d00..2ad86870de 100644 --- a/ext/opcache/tests/bug78937_4.phpt +++ b/ext/opcache/tests/bug78937_4.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php class Bar { @@ -19,4 +22,4 @@ Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78 Warning: Can't preload unlinked class class@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3 -Fatal error: Class foo wasn't preloaded in %spreload_bug78937.inc on line 6
\ No newline at end of file +Fatal error: Class foo wasn't preloaded in %spreload_bug78937.inc on line 6 diff --git a/ext/opcache/tests/bug78937_5.phpt b/ext/opcache/tests/bug78937_5.phpt index f9f01a2a26..3502699750 100644 --- a/ext/opcache/tests/bug78937_5.phpt +++ b/ext/opcache/tests/bug78937_5.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php include(__DIR__ . "/preload_bug78937.inc"); @@ -20,4 +23,4 @@ Warning: Can't preload unlinked class Foo: Unknown parent Bar in %spreload_bug78 Warning: Can't preload unlinked class class@anonymous: Unknown parent Bar in %spreload_bug78937.inc on line 3 object(Foo)#%d (0) { -}
\ No newline at end of file +} diff --git a/ext/opcache/tests/bug78937_6.phpt b/ext/opcache/tests/bug78937_6.phpt index 28dcb0ce53..ec1cc2d277 100644 --- a/ext/opcache/tests/bug78937_6.phpt +++ b/ext/opcache/tests/bug78937_6.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_bug78937.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php include(__DIR__ . "/preload_bug78937.inc"); diff --git a/ext/opcache/tests/preload_001.phpt b/ext/opcache/tests/preload_001.phpt index 8b1fa1ff31..56ed196e99 100644 --- a/ext/opcache/tests/preload_001.phpt +++ b/ext/opcache/tests/preload_001.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(function_exists("f1")); diff --git a/ext/opcache/tests/preload_002.phpt b/ext/opcache/tests/preload_002.phpt index 18fe56d4ba..0115ff0564 100644 --- a/ext/opcache/tests/preload_002.phpt +++ b/ext/opcache/tests/preload_002.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump((new ReflectionMethod('x', 'foo'))->getPrototype()->class); diff --git a/ext/opcache/tests/preload_003.phpt b/ext/opcache/tests/preload_003.phpt index b808387967..9ecec31aae 100644 --- a/ext/opcache/tests/preload_003.phpt +++ b/ext/opcache/tests/preload_003.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php Y::foo(); diff --git a/ext/opcache/tests/preload_004.phpt b/ext/opcache/tests/preload_004.phpt index 7242d071cb..be83c45369 100644 --- a/ext/opcache/tests/preload_004.phpt +++ b/ext/opcache/tests/preload_004.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_undef_const.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(class_exists('Foo')); diff --git a/ext/opcache/tests/preload_005.phpt b/ext/opcache/tests/preload_005.phpt index 1bcfae4d79..67e44610bc 100644 --- a/ext/opcache/tests/preload_005.phpt +++ b/ext/opcache/tests/preload_005.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_globals.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php $x = 123; diff --git a/ext/opcache/tests/preload_006.phpt b/ext/opcache/tests/preload_006.phpt index b597d8eff8..76d9629774 100644 --- a/ext/opcache/tests/preload_006.phpt +++ b/ext/opcache/tests/preload_006.phpt @@ -8,6 +8,7 @@ opcache.preload={PWD}/preload_inheritance_error_ind.inc --SKIPIF-- <?php require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); if (getenv('SKIP_ASAN')) die('xfail Startup failure leak'); ?> --FILE-- diff --git a/ext/opcache/tests/preload_007.phpt b/ext/opcache/tests/preload_007.phpt index 2054cd8740..79c2a6737a 100644 --- a/ext/opcache/tests/preload_007.phpt +++ b/ext/opcache/tests/preload_007.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_include.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php echo "Foobar"; diff --git a/ext/opcache/tests/preload_008.phpt b/ext/opcache/tests/preload_008.phpt index 2e630be9a0..8d7b42cab5 100644 --- a/ext/opcache/tests/preload_008.phpt +++ b/ext/opcache/tests/preload_008.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(get_anon()); diff --git a/ext/opcache/tests/preload_009.phpt b/ext/opcache/tests/preload_009.phpt index 1adbf5b006..f3a28675e3 100644 --- a/ext/opcache/tests/preload_009.phpt +++ b/ext/opcache/tests/preload_009.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_undef_const_2.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(trait_exists('T')); diff --git a/ext/opcache/tests/preload_010.phpt b/ext/opcache/tests/preload_010.phpt index 80967f64a6..4e5121f23c 100644 --- a/ext/opcache/tests/preload_010.phpt +++ b/ext/opcache/tests/preload_010.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_overwritten_prop_init.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump((new Bar)->prop); diff --git a/ext/opcache/tests/preload_011.phpt b/ext/opcache/tests/preload_011.phpt index 32863398a9..59be0493b4 100644 --- a/ext/opcache/tests/preload_011.phpt +++ b/ext/opcache/tests/preload_011.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_variance_ind.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php interface K {} diff --git a/ext/opcache/tests/preload_012.phpt b/ext/opcache/tests/preload_012.phpt index 0883064ff4..bd3fd81bbd 100644 --- a/ext/opcache/tests/preload_012.phpt +++ b/ext/opcache/tests/preload_012.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_const_autoload.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- ===DONE=== --EXPECTF-- diff --git a/ext/opcache/tests/preload_013.phpt b/ext/opcache/tests/preload_013.phpt index f6387c08e1..925a1fc5ef 100644 --- a/ext/opcache/tests/preload_013.phpt +++ b/ext/opcache/tests/preload_013.phpt @@ -7,7 +7,10 @@ opcache.optimization_level=-1 opcache.preload={PWD}/preload_nested_function.inc opcache.interned_strings_buffer=0 --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php test(); diff --git a/ext/opcache/tests/preload_class_alias.phpt b/ext/opcache/tests/preload_class_alias.phpt index aee94426d0..3c615c409a 100644 --- a/ext/opcache/tests/preload_class_alias.phpt +++ b/ext/opcache/tests/preload_class_alias.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_class_alias.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(class_exists('A')); diff --git a/ext/opcache/tests/preload_class_alias_2.phpt b/ext/opcache/tests/preload_class_alias_2.phpt index 6dc2c21a8a..82167afa9b 100644 --- a/ext/opcache/tests/preload_class_alias_2.phpt +++ b/ext/opcache/tests/preload_class_alias_2.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_class_alias_2.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(class_exists('B')); diff --git a/ext/opcache/tests/preload_loadable_classes_1.phpt b/ext/opcache/tests/preload_loadable_classes_1.phpt index 8673814403..c89633343c 100644 --- a/ext/opcache/tests/preload_loadable_classes_1.phpt +++ b/ext/opcache/tests/preload_loadable_classes_1.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_loadable_classes_1.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php var_dump(class_exists('Test')); diff --git a/ext/opcache/tests/preload_loadable_classes_2.phpt b/ext/opcache/tests/preload_loadable_classes_2.phpt index fc3fb1dc40..d561837bd0 100644 --- a/ext/opcache/tests/preload_loadable_classes_2.phpt +++ b/ext/opcache/tests/preload_loadable_classes_2.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_loadable_classes_2.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- Unreachable --EXPECTF-- diff --git a/ext/opcache/tests/preload_loadable_classes_3.phpt b/ext/opcache/tests/preload_loadable_classes_3.phpt index a48692960a..78efb16804 100644 --- a/ext/opcache/tests/preload_loadable_classes_3.phpt +++ b/ext/opcache/tests/preload_loadable_classes_3.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_loadable_classes_3.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- Unreachable --EXPECTF-- diff --git a/ext/opcache/tests/preload_loadable_classes_4.inc b/ext/opcache/tests/preload_loadable_classes_4.inc deleted file mode 100644 index 162de6eab2..0000000000 --- a/ext/opcache/tests/preload_loadable_classes_4.inc +++ /dev/null @@ -1,3 +0,0 @@ -<?php - -class Test extends Exception {} diff --git a/ext/opcache/tests/preload_loadable_classes_4.phpt b/ext/opcache/tests/preload_loadable_classes_4.phpt deleted file mode 100644 index 07f0d094ce..0000000000 --- a/ext/opcache/tests/preload_loadable_classes_4.phpt +++ /dev/null @@ -1,16 +0,0 @@ ---TEST-- -Preloading: Loadable class checking (4) ---INI-- -opcache.enable=1 -opcache.enable_cli=1 -opcache.optimization_level=-1 -opcache.preload={PWD}/preload_loadable_classes_4.inc ---SKIPIF-- -<?php -require_once('skipif.inc'); -if (PHP_OS_FAMILY != 'Windows') die('skip Windows only'); -?> ---FILE-- -Unreachable ---EXPECTF-- -Fatal error: Class Test uses internal class Exception during preloading, which is not supported on Windows in Unknown on line 0 diff --git a/ext/opcache/tests/preload_trait_static.phpt b/ext/opcache/tests/preload_trait_static.phpt index 55e3a2cd8a..c767ad6a9b 100644 --- a/ext/opcache/tests/preload_trait_static.phpt +++ b/ext/opcache/tests/preload_trait_static.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_trait_static.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- <?php $bar = new Bar; diff --git a/ext/opcache/tests/preload_unresolved_prop_type.phpt b/ext/opcache/tests/preload_unresolved_prop_type.phpt index 117f36692a..3e2accd19e 100644 --- a/ext/opcache/tests/preload_unresolved_prop_type.phpt +++ b/ext/opcache/tests/preload_unresolved_prop_type.phpt @@ -6,7 +6,10 @@ opcache.enable_cli=1 opcache.optimization_level=-1 opcache.preload={PWD}/preload_unresolved_prop_type.inc --SKIPIF-- -<?php require_once('skipif.inc'); ?> +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY == 'Windows') die('skip Preloading is not supported on Windows'); +?> --FILE-- ===DONE=== --EXPECTF-- diff --git a/ext/opcache/tests/preload_windows.phpt b/ext/opcache/tests/preload_windows.phpt new file mode 100644 index 0000000000..0414cfa0b5 --- /dev/null +++ b/ext/opcache/tests/preload_windows.phpt @@ -0,0 +1,16 @@ +--TEST-- +Preloading is not supported on Windows +--INI-- +opcache.enable=1 +opcache.enable_cli=1 +opcache.optimization_level=-1 +opcache.preload={PWD}/preload.inc +--SKIPIF-- +<?php +require_once('skipif.inc'); +if (PHP_OS_FAMILY != 'Windows') die('skip Windows only test'); +?> +--FILE-- +Unreachable +--EXPECTF-- +%s: Error Preloading is not supported on Windows |
