Tests: Remove nested empty directories in WP_UnitTestCase_Base::rmdir().

Includes:
* Checking if the directory exists and returning early otherwise.
* Removing a redundant `rmdir()` call in `clean_dirsize_cache()` tests.

Follow-up to [49744], [54300].

See #55652.

git-svn-id: https://develop.svn.wordpress.org/trunk@54303 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2022-09-25 03:38:13 +00:00
parent 5f5978f606
commit e7b4945e9d
2 changed files with 9 additions and 4 deletions

View File

@ -1355,6 +1355,10 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Adapter_TestCase {
* @param string $path Directory path.
*/
public function rmdir( $path ) {
if ( ! is_dir( $path ) ) {
return;
}
$files = $this->files_in_dir( $path );
foreach ( $files as $file ) {
if ( ! in_array( $file, self::$ignore_files, true ) ) {
@ -1362,9 +1366,12 @@ abstract class WP_UnitTestCase_Base extends PHPUnit_Adapter_TestCase {
}
}
// If there were no ignored files, remove the empty directory.
/*
* If there were no ignored files, remove the empty directory.
* If there are any nested empty directories, remove them too.
*/
if ( ! array_intersect( $files, self::$ignore_files ) ) {
rmdir( $path );
$this->delete_folders( $path );
}
}

View File

@ -295,8 +295,6 @@ if ( is_multisite() ) :
// Cleanup.
$this->remove_added_uploads();
rmdir( $upload_dir['basedir'] . '/2/1' );
restore_current_blog();
}