public function TestBase::errorHandler in SimpleTest 8.3
Handle errors during test runs.
Because this is registered in set_error_handler(), it has to be public.
See also
set_error_handler
File
- src/
TestBase.php, line 1302
Class
- TestBase
- Base class for Drupal tests.
Namespace
Drupal\simpletestCode
public function errorHandler($severity, $message, $file = NULL, $line = NULL) {
if ($severity & error_reporting()) {
$error_map = [
E_STRICT => 'Run-time notice',
E_WARNING => 'Warning',
E_NOTICE => 'Notice',
E_CORE_ERROR => 'Core error',
E_CORE_WARNING => 'Core warning',
E_USER_ERROR => 'User error',
E_USER_WARNING => 'User warning',
E_USER_NOTICE => 'User notice',
E_RECOVERABLE_ERROR => 'Recoverable error',
E_DEPRECATED => 'Deprecated',
E_USER_DEPRECATED => 'User deprecated',
];
$backtrace = debug_backtrace();
// Add verbose backtrace for errors, but not for debug() messages.
if ($severity !== E_USER_NOTICE) {
$verbose_backtrace = $backtrace;
array_shift($verbose_backtrace);
$message .= '<pre class="backtrace">' . Error::formatBacktrace($verbose_backtrace) . '</pre>';
}
$this
->error($message, $error_map[$severity], Error::getLastCaller($backtrace));
}
return TRUE;
}