function drush_acquia_spi_custom_test_validate in Acquia Connector 7.2
Same name and namespace in other branches
- 7.3 acquia_spi/acquia_spi.drush.inc \drush_acquia_spi_custom_test_validate()
A command callback and drush wrapper for custom test validation.
1 string reference to 'drush_acquia_spi_custom_test_validate'
- acquia_spi_drush_command in acquia_spi/
acquia_spi.drush.inc - Implements hook_drush_command().
File
- acquia_spi/
acquia_spi.drush.inc, line 97 - Drush integration for the acquia_spi module.
Code
function drush_acquia_spi_custom_test_validate() {
$pass = array();
$failure = array();
$modules = module_implements('acquia_spi_test');
drush_print_r(dt("Acquia SPI custom tests were detected in: @modules \n", array(
'@modules' => implode(', ', $modules),
)));
foreach (module_implements('acquia_spi_test') as $module) {
$function = $module . '_acquia_spi_test';
if (function_exists($function)) {
$result = acquia_spi_test_validate($function());
if (!$result['result']) {
$failure[] = $module;
drush_print_r(dt("[FAILED] Validation failed for '@module' and has been logged.", array(
'@module' => $module,
)));
$custom_data[$module] = $result;
foreach ($result['failure'] as $test_name => $test_failures) {
foreach ($test_failures as $test_param => $test_value) {
$variables = array(
'!module_name' => $module,
'@message' => $test_value['message'],
'!param_name' => $test_param,
'!test_name' => $test_name,
'!value' => $test_value['value'],
);
drush_print_r(dt("[DETAILS] @message for parameter '!param_name'; current value '!value'. (Test !test_name in module !module_name)", $variables));
watchdog('acquia spi test', "<em>Custom test validation failed</em>: @message for parameter '!param_name'; current value '!value'. (<em>Test '!test_name' in module '!module_name'</em>)", $variables);
}
}
}
else {
$pass[] = $module;
drush_print_r(dt("[PASSED] Validation passed for '@module.'", array(
'@module' => $module,
)));
}
}
drush_print_r("");
}
$message = 'Validation checks completed.';
if (count($pass) > 0) {
$variables['@passes'] = implode(', ', $pass);
$variables['@pass_count'] = count($pass);
$message .= "\n@pass_count module(s) passed validation: @passes.";
}
if (count($failure) > 0) {
$variables['@failures'] = implode(', ', $failure);
$variables['@fail_count'] = count($failure);
$message .= "\n@fail_count module(s) failed validation: @failures.";
}
drush_print_r(dt($message, $variables));
}