mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-08-11 12:20:22 +00:00
Build/Test Tools: Add sys_get_temp_dir() to open_basedir tests.
In PHPUnit 10.3.5, 9.6.13 and 8.5.34, the child processes used for process isolation now use temporary files to communicate their result to the parent process. This caused a failure in some tests that set the `open_basedir` PHP directive to a value that did not include `sys_get_temp_dir()`. This adds `sys_get_temp_dir()` to the `open_basedir` value set by the tests to ensure that permission is still granted for the temporary directory. PHPUnit uses `sys_get_temp_dir()`. To ensure the result is the same, Core's `get_temp_dir()` function is not used. References: - https://github.com/sebastianbergmann/phpunit/issues/5356 Props desrosj, mukesh27, SergeyBiryukov, costdev. Fixes #59394. git-svn-id: https://develop.svn.wordpress.org/trunk@56622 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -610,7 +610,7 @@ class Tests_Admin_WpAutomaticUpdater extends WP_UnitTestCase {
|
||||
|
||||
$open_basedir_backup = ini_get( 'open_basedir' );
|
||||
// Allow access to the directory one level above the repository.
|
||||
ini_set( 'open_basedir', wp_normalize_path( $abspath_grandparent ) );
|
||||
ini_set( 'open_basedir', sys_get_temp_dir() . PATH_SEPARATOR . wp_normalize_path( $abspath_grandparent ) );
|
||||
|
||||
// Checking an allowed directory should succeed.
|
||||
$actual = self::$updater->is_allowed_dir( wp_normalize_path( ABSPATH ) );
|
||||
@@ -645,7 +645,7 @@ class Tests_Admin_WpAutomaticUpdater extends WP_UnitTestCase {
|
||||
|
||||
$open_basedir_backup = ini_get( 'open_basedir' );
|
||||
// Allow access to the directory one level above the repository.
|
||||
ini_set( 'open_basedir', wp_normalize_path( $abspath_grandparent ) );
|
||||
ini_set( 'open_basedir', sys_get_temp_dir() . PATH_SEPARATOR . wp_normalize_path( $abspath_grandparent ) );
|
||||
|
||||
// Checking a directory not within the allowed path should trigger an `open_basedir` warning.
|
||||
$actual = self::$updater->is_allowed_dir( '/.git' );
|
||||
|
||||
Reference in New Issue
Block a user