- 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).
$schema = drupal_get_schema(NULL, TRUE);
$ret = array();
foreach ($schema as $name => $table) {
db_drop_table($name);
}

View File

@ -6,28 +6,6 @@
* 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().
*
@ -174,3 +152,20 @@ function simpletest_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);
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('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 {
// 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
// in an array keyed with the group specified in the test information.
$groups = array();
foreach ($classes as $class) {
$class = $class->name;
// Test classes need to implement getInfo() to be valid.
if (class_exists($class) && method_exists($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.'));
}
}