From ac90e9c989294b252909e1eeff7f2567fb1ba8a8 Mon Sep 17 00:00:00 2001 From: Derick Rethans <derick@php.net> Date: Tue, 6 Dec 2011 05:44:54 +0000 Subject: [PATCH] This changes adds the --EXTENSION-- section to .phpt files as described in http://marc.info/?t=132248616300007&r=1&w=2. --- run-tests.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/run-tests.php b/run-tests.php index 3fba338dca791..3e22a9556ec0b 100755 --- a/run-tests.php +++ b/run-tests.php @@ -1246,7 +1246,7 @@ function run_test($php, $file, $env) } // Match the beginning of a section. - if (preg_match(b'/^--([_A-Z]+)--/', $line, $r)) { + if (preg_match('/^--([_A-Z]+)--/', $line, $r)) { $section = $r[1]; settype($section, 'string'); @@ -1483,6 +1483,18 @@ function run_test($php, $file, $env) settings2array(preg_split( "/[\n\r]+/", $section_text['INI']), $ini_settings); } + // Additional required extensions + if (array_key_exists('EXTENSIONS', $section_text)) { + $ext_dir=`$php -r 'echo ini_get("extension_dir");'`; + $extensions = preg_split("/[\n\r]+/", trim($section_text['EXTENSIONS'])); + $loaded = explode(",", `$php -n -r 'echo join(",", get_loaded_extensions());'`); + foreach ($extensions as $req_ext) { + if (!in_array($req_ext, $loaded)) { + $ini_settings['extension'][] = $ext_dir . DIRECTORY_SEPARATOR . $req_ext . '.' . PHP_SHLIB_SUFFIX; + } + } + } + settings2params($ini_settings); // Check if test should be skipped.