From 67fb78ce12a11e87bb75e911597f4e70efb934c1 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Tue, 7 Jul 2009 07:52:32 +0000
Subject: [PATCH] - Patch #512104 by boombatower: simpletest breaks high volume
 sites.

---
 modules/simpletest/drupal_web_test_case.php | 2 +-
 modules/simpletest/simpletest.module        | 7 ++++---
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/modules/simpletest/drupal_web_test_case.php b/modules/simpletest/drupal_web_test_case.php
index 302a2e86f7e4..e48765334abf 100644
--- a/modules/simpletest/drupal_web_test_case.php
+++ b/modules/simpletest/drupal_web_test_case.php
@@ -1076,7 +1076,7 @@ protected function setUp() {
     variable_set('smtp_library', drupal_get_path('module', 'simpletest') . '/drupal_web_test_case.php');
 
     // Use temporary files directory with the same prefix as database.
-    variable_set('file_directory_path', $this->originalFileDirectory . '/' . $db_prefix);
+    variable_set('file_directory_path', $this->originalFileDirectory . '/simpletest/' . substr($db_prefix, 10));
     $directory = file_directory_path();
     // Create the files directory.
     file_check_directory($directory, FILE_CREATE_DIRECTORY | FILE_MODIFY_PERMISSIONS);
diff --git a/modules/simpletest/simpletest.module b/modules/simpletest/simpletest.module
index 496434fe1785..717474912f70 100644
--- a/modules/simpletest/simpletest.module
+++ b/modules/simpletest/simpletest.module
@@ -360,11 +360,12 @@ function simpletest_clean_database() {
  * Find all leftover temporary directories and remove them.
  */
 function simpletest_clean_temporary_directories() {
-  $files = scandir(file_directory_path());
+  $directory = file_directory_path() . '/simpletest';
+  $files = scandir($directory);
   $count = 0;
   foreach ($files as $file) {
-    $path = file_directory_path() . '/' . $file;
-    if (is_dir($path) && preg_match('/^simpletest\d+/', $file)) {
+    $path = "$directory/$file";
+    if (is_dir($path) && is_numeric($file)) {
       file_unmanaged_delete_recursive($path);
       $count++;
     }
-- 
GitLab