function DBLogTestCase::verifyCron
Verifies that cron correctly applies the database log row limit.
Parameters
int $row_limit: The row limit.
1 call to DBLogTestCase::verifyCron()
- DBLogTestCase::testDBLog in modules/
dblog/ dblog.test - Tests Database Logging module functionality through interfaces.
File
-
modules/
dblog/ dblog.test, line 124
Class
- DBLogTestCase
- Tests logging messages to the database.
Code
private function verifyCron($row_limit) {
// Generate additional log entries.
$this->generateLogEntries($row_limit + 10);
// Verify that the database log row count exceeds the row limit.
$count = db_query('SELECT COUNT(wid) FROM {watchdog}')->fetchField();
$this->assertTrue($count > $row_limit, format_string('Dblog row count of @count exceeds row limit of @limit', array(
'@count' => $count,
'@limit' => $row_limit,
)));
// Get last ID to compare against; log entries get deleted, so we can't
// reliably add the number of newly created log entries to the current count
// to measure number of log entries created by cron.
$last_id = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField();
// Run a cron job.
$this->cronRun();
// Get last ID after cron was run.
$current_id = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField();
// Only one final "cron is finished" message should be logged.
$this->assertEqual($current_id - $last_id, 1, format_string('Cron added @count of @expected new log entries', array(
'@count' => $current_id - $last_id,
'@expected' => 1,
)));
// Test enabling of detailed cron logging.
// Get the number of enabled modules. Cron adds a log entry for each module.
$module_count = count(module_implements('cron'));
variable_set('cron_detailed_logging', 1);
$last_id = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField();
$this->cronRun();
$current_id = db_query('SELECT MAX(wid) FROM {watchdog}')->fetchField();
// The number of log entries created.
$this->assertEqual($current_id - $last_id, $module_count + 2, format_string('Cron added @count of @expected new log entries', array(
'@count' => $current_id - $last_id,
'@expected' => $module_count + 2,
)));
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.