diff --git a/ext/sodium/tests/bug78114.phpt b/ext/sodium/tests/bug78114.phpt index 6d7df4348faa9..b988c09ec23f8 100644 --- a/ext/sodium/tests/bug78114.phpt +++ b/ext/sodium/tests/bug78114.phpt @@ -1,9 +1,7 @@ --TEST-- Bug #78114 (segfault when calling sodium_* functions from eval) ---SKIPIF-- - +--EXTENSIONS-- +sodium --FILE-- --FILE-- diff --git a/ext/sodium/tests/crypto_aead.phpt b/ext/sodium/tests/crypto_aead.phpt index a54a1c7dc6758..0da84194bbcdf 100644 --- a/ext/sodium/tests/crypto_aead.phpt +++ b/ext/sodium/tests/crypto_aead.phpt @@ -1,8 +1,9 @@ --TEST-- Check for libsodium AEAD +--EXTENSIONS-- +sodium --SKIPIF-- --FILE-- diff --git a/ext/sodium/tests/crypto_auth.phpt b/ext/sodium/tests/crypto_auth.phpt index 58d8350078b36..8f262414beb80 100644 --- a/ext/sodium/tests/crypto_auth.phpt +++ b/ext/sodium/tests/crypto_auth.phpt @@ -1,7 +1,7 @@ --TEST-- Check for libsodium auth ---SKIPIF-- - +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- --FILE-- diff --git a/ext/sodium/tests/crypto_shorthash.phpt b/ext/sodium/tests/crypto_shorthash.phpt index 68bffc823b00b..c5cc2334a68a2 100644 --- a/ext/sodium/tests/crypto_shorthash.phpt +++ b/ext/sodium/tests/crypto_shorthash.phpt @@ -1,7 +1,7 @@ --TEST-- Check for libsodium shorthash ---SKIPIF-- - +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- --FILE-- --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- +--EXTENSIONS-- +sodium --FILE-- = 5; diff --git a/run-tests.php b/run-tests.php index 825718407c2c1..ad1311bb8d12c 100755 --- a/run-tests.php +++ b/run-tests.php @@ -2057,15 +2057,26 @@ function run_test(string $php, $file, array $env): string $extensions = preg_split("/[\n\r]+/", trim($test->getSection('EXTENSIONS'))); [$ext_dir, $loaded] = $skipCache->getExtensions("$php $pass_options $extra_options $ext_params $no_file_cache"); $ext_prefix = IS_WINDOWS ? "php_" : ""; + $missing = []; foreach ($extensions as $req_ext) { if (!in_array($req_ext, $loaded)) { if ($req_ext == 'opcache') { - $ini_settings['zend_extension'][] = $ext_dir . DIRECTORY_SEPARATOR . $ext_prefix . $req_ext . '.' . PHP_SHLIB_SUFFIX; + $ext_file = $ext_dir . DIRECTORY_SEPARATOR . $ext_prefix . $req_ext . '.' . PHP_SHLIB_SUFFIX; + $ini_settings['zend_extension'][] = $ext_file; } else { - $ini_settings['extension'][] = $ext_dir . DIRECTORY_SEPARATOR . $ext_prefix . $req_ext . '.' . PHP_SHLIB_SUFFIX; + $ext_file = $ext_dir . DIRECTORY_SEPARATOR . $ext_prefix . $req_ext . '.' . PHP_SHLIB_SUFFIX; + $ini_settings['extension'][] = $ext_file; + } + if (!is_readable($ext_file)) { + $missing[] = $req_ext; } } } + if ($missing) { + $message = 'Required extension' . (count($missing) > 1 ? 's' : '') + . ' missing: ' . implode(', ', $missing); + return skip_test($tested, $tested_file, $shortname, $message); + } } // additional ini overwrites diff --git a/tests/run-test/bug75042-2.phpt b/tests/run-test/bug75042-2.phpt deleted file mode 100644 index 2c5718a9a0211..0000000000000 --- a/tests/run-test/bug75042-2.phpt +++ /dev/null @@ -1,10 +0,0 @@ ---TEST-- -phpt EXTENSIONS directive with static module ---EXTENSIONS-- -SPL ---FILE-- - ---EXPECT-- -bool(true) diff --git a/tests/run-test/bug75042-3.phpt b/tests/run-test/bug75042-3.phpt deleted file mode 100644 index 5a30143be9d3a..0000000000000 --- a/tests/run-test/bug75042-3.phpt +++ /dev/null @@ -1,13 +0,0 @@ ---TEST-- -phpt EXTENSIONS directive with nonexistent shared module ---INI-- -error_log= -display_startup_errors=1 -display_errors=1 ---EXTENSIONS-- -nonexistentsharedmodule ---FILE-- - ---EXPECTF-- -Warning: PHP Startup: Unable to load dynamic library '%snonexistentsharedmodule.%s' %A diff --git a/tests/run-test/bug75042.phpt b/tests/run-test/extensions-shared.phpt similarity index 91% rename from tests/run-test/bug75042.phpt rename to tests/run-test/extensions-shared.phpt index a7979d6b5ed6e..e8d9b52aa98a9 100644 --- a/tests/run-test/bug75042.phpt +++ b/tests/run-test/extensions-shared.phpt @@ -1,5 +1,7 @@ --TEST-- -phpt EXTENSIONS directive with shared module +phpt EXTENSIONS directive - shared module +--EXTENSIONS-- +openssl --SKIPIF--