Index: modules/simpletest/simpletest.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/simpletest/simpletest.install,v
retrieving revision 1.17
diff -u -r1.17 simpletest.install
--- modules/simpletest/simpletest.install	29 Mar 2009 23:14:53 -0000	1.17
+++ modules/simpletest/simpletest.install	28 Apr 2009 02:25:20 -0000
@@ -28,18 +28,19 @@
     }
 
     // Copy other test files for consistency.
-    $files = file_scan_directory($path, '/(html|image|javascript|php|sql)-.*/');
-    if (count($files) == 0) {
-      $original = drupal_get_path('module', 'simpletest') . '/files';
-      $files = file_scan_directory($original, '/(html|image|javascript|php|sql)-.*/');
+    $original = drupal_get_path('module', 'simpletest') . '/files';
+    $files = file_scan_directory($original, '/(html|image|javascript|php|sql)-.*/');
+
+    // If there are more files in the original directory than the files directory, copy files.
+    if (count($files) > count(file_scan_directory($path, '/(html|image|javascript|php|sql)-.*/'))) {
       foreach ($files as $file) {
-        file_unmanaged_copy($file->filepath, $path);
+        file_unmanaged_copy($file->filepath, $path, FILE_EXISTS_REPLACE);
       }
       $generated = TRUE;
     }
 
     if ($generated) {
-      drupal_set_message('Extra test files generated.');
+      drupal_set_message('Extra test files generated/copied.');
     }
   }
 }
@@ -94,11 +95,22 @@
 function simpletest_uninstall() {
   simpletest_clean_environment();
 
+  // Remove settings variables.
   variable_del('simpletest_httpauth');
   variable_del('simpletest_httpauth_username');
   variable_del('simpletest_httpauth_pass');
   variable_del('simpletest_devel');
+
+  // Uninstall schema.
   drupal_uninstall_schema('simpletest');
+
+  // Remove generated files.
+  $path = file_directory_path() . '/simpletest';
+  $files = file_scan_directory($path, '/.*/');
+  foreach ($files as $file) {
+    file_unmanaged_delete($file->filepath);
+  }
+  rmdir($path);
 }
 
 /**
