#602958 by chx: Added API function to SimpleTest to run cron, avoiding fatal errors.

merge-requests/26/head
Angie Byron 2009-10-13 05:37:46 +00:00
parent 89d04ea78a
commit 1d09ec33bd
5 changed files with 16 additions and 9 deletions

View File

@ -4098,9 +4098,12 @@ function drupal_page_set_cache() {
}
/**
* Executes a cron run when called
* Executes a cron run when called.
*
* Do not call this function from test, use $this->cronRun() instead.
*
* @return
* Returns TRUE if ran successfully
* Returns TRUE if ran successfully
*/
function drupal_cron_run() {
// Allow execution to continue even if the request gets canceled.

View File

@ -499,7 +499,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
// Invoke search index update.
$this->drupalLogout();
$this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
$this->cronRun();
// Search for $title.
$edit = array(
@ -521,7 +521,7 @@ class SearchCommentTestCase extends DrupalWebTestCase {
// Invoke search index update.
$this->drupalLogout();
$this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
$this->cronRun();
// Search for $title.
$this->drupalPost('', $edit, t('Search'));

View File

@ -1499,6 +1499,13 @@ class DrupalWebTestCase extends DrupalTestCase {
}
}
/**
* Runs cron in the Drupal installed by Simpletest.
*/
protected function cronRun() {
$this->drupalGet($GLOBALS['base_url'] . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => variable_get('cron_key', 'drupal'))));
}
/**
* Check for meta refresh tag and if found call drupalGet() recursively. This
* function looks for the http-equiv attribute to be set to "Refresh"

View File

@ -386,9 +386,6 @@ class CronRunTestCase extends DrupalWebTestCase {
$key = variable_get('cron_key', 'drupal');
$this->drupalGet($base_url . '/cron.php', array('external' => TRUE, 'query' => array('cron_key' => $key)));
$this->assertResponse(200);
// Execute cron directly.
$this->assertTrue(drupal_cron_run(), t('Cron ran successfully.'));
}
/**
@ -475,7 +472,7 @@ class CronRunTestCase extends DrupalWebTestCase {
$this->assertTrue(file_exists($perm_new->uri), t('New permanent file was created correctly.'));
// Run cron and then ensure that only the old, temp file was deleted.
$this->assertTrue(drupal_cron_run(), t('Cron ran successfully.'));
$this->cronRun();
$this->assertFalse(file_exists($temp_old->uri), t('Old temp file was correctly removed.'));
$this->assertTrue(file_exists($temp_new->uri), t('New temp file was correctly ignored.'));
$this->assertTrue(file_exists($perm_old->uri), t('Old permanent file was correctly ignored.'));

View File

@ -165,7 +165,7 @@ class TriggerCronTestCase extends DrupalWebTestCase {
$this->drupalPost('admin/structure/trigger/system', $edit, t('Assign'));
// Force a cron run.
drupal_cron_run();
$this->cronRun();
// Make sure the non-configurable action has fired.
$action_run = variable_get('trigger_test_system_cron_action', FALSE);