Commit 1d09ec33 authored by webchick's avatar webchick
Browse files

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

parent 89d04ea7
......@@ -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.
......
......@@ -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'));
......
......@@ -1499,6 +1499,13 @@ protected function drupalPost($path, $edit, $submit, array $options = array(), a
}
}
/**
* 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"
......
......@@ -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.'));
......
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment