@@ -2067,9 +2067,6 @@ function run_test(string $php, $file, array $env): string
2067
2067
// Make sure warnings still show up on the second run.
2068
2068
$ ini_settings ['opcache.record_warnings ' ] = '1 ' ;
2069
2069
}
2070
- if (extension_loaded ('posix ' ) && posix_getuid () === 0 ) {
2071
- $ ini_settings ['opcache.preload_user ' ] = 'root ' ;
2072
- }
2073
2070
2074
2071
// Any special ini settings
2075
2072
// these may overwrite the test defaults...
@@ -2078,6 +2075,19 @@ function run_test(string $php, $file, array $env): string
2078
2075
$ ini = str_replace ('{TMP} ' , sys_get_temp_dir (), $ ini );
2079
2076
$ replacement = IS_WINDOWS ? '" ' . PHP_BINARY . ' -r \"while ($in = fgets(STDIN)) echo $in;\" > $1" ' : 'tee $1 >/dev/null ' ;
2080
2077
$ ini = preg_replace ('/{MAIL:(\S+)}/ ' , $ replacement , $ ini );
2078
+ $ skip = false ;
2079
+ $ ini = preg_replace_callback ('/{ENV:(\S+)}/ ' , function ($ m ) use (&$ skip ) {
2080
+ $ name = $ m [1 ];
2081
+ $ value = getenv ($ name );
2082
+ if ($ value === false ) {
2083
+ $ skip = sprintf ('Environment variable %s is not set ' , $ name );
2084
+ return '' ;
2085
+ }
2086
+ return $ value ;
2087
+ }, $ ini );
2088
+ if ($ skip !== false ) {
2089
+ return skip_test ($ tested , $ tested_file , $ shortname , $ skip );
2090
+ }
2081
2091
settings2array (preg_split ("/[ \n\r]+/ " , $ ini ), $ ini_settings );
2082
2092
2083
2093
if ($ num_repeats > 1 && isset ($ ini_settings ['opcache.opt_debug_level ' ])) {
0 commit comments