Commit 13b38ead authored by Dries's avatar Dries

- Patch #407294 by Litrik: provide hooks to allow other modules to listen to...

- Patch #407294 by Litrik: provide hooks to allow other modules to listen to SimpleTest results.  Java-lamp, here I come!
parent d4a70742
<?php
// $Id$
/**
* @file
* Hooks provided by the SimpleTest module.
*/
/**
* @addtogroup hooks
* @{
*/
/**
* A test group has started.
*
* This hook is called just once at the beginning of a test group.
*
* @return
* None.
*
*/
function hook_test_group_started() {
}
/**
* A test group has finished.
*
* This hook is called just once at the end of a test group.
*
* @return
* None.
*
*/
function hook_test_group_finished() {
}
/**
* An individual test has finished.
*
* This hook is called when an individual test has finished.
*
* @param
* $results The results of the test as gathered by DrupalWebTestCase.
*
* @return
* None.
*
* @see DrupalWebTestCase->results
*/
function hook_test_finished($results) {
}
/**
* @} End of "addtogroup hooks".
*/
......@@ -127,6 +127,9 @@ function simpletest_run_tests($test_list, $reporter = 'drupal') {
'init_message' => t('Processing test @num of @max - %test.', array('%test' => $info['name'], '@num' => '1', '@max' => count($test_list))),
);
batch_set($batch);
module_invoke_all('test_group_started');
// Normally, the forms portion of the batch API takes care of calling
// batch_process(), but in the process it saves the whole $form into the
// database (which is huge for the test selection form).
......@@ -164,6 +167,8 @@ function _simpletest_batch_operation($test_list_init, $test_id, &$context) {
$size = count($test_list);
$info = $test->getInfo();
module_invoke_all('test_finished', $test->results);
// Gather results and compose the report.
$test_results[$test_class] = $test->results;
foreach ($test_results[$test_class] as $key => $value) {
......@@ -195,6 +200,7 @@ function _simpletest_batch_finished($success, $results, $operations, $elapsed) {
else {
drupal_set_message(t('The tests did not successfully finish.'), 'error');
}
module_invoke_all('test_group_finished');
}
/**
......
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