- Patch #968476 by Dave Reid: use proper API for removing directory on uninstall.

merge-requests/26/head
Dries Buytaert 2010-11-12 03:06:52 +00:00
parent bf4d7279e9
commit a3daea1f8a
4 changed files with 18 additions and 27 deletions

View File

@ -1364,7 +1364,6 @@ class DrupalWebTestCase extends DrupalTestCase {
// Remove all prefixed tables (all the tables in the schema). // Remove all prefixed tables (all the tables in the schema).
$schema = drupal_get_schema(NULL, TRUE); $schema = drupal_get_schema(NULL, TRUE);
$ret = array();
foreach ($schema as $name => $table) { foreach ($schema as $name => $table) {
db_drop_table($name); db_drop_table($name);
} }

View File

@ -6,28 +6,6 @@
* Install, update and uninstall functions for the simpletest module. * Install, update and uninstall functions for the simpletest module.
*/ */
/**
* Implements hook_uninstall().
*/
function simpletest_uninstall() {
simpletest_clean_environment();
// Remove settings variables.
variable_del('simpletest_httpauth_method');
variable_del('simpletest_httpauth_username');
variable_del('simpletest_httpauth_password');
variable_del('simpletest_clear_results');
variable_del('simpletest_verbose');
// Remove generated files.
$path = 'public://simpletest';
$files = file_scan_directory($path, '/.*/');
foreach ($files as $file) {
file_unmanaged_delete($file->uri);
}
drupal_rmdir($path);
}
/** /**
* Implements hook_requirements(). * Implements hook_requirements().
* *
@ -174,3 +152,20 @@ function simpletest_schema() {
); );
return $schema; return $schema;
} }
/**
* Implements hook_uninstall().
*/
function simpletest_uninstall() {
simpletest_clean_environment();
// Remove settings variables.
variable_del('simpletest_httpauth_method');
variable_del('simpletest_httpauth_username');
variable_del('simpletest_httpauth_password');
variable_del('simpletest_clear_results');
variable_del('simpletest_verbose');
// Remove generated files.
file_unmanaged_delete_recursive('public://simpletest');
}

View File

@ -219,7 +219,6 @@ function _simpletest_batch_finished($success, $results, $operations, $elapsed) {
list($last_prefix, $last_test_class) = simpletest_last_test_get($test_id); list($last_prefix, $last_test_class) = simpletest_last_test_get($test_id);
simpletest_log_read($test_id, $last_prefix, $last_test_class); simpletest_log_read($test_id, $last_prefix, $last_test_class);
drupal_set_message(t('The test run did not successfully finish.'), 'error'); drupal_set_message(t('The test run did not successfully finish.'), 'error');
drupal_set_message(t('Use the <em>Clean environment</em> button to clean-up temporary files and tables.'), 'warning'); drupal_set_message(t('Use the <em>Clean environment</em> button to clean-up temporary files and tables.'), 'warning');
} }
@ -318,13 +317,12 @@ function simpletest_test_get_all() {
} }
else { else {
// Select all clases in files ending with .test. // Select all clases in files ending with .test.
$classes = db_query("SELECT name FROM {registry} WHERE type = :type AND filename LIKE :name", array(':type' => 'class', ':name' => '%.test')); $classes = db_query("SELECT name FROM {registry} WHERE type = :type AND filename LIKE :name", array(':type' => 'class', ':name' => '%.test'))->fetchCol();
// Check that each class has a getInfo() method and store the information // Check that each class has a getInfo() method and store the information
// in an array keyed with the group specified in the test information. // in an array keyed with the group specified in the test information.
$groups = array(); $groups = array();
foreach ($classes as $class) { foreach ($classes as $class) {
$class = $class->name;
// Test classes need to implement getInfo() to be valid. // Test classes need to implement getInfo() to be valid.
if (class_exists($class) && method_exists($class, 'getInfo')) { if (class_exists($class) && method_exists($class, 'getInfo')) {
$info = call_user_func(array($class, 'getInfo')); $info = call_user_func(array($class, 'getInfo'));

View File

@ -497,4 +497,3 @@ class SimpleTestMissingDependentModuleUnitTest extends DrupalUnitTestCase {
$this->fail(t('Running test with missing required module.')); $this->fail(t('Running test with missing required module.'));
} }
} }